homelab/server/config/peertube/docker-compose.yml

79 lines
1.7 KiB
YAML

version: "3.3"
services:
peertube:
image: chocobozzz/peertube:production-buster
container_name: peertube_peertube
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
keep-file: "true"
networks:
web:
peertube:
ipv4_address: 172.80.0.42
env_file:
- .env
ports:
- "1935:1935" # If you don't want to use the live feature, you can comment this line
volumes:
- assets:/app/client/dist
- ${DOCKER_VOLUME}/data:/data
- ${DOCKER_VOLUME}/config:/config
labels:
- "traefik.http.routers.peertube.rule=Host(`peertube.jafner.net`)"
- "traefik.http.routers.peertube.tls.certresolver=lets-encrypt"
- "traefik.http.services.peertube.loadbalancer.server.port=9000"
depends_on:
- postgres
- redis
- postfix
restart: "no"
postgres:
image: postgres:13-alpine
container_name: peertube_postgres
networks:
- peertube
env_file:
- .env
volumes:
- ${DOCKER_VOLUME}/db:/var/lib/postgresql/data
restart: "no"
redis:
image: redis:6-alpine
container_name: peertube_redis
networks:
- peertube
volumes:
- ${DOCKER_VOLUME}/redis:/data
restart: "no"
postfix:
image: mwader/postfix-relay
container_name: peertube_postfix
networks:
- peertube
env_file:
- .env
volumes:
- ${DOCKER_VOLUME}/opendkim/keys:/etc/opendkim/keys
restart: "no"
networks:
peertube:
ipam:
driver: default
config:
- subnet: 172.80.0.0/16
web:
external: true
volumes:
assets: