server/.env
Credentials, database selection, public URLs, local paths, Connect relay URLs. Treat as secret.
ReplayVOD has two configuration files.
server/.env
Credentials, database selection, public URLs, local paths, Connect relay URLs. Treat as secret.
server/config.toml
Operational behaviour: download policy, scheduler intervals, logging, storage backend, health endpoint, title-tracking mode.
server/.env always wins. The Go process reads the env file first, then the TOML file. For live/title behavior, a complete SERVER_MODE env config also wins over app-managed server settings and skips onboarding. If SERVER_MODE is empty, the owner dashboard stores server mode setup in the database, and mode or URL changes are applied on the next server start.
The Docker Compose file reads server/.env directly. A few PUBLIC_* variables are Compose-only — they shape what gets passed into the container without changing the stored values.
TWITCH_CLIENT_ID=...TWITCH_SECRET=...SESSION_SECRET=...OWNER_TWITCH_ID=...The installer generates SESSION_SECRET; for manual installs, generate it with openssl rand -hex 32. The EventSub HMAC secret is optional: leave it unset and the server generates and stores one in the database on first run, or set HMAC_SECRET to seed a specific value the first time.
For Compose deployments, set PUBLIC_BASE_URL and let Compose derive everything:
PUBLIC_BASE_URL=https://replayvod.exampleFor separate services or manual runtime, set each URL directly:
CALLBACK_URL=https://replayvod.example/api/v1/auth/twitch/callbackFRONTEND_URL=https://replayvod.exampleDirect EventSub env setup is optional; leaving SERVER_MODE empty lets the
owner configure live/title behavior in the dashboard.
Storage
Local filesystem or S3-compatible — see Storage.
Recording
Quality, codecs, retries, gap tolerance — see Recording.
Schedules & title tracking
Recording rules and server modes — see Schedules.
EventSub
Direct EventSub setup — see EventSub.
Connect relay
Pointing the recorder at a hosted relay — see Connect relay.
For a flat lookup of every variable or TOML key, see the reference: