Every variable any Livqeno component reads, grouped by what it configures. Generated from source.
Livqeno's components read 117 environment variables between them —
97 by the control plane, 16 by the SFU,
6 by the dashboard. .env.example documents
106 , which leaves 21 read but
undocumented there; those are marked below.
This page is generated from the source, so it is the complete set.
Four of these will be wrong on a first deployment more often than the
other eighty-eight:
Variable Why it matters API_PUBLIC_URLBecomes telemetryUrl in every mint response, and the base the signaling URL is derived from. If it is the container-internal address, clients cannot reach it. RTC_SIGNALING_URLOverrides the derived signaling address. Set it when signaling sits behind a different hostname or ingress. CORS_ORIGINThe chat WebSocket rejects a mismatched Origin with close code 4403. Never * in production. TURN_HOSTHost-facing, not the Docker service name. A container address here means no client can reach the relay.
RTC_TOKEN_SECRET and CHAT_TOKEN_SECRET fall back to JWT_SECRET so a
fresh clone boots. Production validation refuses that fallback at start-up:
one credential must not be able to mint another's. Generate each
independently:
Copy openssl rand -hex 32 # JWT_SECRET
openssl rand -hex 32 # RTC_TOKEN_SECRET
openssl rand -hex 32 # CHAT_TOKEN_SECRET
openssl rand -hex 32 # API_KEY_HASH_SECRET
openssl rand -hex 32 # SFU_REGISTRATION_SECRET
openssl rand -hex 32 # TURN_SECRET
Variable Notes API_PORTAPI_PUBLIC_URLnot in .env.example APP_URLCORS_ORIGINDOCS_URLLOG_LEVELNODE_ENVnot in .env.example
Variable Notes DATABASE_POOL_CONNECTION_TIMEOUT_MSDATABASE_POOL_IDLE_TIMEOUT_MSDATABASE_POOL_MAXDATABASE_URLDIRECT_URL
Variable Notes REDIS_COMMAND_TIMEOUT_MSREDIS_PASSWORDin .env.example, but no Livqeno component reads it REDIS_PORTin .env.example, but no Livqeno component reads it REDIS_URL
Variable Notes API_KEY_HASH_SECRETCHAT_TOKEN_SECRETJWT_EXPIRES_INJWT_SECRETRTC_TOKEN_DEFAULT_TTL_SECONDSRTC_TOKEN_SECRETSFU_REGISTRATION_SECRET
Variable Notes GITHUB_CALLBACK_URLnot in .env.example GITHUB_CLIENT_IDGITHUB_CLIENT_SECRETGOOGLE_CALLBACK_URLnot in .env.example GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETOAUTH_STATE_TTL_SECONDS
Variable Notes RTC_SIGNALING_URLnot in .env.example SFU_CONTROL_PLANE_URLread by the SFU; not in .env.example SFU_DEFAULT_REGIONSFU_HEARTBEAT_INTERVAL_SECONDSread by the SFU; not in .env.example SFU_HEARTBEAT_TIMEOUT_SECONDSSFU_HTTP_ADDRread by the SFU; not in .env.example SFU_HTTP_PORTin .env.example, but no Livqeno component reads it SFU_INTERNAL_URLread by the SFU; not in .env.example SFU_LOG_LEVELread by the SFU SFU_NODE_IDread by the SFU SFU_PUBLIC_HOSTread by the SFU SFU_PUBLIC_IPread by the SFU SFU_REGIONread by the SFU SFU_ROOM_CAPACITYread by the SFU SFU_STUN_SERVERSread by the SFU; not in .env.example SFU_UDP_PORT_MAXread by the SFU SFU_UDP_PORT_MINread by the SFU SFU_VERSIONread by the SFU; not in .env.example SIGNALING_MAX_CONNECTIONS_PER_WINDOWSIGNALING_MAX_MESSAGES_PER_WINDOWSIGNALING_MAX_MESSAGE_BYTESSIGNALING_MAX_PARTICIPANTS_PER_ROOMSIGNALING_MESSAGE_WINDOW_SECONDS
Variable Notes TURN_HOSTTURN_INTERNAL_HOSTTURN_MAX_BPSin .env.example, but no Livqeno component reads it TURN_MAX_PORTin .env.example, but no Livqeno component reads it TURN_MIN_PORTin .env.example, but no Livqeno component reads it TURN_PORTTURN_PROMETHEUS_PORTin .env.example, but no Livqeno component reads it TURN_REALMin .env.example, but no Livqeno component reads it TURN_SECRETTURN_TLS_PORTTURN_TOTAL_QUOTAin .env.example, but no Livqeno component reads it TURN_USER_QUOTAin .env.example, but no Livqeno component reads it
Variable Notes CHAT_CONNECTION_RATE_LIMITCHAT_MAX_FRAME_BYTESCHAT_MAX_HISTORY_PAGE_SIZECHAT_MAX_METADATA_BYTESCHAT_MAX_REACTIONS_PER_MESSAGECHAT_MAX_ROOM_SUBSCRIPTIONSCHAT_MAX_TEXT_LENGTHCHAT_PRESENCE_TTL_SECONDSCHAT_REACTION_RATE_LIMITCHAT_RETENTION_DAYSCHAT_RETENTION_SWEEP_INTERVAL_MSCHAT_SEND_RATE_LIMITCHAT_SEND_RATE_WINDOW_SECONDSCHAT_SUBSCRIBE_RATE_LIMITCHAT_TOKEN_DEFAULT_TTL_SECONDSCHAT_TOKEN_MAX_TTL_SECONDSCHAT_TYPING_RATE_LIMITCHAT_TYPING_TTL_SECONDS
Variable Notes STORAGE_ACCESS_KEY_IDSTORAGE_BUCKETSTORAGE_DOWNLOAD_URL_TTL_SECONDSSTORAGE_ENDPOINTSTORAGE_FORCE_PATH_STYLESTORAGE_MAX_ATTACHMENT_BYTESSTORAGE_REGIONSTORAGE_SECRET_ACCESS_KEYSTORAGE_UPLOAD_URL_TTL_SECONDS
Variable Notes WEBHOOK_BACKOFF_BASE_MSWEBHOOK_BATCH_SIZEWEBHOOK_DISABLE_AFTER_FAILURESWEBHOOK_MAX_ATTEMPTSWEBHOOK_POLL_INTERVAL_MSWEBHOOK_TIMEOUT_MS
Variable Notes EMAIL_COOLDOWN_SECONDSEMAIL_DAILY_LIMITEMAIL_DEV_PREVIEWnot in .env.example EMAIL_ENABLEDEMAIL_MAX_ATTEMPTSEMAIL_MONTHLY_LIMITEMAIL_REPLY_TOEMAIL_RETRY_BASE_MSEMAIL_SUPPORT_EMAILEMAIL_VERIFICATION_TTL_MINUTESPASSWORD_RESET_TTL_MINUTESRESEND_API_KEYRESEND_FROM_EMAILRESEND_FROM_NAME
Variable Notes OBSERVABILITY_CONNECTION_RETENTION_DAYSnot in .env.example OBSERVABILITY_ERROR_RETENTION_DAYSnot in .env.example OBSERVABILITY_RETENTION_SWEEP_INTERVAL_MSnot in .env.example
Variable Notes RATE_LIMIT_WINDOW_SECONDS
Variable Notes HOSTNAMEnot in .env.example NEXT_PUBLIC_DOCS_URLnot in .env.example NEXT_PUBLIC_GITHUB_URLnot in .env.example NEXT_PUBLIC_SUPPORT_URLnot in .env.example RAVEN_API_KEYnot in .env.example RAVEN_API_URLnot in .env.example USAGE_ABANDONED_AFTER_MSUSAGE_ENFORCE_LIMITUSAGE_FREE_TIER_MINUTESUSAGE_METER_INTERVAL_MSUSAGE_REAPER_INTERVAL_MS