Keep P2P as the default for small rooms — that’s most servers most of the time and the no-extra-infra story is genuinely valuable for self-hosters.
[I] went mediasoup, built into Haven, after all. The two things that pushed my plan above toward LiveKit are gone now. It runs on one port instead of a whole range, and it downloads a ready-made build instead of compiling anything.
While the code is a slop hodgepodge, Haven is currently the only Discord clone I have found that makes it easy to selfhost; no extra open port except 443 80, single docker container, no extra database.
Website: https://haven-app.com/



You can also keep an eye on Chatto. For WebRTC it requires LiveKit, but otherwise is self contained.
It looks promising, the UI looks much better. Other than the absence of a built in p2p livestream option, and an explicit no to federation.