aboutsummaryrefslogtreecommitdiffhomepage
path: root/support/doc/docker.md
diff options
context:
space:
mode:
Diffstat (limited to 'support/doc/docker.md')
-rw-r--r--support/doc/docker.md71
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
19PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want 11PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want
20to quickly set up a full environment, either for trying the service or in 12to quickly set up a full environment, either for trying the service or in
21production, you can use a `docker-compose` setup. 13production, 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
23Update the reverse proxy configuration:
24
26``` 25```
26$ vim ./docker-volume/traefik/traefik.toml
27```
28
29Tweak the `docker-compose.yml` file there according to your needs:
27 30
28Then tweak the `docker-compose.yml` file there according to your needs. Then 31```
29you can use the regular `up` command to set it up, with possible overrides of 32$ vim ./docker-compose.yaml
33```
34
35You can use the regular `up` command to set it up, with possible overrides of
30the environment variables: 36the 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
43Other environment variables are used in 42Other 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
45intuited from usage. 44intuited from usage.
46 45
47For this example configuration, a reverse proxy is quite recommended. The
48example Docker Compose file provides example labels for a Traefik load
49balancer, although any HTTP reverse proxy will work fine. See the example
50Nginx configuration `support/nginx/peertube` file to get an idea of
51recommendations 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
54program output, so check out your logs to find them. 47program output, so check out your logs to find them.
55 48
49### Upgrade
50
51Pull 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
58The Docker image that's preconfigured in `support/docker/dev` contains all the 69We don't have a Docker image for development. See [the CONTRIBUTING guide](https://github.com/Chocobozzz/PeerTube/blob/develop/.github/CONTRIBUTING.md#develop)
59services embedded in one image, so as to work correctly on 70for 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
61production.