# Server PORT=3000 COMMAND_PREFIX=! # Feature toggles PLATFORM_DISCORD_ENABLED=true PLATFORM_TWITCH_ENABLED=true PLATFORM_YOUTUBE_ENABLED=false PLATFORM_KICK_ENABLED=false # Discord DISCORD_CLIENT_ID= DISCORD_CLIENT_SECRET= DISCORD_BOT_TOKEN= DISCORD_GUILD_ID= DISCORD_ADMIN_ROLE_ID= DISCORD_MOD_ROLE_ID= DISCORD_REDIRECT_URI=http://localhost:3000/auth/discord/callback # Twitch TWITCH_CLIENT_ID= TWITCH_CLIENT_SECRET= TWITCH_REDIRECT_URI=http://localhost:3000/auth/twitch/callback TWITCH_BOT_USERNAME= TWITCH_BOT_OAUTH= TWITCH_CHANNELS= # YouTube YOUTUBE_CLIENT_ID= YOUTUBE_CLIENT_SECRET= YOUTUBE_REDIRECT_URI=http://localhost:3000/auth/youtube/callback YOUTUBE_BOT_REFRESH_TOKEN= YOUTUBE_BOT_CHANNEL_ID= # Updates AUTO_UPDATE_ENABLED=false AUTO_UPDATE_INTERVAL_MINUTES=60 GIT_REMOTE=origin GIT_BRANCH=main # Lumi host operator identity shown in generated Companion pairing packages. # Set these when distributing Companion from a self-hosted Lumi installation. LUMI_OPERATOR_NAME= LUMI_OPERATOR_CONTACT= LUMI_OPERATOR_PRIVACY_URL= # Runtime mode and bind host # Lumi auto-detects development mode from NODE_ENV, a loopback bind host, or a # source checkout. Explicit overrides always win. # LUMI_DEV_MODE=true # LUMI_HOST=127.0.0.1 # Private OBS stream testing (optional; see docs/stream-testing.md). # Lumi uses the paired Companion hostname by default and manages MediaMTX itself. # LUMI_STREAM_TEST_INGEST_HOST=lumi.example.com # LUMI_STREAM_TEST_INGEST_PORT=19350 # LUMI_STREAM_TEST_PUBLIC_PORT=19350 # LUMI_STREAM_TEST_TRANSPORT=rtmps # LUMI_STREAM_TEST_TLS_CERT=/absolute/path/to/fullchain.pem # LUMI_STREAM_TEST_TLS_KEY=/absolute/path/to/private-key.pem # LUMI_STREAM_TEST_ALLOW_INSECURE_REMOTE=false # Advanced/manual runtime override only; normal installations do not need this. # LUMI_MEDIAMTX_PATH=/absolute/path/to/mediamtx