bzl

self-hosted ephemeral community engine
Log | Files | Refs | README | LICENSE

STREAM_PACK.md (1088B)


      1 # Stream Pack (optional, dedicated servers)
      2 
      3 Bzl core is designed to run without any domain name. **Streaming** (game/screen share + voice) is different: it needs a real-time media server and **HTTPS**.
      4 
      5 This repo ships an **optional “Stream Pack”** that you can install on dedicated servers. It runs:
      6 - **LiveKit** (SFU) for scalable WebRTC (one streamer, many viewers)
      7 - **coturn** for NAT traversal reliability
      8 
      9 Core Bzl remains unchanged: if you don’t install Stream Pack, everything still works (just no streaming).
     10 
     11 ## Quick start
     12 
     13 1. Decide a hostname for streaming (example): `stream.yourdomain.com`
     14 2. Create DNS A record to your server (set to **DNS-only**, not proxied).
     15 3. Generate the pack:
     16 
     17 ```bash
     18 node scripts/stream-pack-init.js --domain=stream.yourdomain.com --email=you@yourdomain.com
     19 ```
     20 
     21 4. Edit `stream_pack/.env` and set `TURN_EXTERNAL_IP` to your public server IP.
     22 5. Add `stream_pack/Caddyfile.snippet` to your Caddy config and reload.
     23 6. Open firewall ports listed in `stream_pack/README.md`.
     24 7. Start it:
     25 
     26 ```bash
     27 cd stream_pack
     28 docker compose up -d
     29 ```
     30