]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - support/docker/production/docker-compose.yml
f273915b972c523078450cd60ca06d768ec01724
[github/Chocobozzz/PeerTube.git] / support / docker / production / docker-compose.yml
1 version: "3.3"
2
3 services:
4
5 peertube:
6 build:
7 context: .
8 dockerfile: ./Dockerfile.stretch
9 image: chocobozzz/peertube:production-stretch
10 environment:
11 PEERTUBE_HOSTNAME: my.domain.tld
12 PEERTUBE_PORT: 443
13 PEERTUBE_HTTPS: "true"
14 PEERTUBE_ADMIN_EMAIL: admin@domain.tld
15 PEERTUBE_DB_HOSTNAME: postgres
16 PEERTUBE_DB_USERNAME: postgres_user
17 PEERTUBE_DB_PASSWORD: postgres_password
18 PEERTUBE_SIGNUP_ENABLED: "true"
19 PEERTUBE_TRANSCODING_ENABLED: "true"
20 PEERTUBE_REDIS_HOSTNAME: redis
21 PEERTUBE_SMTP_HOSTNAME: null
22 PEERTUBE_SMTP_PORT: 25
23 PEERTUBE_SMTP_FROM: noreply@peertube.domain.tld
24 PEERTUBE_SMTP_TLS: "true"
25 # Traefik labels are suggested as an example for people using Traefik,
26 # remove them if you are using another reverse proxy.
27 labels:
28 traefik.enable: "true"
29 traefik.frontend.rule: "Host:${PEERTUBE_HOSTNAME}"
30 traefik.port: "9000"
31 volumes:
32 - ./data:/data
33 depends_on:
34 - postgres
35 - redis
36 restart: "always"
37
38 postgres:
39 image: postgres:10-alpine
40 environment:
41 POSTGRES_USER: postgres_user
42 POSTGRES_PASSWORD: postgres_password
43 POSTGRES_DB: peertube
44 volumes:
45 - ./db:/var/lib/postgresql/data
46 restart: "always"
47
48 redis:
49 image: redis:4-alpine
50 volumes:
51 - ./redis:/data
52 restart: "always"