The playbook can install and configure LiveKit Server for you.
LiveKit Server is an open source project that provides scalable, multi-user conferencing based on WebRTC. It’s designed to provide everything you need to build real-time video audio data capabilities in your applications.
💡 LiveKit Server is automatically installed and configured when either Element Call or the Matrix RTC stack is enabled, so you don’t need to do anything extra.
The Ansible role for LiveKit Server is developed and maintained by the MASH (mother-of-all-self-hosting) project. For details about configuring LiveKit Server, you can check them via:
roles/galaxy/livekit-server/docs/configuring-livekit-server.md locally, if you have fetched the Ansible rolesTo ensure LiveKit Server functions correctly, the following firewall rules and port forwarding settings are required:
7881/tcp: ICE/TCP
7882/udp: ICE/UDP Mux
3479/udp: TURN/UDP. Also see the Limitations section below.
5350/tcp: TURN/TCP. Also see the Limitations section below.
💡 The suggestions above are inspired by the upstream Ports and Firewall documentation based on how LiveKit is configured in the playbook. If you’ve using custom configuration for the LiveKit Server role, you may need to adjust the firewall rules accordingly.
For some reason, LiveKit Server’s TURN ports (3479/udp and 5350/tcp) are not reachable over IPv6 regardless of whether you’ve enabled IPv6 for your server.
It seems like LiveKit Server intentionally only listens on udp4 and tcp4 as seen here and here.