PORT=3000 # OAuth 2.0 Client ID (Web application) from https://console.cloud.google.com/apis/credentials # Authorized JavaScript origins must include every origin the app is served from # (e.g. http://localhost:3000 for local dev, plus your production domain). # The value below is a placeholder so `docker-compose build` / CI smoke tests can # boot the container; replace with the real Client ID for actual logins to work. GOOGLE_CLIENT_ID=placeholder-client-id.apps.googleusercontent.com # Random long string, used to sign the session cookie. Generate with: # node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" SESSION_SECRET=placeholder-session-secret-change-me # Default Microsoft Edge Read Aloud voice used for TTS (free, no API key needed, # same engine as t2sTelegramBot). Used for newly created streamers; each # streamer's own voice is stored in the database and can be changed later. TTS_VOICE=ru-RU-DmitryNeural # Optional: DeepSeek API key (https://platform.deepseek.com) for the "AI reply" # checkbox on the viewer send page. If unset, the feature silently no-ops even # if a viewer checks the box. The system prompt used is in ai-prompt.txt. DEEPSEEK_API_KEY= # Voice used for AI replies specifically, deliberately different from a # streamer's own TTS_VOICE so listeners can tell an AI reply apart from a # human viewer's message. AI_VOICE=ru-RU-SvetlanaNeural