Connect relay
Connect gives Twitch a public callback URL and forwards notifications to ReplayVOD through an outbound WebSocket connection. Your recorder verifies Twitch’s signatures. The relay doesn’t hold your Twitch credentials or signing secret.
Use Connect when you want EventSub notifications but can’t expose your recorder over public HTTPS. See Relay protocol to run your own relay.
Relay URLs
Section titled “Relay URLs”A Connect token gives you two URLs:
| URL | Purpose |
|---|---|
| Ingest | Public HTTPS address where Twitch sends notifications. |
| Subscribe | WebSocket address your recorder connects to for those notifications. |
Both URLs must use the same relay token.
Configure in the dashboard
Section titled “Configure in the dashboard”- Create or retrieve your Connect token and its URLs.
- Open System → EventSub as the owner.
- Choose Connect relay and enter the ingest and subscribe URLs.
- Save the settings and restart ReplayVOD.
- Check that relay mode is active and EventSub subscriptions become enabled.
If the mode is managed through environment variables, update those variables instead.
Configure through the environment
Section titled “Configure through the environment”Set these values in server/.env:
SERVER_MODE=relayRELAY_INGEST_URL=https://relay.replayvod.com/u/<token>RELAY_SUBSCRIBE_URL=wss://relay.replayvod.com/u/<token>/subscribeReplace <token> in both URLs with your token. A complete environment configuration takes precedence over dashboard settings. Restart the server to apply it; with Compose, run up -d to recreate the container after an environment change.
Keep PUBLIC_BASE_URL set to your ReplayVOD dashboard address. The relay URL is only for Twitch notifications.
The relay client forwards notifications to http://127.0.0.1:${PORT}/api/v1/webhook/callback by default. Set RELAY_LOCAL_CALLBACK_URL only if your local callback differs; it must use a loopback address.
Check the connection
Section titled “Check the connection”Look for Relay client started in the recorder logs and enabled subscriptions in System → EventSub. If verification fails, check that both relay URLs use the same token and that the recorder can make outbound WebSocket connections.
Other options
Section titled “Other options”A server with a public HTTPS callback can use direct EventSub. Polling also works without opening a router port and doesn’t require a relay.