diff options
Diffstat (limited to 'support/doc/docker.md')
-rw-r--r-- | support/doc/docker.md | 71 |
1 files changed, 40 insertions, 31 deletions
diff --git a/support/doc/docker.md b/support/doc/docker.md index ae2b0f9c0..410db1136 100644 --- a/support/doc/docker.md +++ b/support/doc/docker.md | |||
@@ -6,56 +6,65 @@ You can quickly get a server running using Docker. You need to have | |||
6 | 6 | ||
7 | ## Production | 7 | ## Production |
8 | 8 | ||
9 | ### Build your own Docker image | 9 | ### Install |
10 | |||
11 | ```bash | ||
12 | $ git clone https://github.com/chocobozzz/PeerTube /tmp/peertube | ||
13 | $ cd /tmp/peertube | ||
14 | $ docker build . -f ./support/docker/production/Dockerfile.stretch | ||
15 | ``` | ||
16 | |||
17 | ### Run a preconfigured setup with all dependencies | ||
18 | 10 | ||
19 | PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want | 11 | PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want |
20 | to quickly set up a full environment, either for trying the service or in | 12 | to quickly set up a full environment, either for trying the service or in |
21 | production, you can use a `docker-compose` setup. | 13 | production, you can use a `docker-compose` setup. |
22 | 14 | ||
23 | ```bash | 15 | ```bash |
24 | $ git clone https://github.com/chocobozzz/PeerTube /tmp/peertube | 16 | $ cd /your/peertube/directory |
25 | $ cd /tmp/peertube | 17 | $ mkdir ./docker-volume && mkdir ./docker-volume/traefik |
18 | $ curl "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/config/traefik.toml" > ./docker-volume/traefik/traefik.toml | ||
19 | $ touch ./docker-volume/traefik/acme.json && chmod 600 ./docker-volume/traefik/acme.json | ||
20 | $ curl -s "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml" > ./docker-compose.yml | ||
21 | ``` | ||
22 | |||
23 | Update the reverse proxy configuration: | ||
24 | |||
26 | ``` | 25 | ``` |
26 | $ vim ./docker-volume/traefik/traefik.toml | ||
27 | ``` | ||
28 | |||
29 | Tweak the `docker-compose.yml` file there according to your needs: | ||
27 | 30 | ||
28 | Then tweak the `docker-compose.yml` file there according to your needs. Then | 31 | ``` |
29 | you can use the regular `up` command to set it up, with possible overrides of | 32 | $ vim ./docker-compose.yaml |
33 | ``` | ||
34 | |||
35 | You can use the regular `up` command to set it up, with possible overrides of | ||
30 | the environment variables: | 36 | the environment variables: |
31 | 37 | ||
32 | ```bash | 38 | ```bash |
33 | $ PEERTUBE_WEBSERVER_HOSTNAME=peertube.lvh.me \ | 39 | $ PEERTUBE_WEBSERVER_HOSTNAME="domain.tld" docker-compose up |
34 | PEERTUBE_ADMIN_EMAIL=test@example.com \ | ||
35 | PEERTUBE_TRANSCODING_ENABLED=true \ | ||
36 | PEERTUBE_SIGNUP_ENABLED=true \ | ||
37 | PEERTUBE_SMTP_HOST=mail.lvh.me \ | ||
38 | PEERTUBE_SMTP_PORT=1025 \ | ||
39 | PEERTUBE_SMTP_FROM=noreply@peertube.lvh.me \ | ||
40 | docker-compose -f support/docker/production/docker-compose.yml --project-directory . up | ||
41 | ``` | 40 | ``` |
42 | 41 | ||
43 | Other environment variables are used in | 42 | Other environment variables are used in |
44 | `support/docker/production/config/custom-environment-variables.yaml` and can be | 43 | `support/docker/production/config/custom-environment-variables.yaml` and can be |
45 | intuited from usage. | 44 | intuited from usage. |
46 | 45 | ||
47 | For this example configuration, a reverse proxy is quite recommended. The | ||
48 | example Docker Compose file provides example labels for a Traefik load | ||
49 | balancer, although any HTTP reverse proxy will work fine. See the example | ||
50 | Nginx configuration `support/nginx/peertube` file to get an idea of | ||
51 | recommendations and requirements to run PeerTube the most efficiently. | ||
52 | |||
53 | **Important**: note that you'll get the initial `root` user password from the | 46 | **Important**: note that you'll get the initial `root` user password from the |
54 | program output, so check out your logs to find them. | 47 | program output, so check out your logs to find them. |
55 | 48 | ||
49 | ### Upgrade | ||
50 | |||
51 | Pull the latest images and rerun PeerTube: | ||
52 | |||
53 | ``` | ||
54 | $ docker-compose pull | ||
55 | $ PEERTUBE_WEBSERVER_HOSTNAME="domain.tld" docker-compose up | ||
56 | ``` | ||
57 | |||
58 | |||
59 | ## Build your own Docker image | ||
60 | |||
61 | ```bash | ||
62 | $ git clone https://github.com/chocobozzz/PeerTube /tmp/peertube | ||
63 | $ cd /tmp/peertube | ||
64 | $ docker build . -f ./support/docker/production/Dockerfile.stretch | ||
65 | ``` | ||
66 | |||
56 | ## Development | 67 | ## Development |
57 | 68 | ||
58 | The Docker image that's preconfigured in `support/docker/dev` contains all the | 69 | We don't have a Docker image for development. See [the CONTRIBUTING guide](https://github.com/Chocobozzz/PeerTube/blob/develop/.github/CONTRIBUTING.md#develop) |
59 | services embedded in one image, so as to work correctly on | 70 | for more information on how you can hack PeerTube! \ No newline at end of file |
60 | [Janitor](https://janitor.technology). It is much not advised to use it in | ||
61 | production. | ||