version: '3.8' services: nfoguard: build: . container_name: nfoguard ports: - "${PORT:-8080}:8080" volumes: # Mount your media directories (adjust these paths to match your setup) - "${HOST_MEDIA_PATH:-/mnt/unionfs/Media}:/media:rw" # NFOGuard data directory for database and logs - "./data:/app/data" # Optional: Mount config if you want to override # - "./config:/app/config" environment: # Media paths inside container - customize these in your .env file - TV_PATHS=${TV_PATHS:-/media/tv,/media/tv6} - MOVIE_PATHS=${MOVIE_PATHS:-/media/movies,/media/movies6} # Database - DB_PATH=${DB_PATH:-/app/data/media_dates.db} # Radarr Database (REQUIRED for database-only mode) - RADARR_DB_HOST=${RADARR_DB_HOST} - RADARR_DB_PORT=${RADARR_DB_PORT:-5432} - RADARR_DB_NAME=${RADARR_DB_NAME:-radarr} - RADARR_DB_USER=${RADARR_DB_USER} - RADARR_DB_PASSWORD=${RADARR_DB_PASSWORD} # Optional Radarr API (fallback only) - RADARR_URL=${RADARR_URL:-} - RADARR_API_KEY=${RADARR_API_KEY:-} # Optional Sonarr API (for TV processing) - SONARR_URL=${SONARR_URL:-} - SONARR_API_KEY=${SONARR_API_KEY:-} # NFO Management - MANAGE_NFO=${MANAGE_NFO:-true} - FIX_DIR_MTIMES=${FIX_DIR_MTIMES:-true} - LOCK_METADATA=${LOCK_METADATA:-true} - MANAGER_BRAND=${MANAGER_BRAND:-NFOGuard} # Processing settings - BATCH_DELAY=${BATCH_DELAY:-5.0} - MAX_CONCURRENT_SERIES=${MAX_CONCURRENT_SERIES:-3} - MOVIE_PRIORITY=${MOVIE_PRIORITY:-import_then_digital} - MOVIE_POLL_MODE=${MOVIE_POLL_MODE:-always} - MOVIE_DATE_UPDATE_MODE=${MOVIE_DATE_UPDATE_MODE:-backfill_only} # Logging - DEBUG=${DEBUG:-false} # Server - PORT=${PORT:-8080} # Optional: Connect to Radarr's database network # networks: # - radarr_network restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Optional: If you need to connect to Radarr's database network # networks: # radarr_network: # external: true