services: app: # cdnmanager и cdn-manager — один образ (алиас для drop-in). image: git.shx.one/denozord/cdnmanager:latest ports: - "8080:8080" environment: DATABASE_URL: sqlite:/data/app.db CLOUDFLARE_API_TOKEN: ${CLOUDFLARE_API_TOKEN:-} JWT_SECRET: ${JWT_SECRET:-change-me-in-production} AUTH_REQUIRED: ${AUTH_REQUIRED:-false} AUTH_JWT_SECRET: ${AUTH_JWT_SECRET:-${JWT_SECRET:-change-me-in-production}} AUTH_ISSUER: ${AUTH_ISSUER:-https://auth.shnt.top} AUTH_PORTAL_URL: ${AUTH_PORTAL_URL:-https://auth.shnt.top} AUTH_AUDIT_INGEST_SECRET: ${AUTH_AUDIT_INGEST_SECRET:-} ADMIN_USERNAME: ${ADMIN_USERNAME:-admin} ADMIN_PASSWORD_HASH: ${ADMIN_PASSWORD_HASH:-} LOG_LEVEL: info STATIC_DIR: /app/static SERVER_PORT: "8080" volumes: - cdnmanager-data:/data restart: unless-stopped healthcheck: test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:8080/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"] interval: 30s timeout: 5s retries: 3 start_period: 15s volumes: cdnmanager-data: