]>
Commit | Line | Data |
---|---|---|
e8395f02 | 1 | version: "3.3" |
2 | ||
3 | services: | |
e8395f02 | 4 | |
b44a9630 C |
5 | reverse-proxy: |
6 | image: traefik | |
7 | command: --api --docker # Enables the web UI and tells Træfik to listen to docker | |
8 | ports: | |
9 | - "80:80" # The HTTP port | |
10 | - "443:443" # The HTTPS port | |
11 | - "8080:8080" # The Web UI (enabled by --api) | |
12 | volumes: | |
13 | - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events | |
14 | - ./docker-volume/traefik/acme.json:/etc/acme.json | |
15 | - ./docker-volume/traefik/traefik.toml:/traefik.toml | |
16 | restart: "always" | |
17 | ||
ef48a0d5 | 18 | peertube: |
13a6b536 C |
19 | # If you don't want to use the official image and build one from sources |
20 | # build: | |
21 | # context: . | |
22 | # dockerfile: ./support/docker/production/Dockerfile.stretch | |
779f0000 | 23 | image: chocobozzz/peertube:production-stretch |
e8395f02 | 24 | environment: |
fd5e57bb C |
25 | PEERTUBE_WEBSERVER_HOSTNAME: my.domain.tld |
26 | PEERTUBE_WEBSERVER_PORT: 443 | |
27 | PEERTUBE_WEBSERVER_HTTPS: "true" | |
ef48a0d5 BB |
28 | PEERTUBE_DB_HOSTNAME: postgres |
29 | PEERTUBE_DB_USERNAME: postgres_user | |
30 | PEERTUBE_DB_PASSWORD: postgres_password | |
ef48a0d5 | 31 | PEERTUBE_REDIS_HOSTNAME: redis |
6401417d C |
32 | PEERTUBE_SMTP_USERNAME: null |
33 | PEERTUBE_SMTP_PASSWORD: null | |
95540ed2 | 34 | PEERTUBE_SMTP_HOSTNAME: null |
ef48a0d5 BB |
35 | PEERTUBE_SMTP_PORT: 25 |
36 | PEERTUBE_SMTP_FROM: noreply@peertube.domain.tld | |
37 | PEERTUBE_SMTP_TLS: "true" | |
18eb286e C |
38 | # /!\ Prefer to use the PeerTube admin interface to set the following configurations /!\ |
39 | # PEERTUBE_ADMIN_EMAIL: admin@domain.tld | |
40 | # PEERTUBE_SIGNUP_ENABLED: "true" | |
41 | # PEERTUBE_TRANSCODING_ENABLED: "true" | |
e8395f02 | 42 | # Traefik labels are suggested as an example for people using Traefik, |
43 | # remove them if you are using another reverse proxy. | |
44 | labels: | |
45 | traefik.enable: "true" | |
fd5e57bb | 46 | traefik.frontend.rule: "Host:${PEERTUBE_WEBSERVER_HOSTNAME}" |
e8395f02 | 47 | traefik.port: "9000" |
4aeb67a5 C |
48 | # If you don't want to use a reverse proxy (not suitable for production!) |
49 | # ports: | |
50 | # - "80:9000" | |
e8395f02 | 51 | volumes: |
fd5e57bb C |
52 | - ./docker-volume/data:/data |
53 | - ./docker-volume/config:/config | |
e8395f02 | 54 | depends_on: |
ef48a0d5 BB |
55 | - postgres |
56 | - redis | |
57 | restart: "always" | |
e8395f02 | 58 | |
ef48a0d5 | 59 | postgres: |
0c49373a | 60 | image: postgres:10-alpine |
e8395f02 | 61 | environment: |
ef48a0d5 BB |
62 | POSTGRES_USER: postgres_user |
63 | POSTGRES_PASSWORD: postgres_password | |
64 | POSTGRES_DB: peertube | |
e8395f02 | 65 | volumes: |
fd5e57bb | 66 | - ./docker-volume/db:/var/lib/postgresql/data |
ef48a0d5 | 67 | restart: "always" |
b44a9630 C |
68 | labels: |
69 | traefik.enable: "false" | |
ef48a0d5 BB |
70 | |
71 | redis: | |
0c49373a | 72 | image: redis:4-alpine |
ef48a0d5 | 73 | volumes: |
fd5e57bb | 74 | - ./docker-volume/redis:/data |
ef48a0d5 | 75 | restart: "always" |
b44a9630 C |
76 | labels: |
77 | traefik.enable: "false" |