]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - support/doc/docker.md
support/doc/dependencies.md: Add Gentoo documentation
[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 does not support webserver host change**. Keep in mind your domain name is definitive after your first PeerTube start.
12
13 PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want
14 to quickly set up a full environment, either for trying the service or in
15 production, you can use a `docker-compose` setup.
16
17 ```shell
18 $ cd /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 ```
24
25 Update the reverse proxy configuration:
26
27 ```shell
28 $ vim ./docker-volume/traefik/traefik.toml
29 ```
30
31 Tweak the `docker-compose.yml` file there according to your needs:
32
33 ```shell
34 $ vim ./docker-compose.yml
35 ```
36
37 Then tweak the `.env` file to change the enviromnent variables:
38
39 ```shell
40 $ vim ./.env
41 ```
42
43 Other environment variables are used in
44 `support/docker/production/config/custom-environment-variables.yaml` and can be
45 intuited from usage.
46
47 You can use the regular `up` command to set it up:
48
49 ```shell
50 $ docker-compose up
51 ```
52
53 **Important**: note that you'll get the initial `root` user password from the
54 program output, so check out your logs to find them.
55
56 ### Upgrade
57
58 Pull the latest images and rerun PeerTube:
59
60 ```shell
61 $ cd /your/peertube/directory
62 $ docker-compose down
63 $ docker-compose pull
64 $ docker-compose up -d
65 ```
66
67
68 ## Build your own Docker image
69
70 ```shell
71 $ git clone https://github.com/chocobozzz/PeerTube /tmp/peertube
72 $ cd /tmp/peertube
73 $ docker build . -f ./support/docker/production/Dockerfile.stretch
74 ```
75
76 ## Development
77
78 We don't have a Docker image for development. See [the CONTRIBUTING guide](https://github.com/Chocobozzz/PeerTube/blob/develop/.github/CONTRIBUTING.md#develop)
79 for more information on how you can hack PeerTube!