fix(server): restrict RTC binding to node_ip via rtc.ips.includes #32
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/multi-user-rtc-ips-bind"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #31.
Problem
On a multi-user Hero box, the second user's
livekit-serverfails to start with:Root cause: Pion's UDP port-mux auto-enumerates every global IPv6 on the host when
rtc.ips.includesis unset, so each user's livekit tries to bind:7882on every other user's mycelium bridge IP too.Fix
Render
rtc.ips.includesinto the generatedlivekit.yaml:This pins both UDP binding and ICE candidate advertisement to the configured
node_ip, matching the upstream-recommended approach for restricted-interface deploys (livekit/livekit#1876, #3842).Test plan
138.201.206.39: two users (samehon4a0:6976:8fa7:efc:5::1,ashrafon4a0:6976:8fa7:efc:1::1) now startlivekit-serverconcurrently without EADDRINUSE.ss -lunthat each user's livekit only listens on its own[node_ip]:7882, not on every host IPv6.rtc.ips.includesmatchingnode_ipis a no-op when only one global IPv6 is in scope.Notes
render_livekit_yaml; no other behavior change.multi_user_delis a separate issue and tracked elsewhere — this fix removes the bind-time collision regardless.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.