]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - support/doc/docker.md
Improve docker doc and fix missing keys on update
[github/Chocobozzz/PeerTube.git] / support / doc / docker.md
1 # Docker guide
2
3 You can quickly get a server running using Docker. You need to have
4 [docker](https://www.docker.com/community-edition) and
5 [docker-compose](https://docs.docker.com/compose/install/) installed.
6
7 ## Production
8
9 ### Install
10
11 PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want
12 to quickly set up a full environment, either for trying the service or in
13 production, you can use a `docker-compose` setup.
14
15 ```bash
16 $ cd /your/peertube/directory
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
25 ```
26 $ vim ./docker-volume/traefik/traefik.toml
27 ```
28
29 Tweak the `docker-compose.yml` file there according to your needs:
30
31 ```
32 $ vim ./docker-compose.yaml
33 ```
34
35 You can use the regular `up` command to set it up, with possible overrides of
36 the environment variables:
37
38 ```bash
39 $ PEERTUBE_WEBSERVER_HOSTNAME="domain.tld" docker-compose up
40 ```
41
42 Other environment variables are used in
43 `support/docker/production/config/custom-environment-variables.yaml` and can be
44 intuited from usage.
45
46 **Important**: note that you'll get the initial `root` user password from the
47 program output, so check out your logs to find them.
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
67 ## Development
68
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)
70 for more information on how you can hack PeerTube!