# ----------------------------------------------------------------------------- # AIOMetadata Addon - Environment Variables # For the full documentation of env variables visit: # https://github.com/cedya77/aiometadata/blob/dev/docs/ENVIRONMENT_VARIABLES.md # ----------------------------------------------------------------------------- # -- Core Configuration -- # The port the addon server will run on. PORT=3232 # The public hostname (e.g., https://your-domain.com or http://127.0.0.1:3232) where the addon is accessible. # This is crucial for Stremio to correctly locate your addon's manifest and resources. HOST_NAME=https://your-domain.com # The Node environment. Usually 'development' or 'production'. NODE_ENV=development # Set the logging level. Options: 'silent', 'fatal', 'error', 'warn', 'info', 'success', 'debug', 'trace', 'verbose'. # (Default: 'info' for production, 'debug' for development) LOG_LEVEL=info # -- Database & Caching -- # Connection URI for the database. SQLite is used for local storage, but PostgreSQL is also supported. # For SQLite (default): DATABASE_URI=sqlite://addon/data/db.sqlite # For PostgreSQL: # DATABASE_URI=postgresql://user:password@localhost:5432/aiometadata # Connection string for your Redis instance, used for caching. REDIS_URL=redis://aiometadata_redis:6379 # -- Security & Admin -- # An optional key to protect administrative dashboard endpoints. # ADMIN_KEY=your-secure-random-key-here # Password for protected endpoints (if enabled in your deployment) # ADDON_PASSWORD=your-addon-password # -- Metrics Configuration -- # Set to "true" to disable all telemetry/metrics collection for the dashboard. # DISABLE_METRICS=false # -- API Keys (Required for full functionality) -- # Your TMDB API key. Essential for movie and some series metadata. TMDB_API= # Your TVDB API key. Optional but highly recommended for series and some anime metadata. TVDB_API_KEY= # Your Fanart.tv API key. Optional, used for fetching high-quality logos and backgrounds. FANART_API_KEY= # Fanart.tv project API key. When set, user keys are sent as clientKey for faster image access. FANART_API_PROJECT_KEY= # Your Rating Poster DB (RPDB) API key. Optional, for displaying ratings on posters. RPDB_API_KEY= # Your MDBList API key. Optional, for integrating MDBList catalogs. MDBLIST_API_KEY= # Your Gemini API key. Optional, for AI features. GEMINI_API_KEY= # Your SimKL client ID SIMKL_CLIENT_ID= # Your SimKL client secret SIMKL_CLIENT_SECRET= # The redirect URI for SimKL OAuth (must match your SimKL app settings) # Example: https://your-domain.com/api/auth/simkl/callback SIMKL_REDIRECT_URI= # Time-to-live (in seconds) for caching SimKL activity checks. Reduces API spam when paginating. # Default: 21600 (6 hours) SIMKL_ACTIVITIES_TTL=21600 # AniList API credentials (required for AniList integration) # Get these from https://anilist.co/settings/developer # Your AniList client ID ANILIST_CLIENT_ID= # Your AniList client secret ANILIST_CLIENT_SECRET= # The redirect URI for AniList OAuth (must match your AniList app settings) # Example: https://your-domain.com/anilist/callback ANILIST_REDIRECT_URI= # Trakt API credentials (required for Trakt integration) # Get these from https://trakt.tv/oauth/applications # Your Trakt client ID TRAKT_CLIENT_ID= # Your Trakt client secret TRAKT_CLIENT_SECRET= # The redirect URI for Trakt OAuth (must match your Trakt app settings) # Example: https://your-domain.com/api/auth/trakt/callback TRAKT_REDIRECT_URI= ## Disable trakt as a search option (recommended on public instances) DISABLE_TRAKT_SEARCH=false ## Max number of trakt parallel requests (recommend 10-15 for selfhosters) TRAKT_CONCURRENCY=5 ## Max concurrent getMeta() calls per catalog request (default: unlimited) ## Set to 20-30 on public instances to limit memory spikes from concurrent users. # META_CONCURRENCY= ## Log heap and in-memory cache stats to console at this interval (in minutes). 0 or unset disables. # HEAP_LOG_INTERVAL_MIN=30 ## Spacing between requests (recommend 100ms for selfhosters) TRAKT_MIN_TIME=200 # -- Cache TTL Configuration -- # Catalog cache time-to-live in seconds (default: 86400 = 24 hours) CATALOG_TTL=86400 # Meta cache time-to-live in seconds (default: 604800 = 7 days) META_TTL=604800 # -- Timezone Configuration -- # Set the timezone for the server (e.g., America/New_York) # TZ=America/New_York # -- Cache Performance & Warming -- # Set to "false" to disable automatic cache warming on startup. (Default: true) ENABLE_CACHE_WARMING=true # Specify a custom UUID to use for the cache warming config. Highly recommended for private instances. CACHE_WARMUP_UUIDS= CACHE_WARMUP_UUID=system-cache-warmer # Choose warm-up mode, 'essential' warms select TMDB/MAL catalogs with limited depth # whilst 'comprehensive' warms all the catalogs present in a UUID, at the max depth specified below # NOTE: comprehensive *requires* a CACHE_WARMUP_UUID to be set CACHE_WARMUP_MODE=essential # How often (in hours) to warm popular TMDB content. (Default: 24, Minimum: 12) CATALOG_WARMUP_INTERVAL_HOURS=24 # Initial delay before starting catalog warming (in seconds) CATALOG_WARMUP_INITIAL_DELAY_SECONDS=300 # Set the max page number to warm per catalog (Default: 100) CATALOG_WARMUP_MAX_PAGES_PER_CATALOG=100 # Resume warming on restart (Default: true) CATALOG_WARMUP_RESUME_ON_RESTART=true # Enable quiet hours for catalog warming (Default: false) CATALOG_WARMUP_QUIET_HOURS_ENABLED=false # Quiet hours time range (e.g., 02:00-06:00) # Catalog warming will never run during the configured quiet hours CATALOG_WARMUP_QUIET_HOURS=02:00-06:00 # Delay between catalog warmup tasks (in ms) CATALOG_WARMUP_TASK_DELAY_MS=100 # Logging level for catalog warming CATALOG_WARMUP_LOG_LEVEL=info # Auto warmup on version change CATALOG_WARMUP_AUTO_ON_VERSION_CHANGE=false # Set to "false" to disable warming of popular TMDB content. (Default: true) TMDB_POPULAR_WARMING_ENABLED=true # How often (in hours) to warm cache (Default: 24) CACHE_WARM_INTERVAL_HOURS=24 # Language to use for cache warming (Default: en-US) CACHE_WARM_LANGUAGE=en-US # Enable cache warmup on startup (Default: true) CACHE_WARMUP_ON_STARTUP=true # -- MAL Catalog Background Warming -- # Set to "false" to disable MAL-specific catalog warming. (Default: true) MAL_WARMUP_ENABLED=true # Interval in hours for MAL catalog warming. (Default: 6) MAL_WARMUP_INTERVAL_HOURS=6 # Initial delay before starting MAL warming (in seconds) MAL_WARMUP_INITIAL_DELAY_SECONDS=30 # Delay between MAL warmup tasks (in ms) MAL_WARMUP_TASK_DELAY_MS=100 # Enable quiet hours for MAL warming (Default: false) MAL_WARMUP_QUIET_HOURS_ENABLED=false # Quiet hours range for MAL warming (e.g., 2-8) # MAL-specific catalog warming will never run during the configured quiet hours MAL_WARMUP_QUIET_HOURS_RANGE=2-8 # Number of priority pages for MAL warming MAL_WARMUP_PRIORITY_PAGES=2 # Enable/disable metadata warming for MAL MAL_WARMUP_METADATA=false # Enable priority warming for MAL MAL_WARMUP_PRIORITY=true # Enable scheduled MAL warming MAL_WARMUP_SCHEDULE=true # Enable decade-based MAL warming MAL_WARMUP_DECADES=false # Enable SFW mode for MAL warming MAL_WARMUP_SFW=true # Logging level for MAL warming MAL_WARMUP_LOG_LEVEL=normal # -- Cache Cleanup Scheduler -- # Enable automatic cache cleanup (Default: true) CACHE_CLEANUP_AUTO_ENABLED=true # Enable quiet hours for cache cleanup (Default: false) CACHE_CLEANUP_QUIET_HOURS_ENABLED=false # Quiet hours for cache cleanup (e.g., 02:00-06:00) # Cache cleanup will never run during the configured quiet hours CACHE_CLEANUP_QUIET_HOURS=02:00-06:00 # -- In-Memory Cache Limits -- # Max entries in the per-user Fanart.tv client cache. (Default: 2000) # Sized for popular public instances. Lower on memory-constrained self-hosts. FANART_CLIENT_CACHE_MAX=2000 # Max entries in the TMDB scraped-IMDb-ID cache. (Default: 10000) TMDB_SCRAPED_IMDB_CACHE_MAX=10000 # -- Catalog Configuration -- # The number of items to display per page in catalogs. (Default: 20) CATALOG_LIST_ITEMS_SIZE=20 # Optional cap on catalog count per user configuration. # When set to a positive integer, saving a configuration with more catalogs than this limit is rejected. # Leaving this unset preserves the unbounded behaviour. # MAX_CATALOGS=200 # -- UI & Customization -- # An optional suffix to add to the addon's name in the manifest (e.g., "| My Server"). # ADDON_NAME_SUFFIX= # Optional custom HTML blurb to display on the configuration page. # CUSTOM_DESCRIPTION_BLURB= # -- Advanced/Proxy Configuration -- # Optional SOCKS proxy for all requests (e.g., socks5://user:pass@host:port). # SOCKS_PROXY_URL= # Optional HTTP proxy for all requests. # HTTP_PROXY= # Optional HTTPS proxy for all requests. # HTTPS_PROXY= # Optional SOCKS proxy for TMDB requests (e.g., socks5://user:pass@host:port). # TMDB_SOCKS_PROXY_URL= # Optional SOCKS proxy for Jikan/MAL requests. # MAL_SOCKS_PROXY_URL= # Optional SOCKS proxy for MDBList requests. # Optional: Override the logo URL in the manifest # ADDON_LOGO_URL=https://yourdomain.com/yourlogo.png