finds.dev← search

// the find

zorchenhimer/MovieNight

★ 724 · Go · MIT · updated Apr 2026

Single instance video streaming server with integrated chat.

MovieNight is a self-hosted Go server that bundles an RTMP ingest endpoint with a WebSocket chat room, so you can stream via OBS to a URL and watch with friends in the same browser tab. It's squarely aimed at small groups who want a private, dependency-light alternative to Rabbit or Watch2Gether. Single binary, single instance, no database.

The scope is deliberately narrow and the implementation delivers on it — RTMP in, HLS out, WebSocket chat, all in one binary with no external services required. Rate limiting on chat messages, nick changes, color changes, and auth attempts is configurable and actually present, which most hobby streaming projects skip entirely. Cross-compilation support via Makefile targets covers an unusually wide range of platforms including FreeBSD and Plan9. The room access model (open/pin/request) gives the admin meaningful control without requiring user accounts.

Single-instance only is the core constraint and there's no path out of it — if your stream dies, everyone's kicked and there's no reconnect logic. The chat has no persistence; messages vanish on reload, which matters for async viewers. The admin auth model is a shared plaintext password entered via chat command, which gets regenerated on restart by default — that's functional but fragile for anything beyond a one-off movie night. The frontend still pulls in jQuery and Ractive.js for what amounts to a simple chat list, which is more complexity than the problem warrants.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →