Viibestream is a self-hosted live streaming platform that runs entirely in the browser. Broadcast from your camera and mic — or share a video file — and viewers watch instantly, with no plugins, native apps, or third-party services in the loop. You own the server, the stream, and the data.
Features
- Broadcast from camera + mic, or stream a video file straight from the browser
- Public viewer page with autoplay, mute/unmute, volume and fullscreen
- Real-time chat with @-mentions, emoji reactions and replies
- Voice talk-back — viewers can be heard via voice-activity detection
- Moderation — per-person mute, participant roster, and IP bans
- Admin dashboard with role-based access (admin / streamer / viewer)
- Hardened — bcrypt passwords, CSRF protection, rate limiting, optional Turnstile captcha
Tech stack
Flask 3 · Flask-SocketIO · SQLAlchemy/SQLite · vanilla JS (MediaRecorder / MediaSource) · Gunicorn · Docker.
Getting started
# Uses the published image hyprlab/viibestream:latest
mkdir viibestream && cd viibestream
# create docker-compose.yml + .env with a generated SECRET_KEY
docker compose up -d
# sign in at /auth/login with your bootstrap credentials
Pick an HTTPS strategy (reverse proxy, self-signed TLS, or localhost) — camera/mic capture requires a secure context.
Project status
Actively maintained and released under the AGPL-3.0 license. Part of the Viibeware family of self-hosted apps.