Skip to main content

Environment variables

This page summarises the variables that tie services together. Each service's own configuration page is the complete reference: flixer, flixer-web, flixer-streamer, flixer-indexer.

Shared​

VariableServicesMeaning
STREAM_TOKEN_SECRETflixer, streamer, indexerMust be identical everywhere. 32+ random bytes.
FLIXER_URLstreamer, indexerBase URL of the flixer API.
LOG_LEVELstreamer, indexerdebug, info, warn, error.
LOG_DIRflixer, streamerWrite JSON logs for Alloy/Loki (native dev).

flixer​

VariableMeaning
DATABASE_URL, DATABASE_POOL_MAXPostgres connection and pool size.
JWT_SECRETAccess-token signing.
FLIXER_PUBLIC_URL, HTTP_PORTPublic address and published proxy port.
MEDIA_PATH (Docker) / STREAM_MEDIA_ROOTRoot media folder(s); STREAM_MEDIA_ROOT accepts a JSON array natively.
AVATAR_PATH, MEDIA_IMAGE_PATH / MEDIA_IMAGE_DIRAvatar and uploaded image storage.
APP_URL, PASSKEY_RP_ID, PASSKEY_ORIGINSPasskey (WebAuthn) configuration; must match the browser address.
STREAMER_PUBLIC_URL, STREAMER_INTERNAL_URL, INDEXER_URLHow flixer reaches the other services.
INDEXER_MAX_WRITES, INDEXER_MAX_QUEUED_WRITESBackpressure on indexer writes.
SMB_MOUNT_DIR, SMB_MOUNT_PATHNetwork share mount locations (Linux/macOS/Docker).

Email (SMTP), OpenSubtitles credentials and metadata provider keys are configured in the admin dashboard, not in .env.

flixer-streamer​

VariableDefaultMeaning
PORT8091Listen port.
FFMPEG_PATH, FFPROBE_PATHffmpeg, ffprobeBinaries.
MAX_TRANSCODES0Concurrent ffmpeg jobs; 0 is unlimited.
ALLOWED_ORIGINSemptyComma-separated CORS origins.
TRANSCODE_DIR./cache/transcodeScratch space.

flixer-indexer​

VariableDefaultMeaning
PORT, ROLE8092, allListen port; all, api or worker.
REDIS_ADDR, REDIS_PASSWORD, REDIS_DBlocalhost:6379Task queue.
CACHE_PATH./cache/metadataArtwork for cache image storage.
CONCURRENCY_*see config pageInitial workers per queue; adjustable at runtime from the dashboard.
TMDB_API_KEY and othersemptyFallbacks; flixer settings take precedence.
FLIXER_MODE=stubunsetRun without flixer for testing.