]>
Commit | Line | Data |
---|---|---|
1 | version: "3.3" | |
2 | ||
3 | services: | |
4 | ||
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 | ||
18 | peertube: | |
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 | |
23 | image: chocobozzz/peertube:production-stretch | |
24 | environment: | |
25 | PEERTUBE_WEBSERVER_HOSTNAME: my.domain.tld | |
26 | PEERTUBE_WEBSERVER_PORT: 443 | |
27 | PEERTUBE_WEBSERVER_HTTPS: "true" | |
28 | PEERTUBE_DB_HOSTNAME: postgres | |
29 | PEERTUBE_DB_USERNAME: postgres_user | |
30 | PEERTUBE_DB_PASSWORD: postgres_password | |
31 | PEERTUBE_REDIS_HOSTNAME: redis | |
32 | PEERTUBE_SMTP_USERNAME: null | |
33 | PEERTUBE_SMTP_PASSWORD: null | |
34 | PEERTUBE_SMTP_HOSTNAME: null | |
35 | PEERTUBE_SMTP_PORT: 25 | |
36 | PEERTUBE_SMTP_FROM: noreply@peertube.domain.tld | |
37 | PEERTUBE_SMTP_TLS: "true" | |
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" | |
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" | |
46 | traefik.frontend.rule: "Host:${PEERTUBE_WEBSERVER_HOSTNAME}" | |
47 | traefik.port: "9000" | |
48 | # If you don't want to use a reverse proxy (not suitable for production!) | |
49 | # ports: | |
50 | # - "80:9000" | |
51 | volumes: | |
52 | - ./docker-volume/data:/data | |
53 | - ./docker-volume/config:/config | |
54 | depends_on: | |
55 | - postgres | |
56 | - redis | |
57 | restart: "always" | |
58 | ||
59 | postgres: | |
60 | image: postgres:10-alpine | |
61 | environment: | |
62 | POSTGRES_USER: postgres_user | |
63 | POSTGRES_PASSWORD: postgres_password | |
64 | POSTGRES_DB: peertube | |
65 | volumes: | |
66 | - ./docker-volume/db:/var/lib/postgresql/data | |
67 | restart: "always" | |
68 | labels: | |
69 | traefik.enable: "false" | |
70 | ||
71 | redis: | |
72 | image: redis:4-alpine | |
73 | volumes: | |
74 | - ./docker-volume/redis:/data | |
75 | restart: "always" | |
76 | labels: | |
77 | traefik.enable: "false" |