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