services: app: build: ./dashboard restart: unless-stopped ports: - "3000:3000" # NEXTAUTH_SECRET, NEXTAUTH_URL, GITHUB_TOKEN and the rest. See dashboard/README.md. env_file: ./dashboard/.env environment: DATABASE_URL: file:./data/app.db ASSET_DIR: ./data/assets # Backups of the database and cached assets into the gbd-backups volume. # Set to "false" to turn them off. BACKUP_ENABLED: "true" BACKUP_DIR: ./backups BACKUP_INTERVAL_HOURS: "24" BACKUP_KEEP: "7" volumes: - gbd-data:/app/data - gbd-backups:/app/backups # /api/health answers 503 when the database does not open. The image has # Node but no curl. healthcheck: test: ["CMD", "node", "-e", "fetch('http://localhost:3000/api/health').then((r) => process.exit(r.ok ? 0 : 1), () => process.exit(1))"] interval: 30s timeout: 5s start_period: 30s retries: 3 volumes: gbd-data: gbd-backups: