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