aboutsummaryrefslogtreecommitdiffhomepage
path: root/support/doc
diff options
context:
space:
mode:
authorKim <1877318+kimsible@users.noreply.github.com>2020-02-24 15:30:14 +0100
committerGitHub <noreply@github.com>2020-02-24 15:30:14 +0100
commite962e1c3c52b77075ec7b46ed0984476684551ab (patch)
tree4c5afdba0862b8668763a7e26f7b2334ba9c323f /support/doc
parentf30736c8917e66ed8940dd664d75826dc5a2853b (diff)
downloadPeerTube-e962e1c3c52b77075ec7b46ed0984476684551ab.tar.gz
PeerTube-e962e1c3c52b77075ec7b46ed0984476684551ab.tar.zst
PeerTube-e962e1c3c52b77075ec7b46ed0984476684551ab.zip
Chore/docker-documentation-improvements (#2494)
* unify env_var names to replace * detail more and improve docker doc * fix title * move acme email and domains to traefik command * add details about TRAEFIK_ACME_* variables * Fix preview links from /develop to /master
Diffstat (limited to 'support/doc')
-rw-r--r--support/doc/docker.md88
1 files changed, 70 insertions, 18 deletions
diff --git a/support/doc/docker.md b/support/doc/docker.md
index b251329d0..2ee922b87 100644
--- a/support/doc/docker.md
+++ b/support/doc/docker.md
@@ -14,43 +14,95 @@ PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want
14to quickly set up a full environment, either for trying the service or in 14to quickly set up a full environment, either for trying the service or in
15production, you can use a `docker-compose` setup. 15production, you can use a `docker-compose` setup.
16 16
17#### Go to your peertube workdir
17```shell 18```shell
18$ cd /your/peertube/directory 19cd /your/peertube/directory
19$ mkdir ./docker-volume && mkdir ./docker-volume/traefik
20$ curl "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/config/traefik.toml" > ./docker-volume/traefik/traefik.toml
21$ touch ./docker-volume/traefik/acme.json && chmod 600 ./docker-volume/traefik/acme.json
22$ curl -s "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml" -o docker-compose.yml "https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env" -o .env
23``` 20```
24View the source of the files you're about to download: [docker-compose.yml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml) and the [traefik.toml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/traefik.toml) and the [.env](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/.env)
25 21
26Update the reverse proxy configuration: 22#### Create the reverse proxy configuration directory
27 23
28```shell 24```shell
29$ vim ./docker-volume/traefik/traefik.toml 25mkdir -p ./docker-volume/traefik
30``` 26```
31 27
32Tweak the `docker-compose.yml` file there according to your needs: 28#### Get the latest reverse proxy configuration
33 29
34```shell 30```shell
35$ vim ./docker-compose.yml 31curl https://raw.github.com/chocobozzz/PeerTube/master/support/docker/production/config/traefik.toml > ./docker-volume/traefik/traefik.toml
36``` 32```
37 33
38Then tweak the `.env` file to change the environment variables: 34View the source of the file you're about to download: [traefik.toml](https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/config/traefik.toml)
35
36#### Create Let's Encrypt ACME certificates as JSON file
39 37
40```shell 38```shell
41$ vim ./.env 39touch ./docker-volume/traefik/acme.json
42``` 40```
43If you did not download the .env file above, here you can look at the variables that can be set: 41Needs to have file mode 600:
44https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/.env 42```shell
43chmod 600 ./docker-volume/traefik/acme.json
44```
45
46#### Get the latest Compose file
47
48```shell
49curl https://raw.github.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml > docker-compose.yml
50```
51
52View the source of the file you're about to download: [docker-compose.yml](https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/docker-compose.yml)
53
54
55#### Get the latest env_file
56
57```shell
58curl https://raw.github.com/Chocobozzz/PeerTube/master/support/docker/production/.env > .env
59```
60
61View the source of the file you're about to download: [.env](https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/.env)
62
63#### Update the reverse proxy configuration
64
65```shell
66vim ./docker-volume/traefik/traefik.toml
67```
68
69~~You must replace `<MY EMAIL ADDRESS>` and `<MY DOMAIN>` to enable Let's Encrypt SSL Certificates creation.~~ Now included in `.env` file with `TRAEFIK_ACME_EMAIL` and `TRAEFIK_ACME_DOMAINS` variables used through traefik service command value of `docker-compose.yml` file.
70
71More at: https://docs.traefik.io/v1.7
72
73#### Tweak the `docker-compose.yml` file there according to your needs
74
75```shell
76vim ./docker-compose.yml
77```
78
79#### Then tweak the `.env` file to change the environment variables
80
81```shell
82vim ./.env
83```
84In the downloaded example [.env](https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/.env), you must replace:
85- `<MY POSTGRES USERNAME>`
86- `<MY POSTGRES PASSWORD>`
87- `<MY POSTGRES DB>`
88- `<MY DOMAIN>` without 'https://'
89- `<MY EMAIL ADDRESS>`
45 90
46Other environment variables are used in 91Other environment variables are used in
47`support/docker/production/config/custom-environment-variables.yaml` and can be 92[/support/docker/production/config/custom-environment-variables.yaml](https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/config/custom-environment-variables.yaml) and can be
48intuited from usage. 93intuited from usage.
49 94
50You can use the regular `up` command to set it up: 95#### Testing local Docker setup
96
97To test locally your Docker setup, you must add your domain (`<MY DOMAIN>`) in `/etc/hosts`:
98```
99127.0.0.1 localhost mydomain.tld
100```
101
102#### You can use the regular `up` command to set it up
51 103
52```shell 104```shell
53$ docker-compose up 105docker-compose up
54``` 106```
55### Obtaining Your Automatically Generated Admin Credentials 107### Obtaining Your Automatically Generated Admin Credentials
56Now that you've installed your PeerTube instance you'll want to grep your peertube container's logs for the `root` password. 108Now that you've installed your PeerTube instance you'll want to grep your peertube container's logs for the `root` password.
@@ -88,5 +140,5 @@ $ docker build . -f ./support/docker/production/Dockerfile.buster
88 140
89## Development 141## Development
90 142
91We don't have a Docker image for development. See [the CONTRIBUTING guide](https://github.com/Chocobozzz/PeerTube/blob/develop/.github/CONTRIBUTING.md#develop) 143We don't have a Docker image for development. See [the CONTRIBUTING guide](https://github.com/Chocobozzz/PeerTube/blob/master/.github/CONTRIBUTING.md#develop)
92for more information on how you can hack PeerTube! 144for more information on how you can hack PeerTube!