2026-07-01 15:17:25 +00:00
|
|
|
PORT=3000
|
|
|
|
|
|
|
|
|
|
# OAuth 2.0 Client ID (Web application) from https://console.cloud.google.com/apis/credentials
|
2026-07-01 15:53:07 +00:00
|
|
|
# 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
|
2026-07-01 15:17:25 +00:00
|
|
|
|
|
|
|
|
# Random long string, used to sign the session cookie. Generate with:
|
|
|
|
|
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
2026-07-01 15:53:07 +00:00
|
|
|
SESSION_SECRET=placeholder-session-secret-change-me
|
2026-07-01 15:17:25 +00:00
|
|
|
|
2026-07-01 15:53:07 +00:00
|
|
|
# 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.
|
2026-07-01 15:17:25 +00:00
|
|
|
TTS_VOICE=ru-RU-DmitryNeural
|
2026-07-01 17:23:41 +00:00
|
|
|
|
|
|
|
|
# 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
|