services: app: image: castopod/castopod:latest container_name: ${castopodServName} volumes: - castopodMedia:/var/www/castopod/public/media environment: CP_BASEURL: "https://${castopodHost}.${domain}" CP_ANALYTICS_SALT: qldsgfliuzrbhgmkjbdbmkvb VIRTUAL_PORT: 8000 CP_CACHE_HANDLER: redis CP_REDIS_HOST: redis env_file: - ../../secret/env-${castopodServName} - ../../secret/env-${castopodDBName} networks: - castopodNet expose: - 8000 restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.${castopodServName}.rule=Host(`${castopodHost}.${domain}`)" - "traefik.docker.network=castopodNet" mariadb: image: mariadb:10.5 container_name: ${castopodDBName} networks: - castopodNet volumes: - castopodDb:/var/lib/mysql env_file: - ../../secret/env-${castopodDBName} restart: unless-stopped redis: image: redis:7.0-alpine container_name: castopodCache volumes: - castopodCache:/data networks: - castopodNet command: --requirepass ${castopodRedisPassword} volumes: castopodMedia: castopodDb: castopodCache: networks: castopodNet: external: true name: castopodNet