services: << service_name >>: image: chocobozzz/peertube:production-bookworm container_name: << service_name >> environment: - TZ=<< timezone >> - PEERTUBE_WEBSERVER_HOSTNAME=<< hostname >> - PEERTUBE_WEBSERVER_PORT=443 - PEERTUBE_WEBSERVER_HTTPS=true - PEERTUBE_DB_HOSTNAME=<< service_name >>-db - PEERTUBE_DB_USERNAME=peertube - PEERTUBE_DB_PASSWORD=<< db_password >> - PEERTUBE_REDIS_HOSTNAME=<< service_name >>-redis - PEERTUBE_SECRET=<< peertube_secret >> - PEERTUBE_ADMIN_EMAIL=<< admin_email >> volumes: - << appdata_dir >>/<< service_name >>:/data - << appdata_dir >>/<< service_name >>-config:/config ports: - "<< port >>:9000" depends_on: - << service_name >>-db - << service_name >>-redis restart: unless-stopped << service_name >>-db: image: postgres:16-alpine container_name: << service_name >>-db environment: - POSTGRES_DB=peertube - POSTGRES_USER=peertube - POSTGRES_PASSWORD=<< db_password >> volumes: - << appdata_dir >>/<< service_name >>-db:/var/lib/postgresql/data restart: unless-stopped << service_name >>-redis: image: valkey/valkey:8-alpine container_name: << service_name >>-redis command: valkey-server --save 60 1 volumes: - << appdata_dir >>/<< service_name >>-redis:/data restart: unless-stopped