# Server Configuration PLACEHOLDARR_HOST=0.0.0.0 PLACEHOLDARR_PORT=8000 PLACEHOLDARR_LOG_LEVEL=INFO # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL # Enable/Disable Media Servers ENABLE_PLEX=false # Set to true to enable Plex integration, false to disable ENABLE_JELLYFIN=false # Set to true to enable Jellyfin integration, false to disable ENABLE_EMBY=false # Set to true to enable Emby integration, false to disable # Plex Configuration (required if ENABLE_PLEX=true) PLEX_URL=http://localhost:32400 PLEX_TOKEN=your_plex_token_here PLEX_MOVIE_SECTION_ID=1 PLEX_TV_SECTION_ID=2 # Jellyfin Configuration (required if ENABLE_JELLYFIN=true) JELLYFIN_URL=http://localhost:8096 JELLYFIN_TOKEN=your_jellyfin_token_here # Emby Configuration (required if ENABLE_EMBY=true) # Emby typically exposes its API under the /emby/ prefix (e.g., http://localhost:8096/emby) EMBY_URL=http://localhost:8096 EMBY_TOKEN=your_emby_token_here # Migration from Infinite To Placeholdarr MIGRATION=False # Set to True to enable Migration # Radarr Configuration RADARR_URL=http://localhost:7878/api/v3 RADARR_API_KEY=your_radarr_api_key RADARR_4K_URL=http://localhost:7879/api/v3 #(optional - leave blank to disable 4K support) RADARR_4K_API_KEY=your_radarr_4k_api_key # Sonarr Configuration SONARR_URL=http://localhost:8989/api/v3 SONARR_API_KEY=your_sonarr_api_key SONARR_4K_URL=http://localhost:8990/api/v3 #(optional - leave blank to disable 4K support) SONARR_4K_API_KEY=your_sonarr_4k_api_key # Library Paths (IMPORTANT: See below for usage patterns) # These folders are where Placeholdarr will create placeholders. # # Option 1: Set these to match your *arr root folders. # - Real files and placeholders will be in the same folder. # - Plex/Jellyfin will see both real and placeholder files in the same library. # - **Recommended:** Create a "placeholders" subfolder inside your library folder (e.g., /mnt/user/data/movies/placeholders). # Set MOVIE_LIBRARY_FOLDER and TV_LIBRARY_FOLDER to this subfolder for easier management and cleanup. # # Option 2: Use separate folders for placeholders and real files. # - Set MOVIE_LIBRARY_FOLDER/TV_LIBRARY_FOLDER to a dedicated "placeholder" folder. # - Configure your *arr to import/move real files to a different folder. # - Add both folders as separate libraries in Plex/Jellyfin if you want to keep placeholders and real files separate. # - This is useful if you want to keep placeholders out of your main library or provide a dedicated "request" library for users. # # IMPORTANT: Set all path settings below (e.g., MOVIE_LIBRARY_FOLDER, TV_LIBRARY_FOLDER, DUMMY_FILE_PATH) # to the absolute paths on your host system. # # In your docker-compose.yml, mount these host paths to the **same absolute paths** inside the container. # This means both sides of each volume mount use the exact same path. # # Example: # Volume mount: # - /mnt/plex/Movies/placeholders:/mnt/plex/Movies/placeholders # .env setting: # MOVIE_LIBRARY_FOLDER=/mnt/plex/Movies/placeholders MOVIE_LIBRARY_FOLDER=/mnt/user/data/movies/placeholders # Replace with your desired placeholder folder path on the host TV_LIBRARY_FOLDER=/mnt/user/data/tv/placeholders # Replace with your desired placeholder folder path on the host MOVIE_LIBRARY_4K_FOLDER= # Optional - replace or leave blank if not using 4K TV_LIBRARY_4K_FOLDER= # Optional - replace or leave blank if not using 4K # Dummy file paths (replace with your dummy file locations on the host, matching your volume mounts) DUMMY_FILE_PATH=/mnt/user/data/placeholdarr/dummy.mp4 COMING_SOON_DUMMY_FILE_PATH=/mnt/user/data/placeholdarr/coming_soon_dummy.mp4 PLACEHOLDER_STRATEGY=hardlink # Options: hardlink, copy # Queue Management TV_PLAY_MODE=episode # Options: episode, season, series EPISODES_LOOKAHEAD=5 # Number of episodes to look ahead and download MAX_MONITOR_TIME=120 # Maximum time to monitor for file in seconds CHECK_INTERVAL=3 # How often to check queue status in seconds TITLE_UPDATES=REQUEST # Options: OFF, REQUEST, ALL (ALL is not recommended while feature is in development) AVAILABLE_CLEANUP_DELAY=10 # Calendar-based status update settings CALENDAR_LOOKAHEAD_DAYS=30 # How many days into the future to allow placeholders/"Coming Soon" (integer) CALENDAR_SYNC_INTERVAL_HOURS=12 # How often to sync calendar and update statuses (hours, integer) ENABLE_COMING_SOON_PLACEHOLDERS=true # Enable or disable "Coming Soon" placeholders (true/false) PREFERRED_MOVIE_DATE_TYPE=inCinemas # Which movie release date to use: inCinemas, digitalRelease, physicalRelease ENABLE_COMING_SOON_COUNTDOWN=true # Show countdown in "Coming Soon" status (true/false) CALENDAR_PLACEHOLDER_MODE=episode # Options: episode, season. 'episode' = add placeholders as each episode enters lookahead window; 'season' = add all known episodes of a season when any enters window # Include Specials INCLUDE_SPECIALS=false # --- Advanced Webhook Check Options --- # Set to 'true' to skip all webhook checks and force calendar sync to start (not recommended for most users) PLACEHOLDARR_SKIP_WEBHOOK_CHECK=false # Optionally override the webhook URL used for *arr webhook checks (useful for reverse proxies, custom domains, or remote networks) # Example: PLACEHOLDARR_WEBHOOK_URL=https://my.public.domain/webhook # Leave blank to use automatic detection PLACEHOLDARR_WEBHOOK_URL=