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/




Here is the docker-compose file I’m using (I reverse proxy http://localhost:3000/ on the host):
services: haven: container_name: haven image: ghcr.io/ancsemi/haven:latest ports: - 127.0.0.1:3000:3000 volumes: - ./data:/data environment: - PORT=3000 - FORCE_HTTP=true restart: unless-stoppedhttps://github.com/shadowflee3/fluxer-selfhost
As comparison fluxer which I was much more interested in (polyproto federation, better UX mobile and web, hype) needs 4 containers (ex. proxy & certbot) needs 80 443 7700 7880 7881 3478 50000-50100 ports & two configuration files that needs edits to connect them.
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.