]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - support/docker/production/docker-compose.yml
a7bac47c29e22010784afa0f6bc74d8625d823d8
[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: ./support/docker/production/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 # If you don't want to use a reverse proxy (not suitable for production!)
32 # ports:
33 # - "80:9000"
34 volumes:
35 - ./data:/data
36 depends_on:
37 - postgres
38 - redis
39 restart: "always"
40
41 postgres:
42 image: postgres:10-alpine
43 environment:
44 POSTGRES_USER: postgres_user
45 POSTGRES_PASSWORD: postgres_password
46 POSTGRES_DB: peertube
47 volumes:
48 - ./db:/var/lib/postgresql/data
49 restart: "always"
50
51 redis:
52 image: redis:4-alpine
53 volumes:
54 - ./redis:/data
55 restart: "always"