Self-hosting
Requirements
Section titled “Requirements”- Linux host or VM
- Docker Engine with Compose v2
- At least 2 CPU cores and 1 GiB RAM per concurrent 720p stream as an initial planning baseline
- HTTPS/WSS reverse proxy and TURN for internet access
- Source resources such as V4L2, X11 and PulseAudio when applicable
git clone https://github.com/Tomo-Social/tomo-streaming-self-hosted.gitcd tomo-streaming-self-hostedcp .env.example .envGenerate a server secret:
openssl rand -base64 32Set the image tags and resource paths in .env, then start:
docker compose up -ddocker compose pscurl http://localhost:8090/healthRelease images are not yet published. Follow Install from source to build the two required local tags before the first docker compose up.
Capture resources
Section titled “Capture resources”Camera sessions require a host V4L2 device such as /dev/video0. Desktop capture uses the host X11 and PulseAudio sockets. Only mount resources actually used by that worker.
Instance ownership
Section titled “Instance ownership”Set a unique TOMO_STREAM_INSTANCE_ID for each control plane sharing a Docker host. This prevents one installation from reconciling containers owned by another.
Verify and diagnose
Section titled “Verify and diagnose”- Verify your setup checks health, discovery, authentication and runtime creation in order.
- Configuration lists every public worker and session setting.
- Troubleshooting maps common errors to their owning layer.