# Beta stack (beta.worship.hesed.sbs). Separate from prod on purpose: own named # volumes (no shared DB or media drive), no hardcoded Traefik labels (Dokploy # injects the domain routing), no lyrics/piano workers. services: ytplayer: build: . restart: unless-stopped volumes: - ytplayer-beta-data:/app/data environment: PORT: "3000" DB_PATH: "/app/data/ytplayer.db" MEDIA_DIR: "/app/data/media" UPLOAD_DIR: "/app/data/uploads" MEDIA_CACHE_MAX_BYTES: "10737418240" APP_VERSION: "1.0.0-beta" ADMIN_PASSWORD: "${ADMIN_PASSWORD:-}" P2P_ENABLED: "${P2P_ENABLED:-0}" healthcheck: test: ["CMD", "curl", "-sf", "http://localhost:3000/api/version"] interval: 30s timeout: 5s retries: 3 start_period: 15s networks: - dokploy-network volumes: ytplayer-beta-data: driver: local networks: dokploy-network: external: true