Operating POV
Configuration
servers.json, environment variables and flags for running Euphoric POV.
Euphoric POV is one Go binary with an embedded web page and a SQLite database. It's configured with servers.json, a few environment variables and command-line flags.
servers.json
Edit the file and restart the service. No rebuild is needed.
games
The Twitch categories to track, and the matching Kick category.
{
"id": "32982",
"name": "Grand Theft Auto V",
"short": "GTA RP",
"kick_category_id": 8
}
On Kick, GTA V is 8 and RDR 2 is 18265. kick_category can name the category instead of using its ID, but exact names are fragile.
servers
Each server has an id, a display name, a game (a Twitch category ID from games) and a list of case-insensitive regex patterns.
{
"id": "nopixel-4",
"name": "NoPixel 4.0",
"game": "32982",
"patterns": ["(no\\s*pixel|\\bnp)\\s*4(\\.0)?\\b"]
}
- Order matters. A stream goes to the first server whose patterns match, so put specific patterns first. For example, NoPixel 4.0 comes before NoPixel, and Wild West RP before Wild RP.
- Titles before tags. A stream's title is checked against every server first. Tags are only tried when the title matches nothing, because streamers often keep old or general tags.
- Sidebar order follows file order, so put English-language and popular communities first.
- Groups.
"group"(for example"German"or"India") shows a heading above a run of servers. Keep each group's servers together at the end of the list. "roster": "required"makes a server approved-only. No server currently uses it.
When you add or remove a server, update the server list in the POV FAQ too.
characters
Optional character names, by streamer login and server.
Environment variables
| Variable | Required | Purpose |
|---|---|---|
TWITCH_CLIENT_ID, TWITCH_CLIENT_SECRET | Yes | From the Twitch developer console. For sign-in, the app's OAuth redirect URLs must include <public-url>/auth/callback. |
KICK_CLIENT_ID, KICK_CLIENT_SECRET | No | From Kick's developer settings. The redirect URL must be <public-url>/auth/kick/callback. Without them, Kick tracking and Kick sign-in are off. |
POV_ADMINS | No | Comma-separated account IDs allowed into /admin. A Twitch account's ID is its Twitch user ID; a Kick account's is kick:<id>. |
Flags
| Flag | Purpose |
|---|---|
-public-url | The site's origin. Used for sign-in redirects, alert links and the same-site check on POST and DELETE requests. |
-addr | The address to listen on, for example 127.0.0.1:8090. |
-config | Path to servers.json. |
-db | Path to the SQLite database. It upgrades itself on start. |
-demo | Runs with generated streams, sessions and clips. Needs no credentials. |