]>
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" | |
e8395f02 | 28 | PEERTUBE_ADMIN_EMAIL: admin@domain.tld |
ef48a0d5 BB |
29 | PEERTUBE_DB_HOSTNAME: postgres |
30 | PEERTUBE_DB_USERNAME: postgres_user | |
31 | PEERTUBE_DB_PASSWORD: postgres_password | |
32 | PEERTUBE_SIGNUP_ENABLED: "true" | |
33 | PEERTUBE_TRANSCODING_ENABLED: "true" | |
34 | PEERTUBE_REDIS_HOSTNAME: redis | |
95540ed2 | 35 | PEERTUBE_SMTP_HOSTNAME: null |
ef48a0d5 BB |
36 | PEERTUBE_SMTP_PORT: 25 |
37 | PEERTUBE_SMTP_FROM: noreply@peertube.domain.tld | |
38 | PEERTUBE_SMTP_TLS: "true" | |
e8395f02 | 39 | # Traefik labels are suggested as an example for people using Traefik, |
40 | # remove them if you are using another reverse proxy. | |
41 | labels: | |
42 | traefik.enable: "true" | |
fd5e57bb | 43 | traefik.frontend.rule: "Host:${PEERTUBE_WEBSERVER_HOSTNAME}" |
e8395f02 | 44 | traefik.port: "9000" |
4aeb67a5 C |
45 | # If you don't want to use a reverse proxy (not suitable for production!) |
46 | # ports: | |
47 | # - "80:9000" | |
e8395f02 | 48 | volumes: |
fd5e57bb C |
49 | - ./docker-volume/data:/data |
50 | - ./docker-volume/config:/config | |
e8395f02 | 51 | depends_on: |
ef48a0d5 BB |
52 | - postgres |
53 | - redis | |
54 | restart: "always" | |
e8395f02 | 55 | |
ef48a0d5 | 56 | postgres: |
0c49373a | 57 | image: postgres:10-alpine |
e8395f02 | 58 | environment: |
ef48a0d5 BB |
59 | POSTGRES_USER: postgres_user |
60 | POSTGRES_PASSWORD: postgres_password | |
61 | POSTGRES_DB: peertube | |
e8395f02 | 62 | volumes: |
fd5e57bb | 63 | - ./docker-volume/db:/var/lib/postgresql/data |
ef48a0d5 | 64 | restart: "always" |
b44a9630 C |
65 | labels: |
66 | traefik.enable: "false" | |
ef48a0d5 BB |
67 | |
68 | redis: | |
0c49373a | 69 | image: redis:4-alpine |
ef48a0d5 | 70 | volumes: |
fd5e57bb | 71 | - ./docker-volume/redis:/data |
ef48a0d5 | 72 | restart: "always" |
b44a9630 C |
73 | labels: |
74 | traefik.enable: "false" |