diff --git a/zebra-report/host-your-own.html b/zebra-report/host-your-own.html index b42551e..50abfa0 100644 --- a/zebra-report/host-your-own.html +++ b/zebra-report/host-your-own.html @@ -334,7 +334,56 @@ turn.example.com { passes straight through. That is the entire edge.

-

8 · point your members at it

+

8 · zebra-spaces — multi-party voice rooms (optional)

+

+ The 1:1 voice call (zebra-audio) needs only the + relay and coturn. For zebra-spaces — a host + plus co-hosts plus speakers plus an audience of listeners — you also stand + up two small Go services: +

+ +

+ Both services live in the same repo as zebra-signal: + git.unturf.com/engineering/unturf/proxy.unturf.com + — under cmd/zebra-spaces-signal/ and cmd/zebra-spaces-sfu/. + Public domain. Each ships a systemd unit and standard build target; the deploy + pattern mirrors zebra-signal exactly. The Caddyfile gets two more + routes: +

+
# Caddyfile (added to your existing block) +handle /zebra-spaces-signal* { reverse_proxy localhost:8091 } +handle /zebra-spaces-sfu* { reverse_proxy localhost:8092 { flush_interval -1 } }
+

+ flush_interval -1 matters: the SFU pushes renegotiation offers + over Server-Sent Events when speakers join or leave, and Caddy will buffer + those events into silence without it. +

+

+ The SFU advertises a public IP as its host ICE candidate, so set + ZEBRA_SFU_NAT1TO1_IP=<your.public.ip> on the unit and open + UDP 7882 in your firewall — that single port carries all + ICE/RTP via Pion’s UDP mux. No port range like coturn needs. +

+ +

9 · point your members at it

Now the payoff: nobody needs a modified page. The published zebra pages read two URL parameters and fall back to the unturf servers only if @@ -354,7 +403,7 @@ turn.example.com { fetch credentials — as long as your relay and TURN server are reachable.

-

9 · how many users can it carry

+

10 · how many users can it carry

The rendezvous relay is nearly free: it moves a few hundred bytes per call setup and then idles, so a tiny box pairs thousands of rooms. coturn is the @@ -374,7 +423,7 @@ turn.example.com {


-

10 · it's a gift

+

11 · it's a gift

This stack is open intellectual capital — take it and run a community the unturf servers will never see or meter. Patch it, harden it, pass it on. Every @@ -392,8 +441,8 @@ turn.example.com {

diff --git a/zebra-report/zebra-spaces.html b/zebra-report/zebra-spaces.html index 196e1c5..d1bc431 100644 --- a/zebra-report/zebra-spaces.html +++ b/zebra-report/zebra-spaces.html @@ -245,6 +245,22 @@ + +