2018-01-29 02:52:20 -05:00
|
|
|
version: "3.3"
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
2020-03-02 18:29:52 -05:00
|
|
|
# The reverse-proxy only does SSL termination and automatic certificate generation. You can
|
|
|
|
# replace it with any other reverse-proxy, in which case you can remove 'traefik.*' labels.
|
2018-05-28 04:53:57 -04:00
|
|
|
reverse-proxy:
|
2019-10-21 05:17:43 -04:00
|
|
|
image: traefik:v1.7
|
2019-04-24 10:28:56 -04:00
|
|
|
network_mode: "host"
|
2020-02-24 09:30:14 -05:00
|
|
|
command:
|
2020-03-02 18:29:52 -05:00
|
|
|
- "--docker" # Tells Træfik to listen to docker
|
|
|
|
- "--acme.email=${TRAEFIK_ACME_EMAIL}" # Let's Encrypt ACME email
|
|
|
|
- "--acme.domains=${TRAEFIK_ACME_DOMAINS}" # Let's Encrypt ACME domain list
|
2018-05-28 04:53:57 -04:00
|
|
|
ports:
|
2020-03-02 18:29:52 -05:00
|
|
|
- "80:80" # The HTTP port
|
|
|
|
- "443:443" # The HTTPS port
|
2018-05-28 04:53:57 -04:00
|
|
|
volumes:
|
2020-03-02 18:29:52 -05:00
|
|
|
- /var/run/docker.sock:/var/run/docker.sock # So that Træfik can listen to the Docker events
|
2018-05-28 04:53:57 -04:00
|
|
|
- ./docker-volume/traefik/acme.json:/etc/acme.json
|
|
|
|
- ./docker-volume/traefik/traefik.toml:/traefik.toml
|
|
|
|
restart: "always"
|
|
|
|
|
2020-03-02 18:29:52 -05:00
|
|
|
# The webserver is not required, but recommended since a lot of optimizations went to its
|
|
|
|
# nginx configuration file. It runs the default nginx configuration without HTTPS nor SSL,
|
|
|
|
# so use it in production in tandem with an SSL-terminating reverse-proxy like above.
|
|
|
|
webserver:
|
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
dockerfile: Dockerfile.nginx
|
2018-08-14 04:13:17 -04:00
|
|
|
env_file:
|
|
|
|
- .env
|
2020-03-02 18:29:52 -05:00
|
|
|
# If you provide your own reverse-proxy, otherwise not suitable for production:
|
|
|
|
#ports:
|
|
|
|
# - "80:80"
|
|
|
|
volumes:
|
|
|
|
- type: bind
|
|
|
|
# Switch sources if you downloaded the nginx configuration without the whole repository
|
|
|
|
#source: ./peertube
|
|
|
|
source: ../../nginx/peertube
|
|
|
|
target: /etc/nginx/conf.d/peertube.template
|
|
|
|
- assets:/var/www/peertube/peertube-latest/client/dist:ro
|
|
|
|
- ./docker-volume/data:/var/www/peertube/storage
|
|
|
|
depends_on:
|
|
|
|
- peertube
|
|
|
|
restart: "always"
|
2018-01-29 02:52:20 -05:00
|
|
|
labels:
|
|
|
|
traefik.enable: "true"
|
2018-05-07 12:39:42 -04:00
|
|
|
traefik.frontend.rule: "Host:${PEERTUBE_WEBSERVER_HOSTNAME}"
|
2020-03-02 18:29:52 -05:00
|
|
|
traefik.port: "80"
|
|
|
|
|
|
|
|
peertube:
|
|
|
|
# If you don't want to use the official image and build one from sources:
|
|
|
|
#build:
|
|
|
|
# context: .
|
|
|
|
# dockerfile: ./support/docker/production/Dockerfile.buster
|
|
|
|
image: chocobozzz/peertube:production-buster
|
|
|
|
env_file:
|
|
|
|
- .env
|
|
|
|
# If you provide your own webserver and reverse-proxy, otherwise not suitable for production:
|
|
|
|
#ports:
|
|
|
|
# - "80:9000"
|
2018-01-29 02:52:20 -05:00
|
|
|
volumes:
|
2020-03-02 18:29:52 -05:00
|
|
|
- assets:/app/client/dist
|
2018-05-07 12:39:42 -04:00
|
|
|
- ./docker-volume/data:/data
|
|
|
|
- ./docker-volume/config:/config
|
2018-01-29 02:52:20 -05:00
|
|
|
depends_on:
|
2018-03-15 09:39:04 -04:00
|
|
|
- postgres
|
|
|
|
- redis
|
2018-11-21 09:35:26 -05:00
|
|
|
- postfix
|
2018-03-15 09:39:04 -04:00
|
|
|
restart: "always"
|
2018-01-29 02:52:20 -05:00
|
|
|
|
2018-03-15 09:39:04 -04:00
|
|
|
postgres:
|
2020-03-06 04:59:11 -05:00
|
|
|
image: postgres:12-alpine
|
2019-11-18 03:38:05 -05:00
|
|
|
env_file:
|
|
|
|
- .env
|
2018-01-29 02:52:20 -05:00
|
|
|
volumes:
|
2018-05-07 12:39:42 -04:00
|
|
|
- ./docker-volume/db:/var/lib/postgresql/data
|
2018-03-15 09:39:04 -04:00
|
|
|
restart: "always"
|
|
|
|
|
|
|
|
redis:
|
2020-03-02 18:29:52 -05:00
|
|
|
image: redis:5-alpine
|
2018-03-15 09:39:04 -04:00
|
|
|
volumes:
|
2018-05-07 12:39:42 -04:00
|
|
|
- ./docker-volume/redis:/data
|
2018-03-15 09:39:04 -04:00
|
|
|
restart: "always"
|
2018-11-21 09:35:26 -05:00
|
|
|
|
|
|
|
postfix:
|
|
|
|
image: mwader/postfix-relay
|
2019-11-18 03:38:05 -05:00
|
|
|
env_file:
|
|
|
|
- .env
|
2020-03-10 10:14:19 -04:00
|
|
|
volumes:
|
|
|
|
- ./docker-volume/opendkim/keys:/etc/opendkim/keys
|
2018-11-21 09:35:26 -05:00
|
|
|
restart: "always"
|
2019-05-21 06:25:00 -04:00
|
|
|
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipam:
|
|
|
|
driver: default
|
|
|
|
config:
|
|
|
|
- subnet: 172.18.0.0/16
|
2020-03-02 18:29:52 -05:00
|
|
|
|
|
|
|
volumes:
|
|
|
|
assets:
|