Operating POV
Development
Build, test and run Euphoric POV locally.
The source is in the private Euphoric-Software/POV repository on GitHub.
Build
Builds run in Docker, so Go doesn't need to be installed. From the repository root on Windows:
docker run --rm -v "%CD%:/src" -v pov-gomod:/go/pkg/mod -w /src golang:1.26-alpine sh -c "go test ./... && CGO_ENABLED=0 GOOS=windows go build -o bin/pov.exe . && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags='-s -w' -o bin/pov-linux-amd64 ."
This runs the tests and builds bin/pov.exe for Windows and bin/pov-linux-amd64 for the server.
Run in demo mode
bin/pov.exe -demo
Demo mode serves http://127.0.0.1:8090 with generated Twitch and Kick streams, past sessions and clips. It needs no credentials.
Real sign-in can't complete in demo mode. To try the admin page:
- Set
POV_ADMINSbefore starting it. - Add a matching row to
usersand a hashed token touser_sessionsin the demo database. - Set that token as the
pov_sessioncookie.
Front-end changes
When web/app.js or web/styles.css changes, bump the ?v= numbers in web/index.html so browsers fetch the new files.
Checks
- Watch page: paste
tests/watch-check.jsinto the browser console on the site, then runawait povWatchCheck(). It checks players loading and autoplaying, sound and chat following the selected stream, adding and removing streams, bad links, offline channels and VODs. - Dependencies:
go run golang.org/x/vuln/cmd/govulncheck@latest ./...