59 lines
2.0 KiB
YAML
59 lines
2.0 KiB
YAML
services:
|
|
listsync-full:
|
|
image: ghcr.io/woahai321/list-sync:main
|
|
container_name: listsync-full
|
|
ports:
|
|
# Frontend (Next.js Dashboard)
|
|
- "3222:3222"
|
|
# Backend API (FastAPI)
|
|
- "4222:4222"
|
|
environment:
|
|
# Timezone Configuration (set to Europe/London for BST/GMT, change as needed)
|
|
- TZ=${TZ:-GMT}
|
|
|
|
# Overseerr Configuration
|
|
- OVERSEERR_URL=${OVERSEERR_URL}
|
|
- OVERSEERR_API_KEY=${OVERSEERR_API_KEY}
|
|
- OVERSEERR_USER_ID=${OVERSEERR_USER_ID:-1}
|
|
- SYNC_INTERVAL=${SYNC_INTERVAL:-24}
|
|
- AUTOMATED_MODE=true
|
|
- OVERSEERR_4K=${OVERSEERR_4K:-false}
|
|
|
|
# List Configuration (comma-separated)
|
|
- IMDB_LISTS=${IMDB_LISTS}
|
|
- TRAKT_LISTS=${TRAKT_LISTS}
|
|
- LETTERBOXD_LISTS=${LETTERBOXD_LISTS}
|
|
- MDBLIST_LISTS=${MDBLIST_LISTS}
|
|
- STEVENLU_LISTS=${STEVENLU_LISTS}
|
|
- TRAKT_SPECIAL_LISTS=${TRAKT_SPECIAL_LISTS}
|
|
- TRAKT_SPECIAL_ITEMS_LIMIT=${TRAKT_SPECIAL_ITEMS_LIMIT}
|
|
|
|
# Optional Discord webhook
|
|
- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}
|
|
|
|
# Internal API URL for frontend
|
|
- NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://0.0.0.0:4222/api}
|
|
|
|
# Docker-specific settings
|
|
- RUNNING_IN_DOCKER=true
|
|
- NO_SANDBOX=1
|
|
- DISPLAY=:99
|
|
volumes:
|
|
# Persist data directory
|
|
- C:\Docker\AppData\listsync\data:/usr/src/app/data
|
|
# Mount environment file
|
|
- C:\Docker\Compose\ListSync\.env:/usr/src/app/.env
|
|
# Optional: Mount logs for debugging
|
|
- C:\Docker\AppData\listsync\logs:/var/log/supervisor
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:4222/api/system/health", "&&", "curl", "-f", "http://localhost:3222"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
# Note: Complete ListSync application with:
|
|
# - Core sync service (python -m list_sync)
|
|
# - FastAPI backend (port 4222)
|
|
# - Next.js frontend (port 3222)
|
|
# All managed by supervisor for reliability |