Operators
Installing, hosting and upgrading an instance. Everything a server needs is here; the web page's own settings are Admins.
Start with the shape that fits your machine, then pick the engine:
- All-in-one -- start here. One image and a TLS proxy, with compose: the required settings, the five ports, sign-in, email, notifications, federation, data, probes and upgrades. The other pages only say what differs from it.
- Choosing and swapping engines -- the built-in engine, OvenMediaEngine or LiveKit: what each gives, and how to change later.
- Built-in engine -- no media server at all: the app, ffmpeg, and optionally its own WebRTC.
- LiveKit -- LiveKit, Ingress and Egress as the media half.
- Proxmox LXC -- the same image as a container on Proxmox, with or without Docker inside.
- Scalable -- several app replicas behind an edge, MariaDB and Valkey.
- GPU transcoding -- what was measured, and why it is off.
- Monitoring -- the Prometheus metrics, and alerts on disk, latency, errors, sign-in guessing and the engine.
flowchart LR
subgraph AIO["All-in-one: start here"]
direction LR
P1["TLS proxy<br/>443"] --> A1["the vibe-live image<br/>app, engine, SQLite in /data"]
end
flowchart LR
subgraph SC["Scalable: several replicas"]
direction LR
T2["your TLS terminator"] --> E2["nginx edge"]
E2 --> R2["backend x N"]
E2 --> F2["frontend"]
R2 --> DB[("MariaDB")]
R2 --> VK[("Valkey")]
R2 --> O2["one OvenMediaEngine"]
end
After installing, run from anywhere with curl:
scripts/validate-setup.sh https://your.instance
It checks each piece is reachable and wired to the next -- the site can load while going live fails, and this says which piece.
Upgrading is pulling the new image and restarting; schema changes
apply themselves at start. Pin an exact version (X.Y.Z) or a commit SHA
rather than latest, and read CHANGELOG.md for anything a deployment
has to change -- a MINOR version before 1.0 may need one, and says so.
Diagrams drawn by Mermaid (MIT license).