this post was submitted on 09 Feb 2026
301 points (98.4% liked)
Selfhosted
59999 readers
361 users here now
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam.
-
Posts here are to be centered around self-hosting. Please ensure it is clear in your post how it relates to self-hosting.
-
Don't duplicate the full text of your blog or git here. Just post the link for folks to click.
-
Submission headline should match the article title.
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
matrix is unreasonably hard to set-up, why doesnt the docker container or the compose include voice chat? i cant even sign up for stoat to try it out.. is this the best we have against discord in the big 26 😭
Voice chat works out of the box with Matrix.
It uses WebRTC and tries to do P2P connections. Note that this leaks your IP to the other caller and vice versa, but it's also quite fast as you can establish a direct connection.
If P2P fails it will try to fallback to your configured TURN server and use that one for relaying.
However not every instance has one (as TURN servers are usually not that modern and straight forward...) and if this is the case it will fallback to Matrix's global TURN servers.
XMPP is also still a thing and IMO much easier to host (at least ejabberd is). Look into Movim, which looks quite nice as a discord replacement on top of XMPP.
Setting up Element Call on my instance was difficult on its own, I understand why Synapse doesn’t come with it out of the box, essentially you spin up Matrix’s JWT service for authenticating clients and it if approved forwards the connection to the Livekit ports which must be opened on your firewall (ie port forwarded), otherwise people will not be able to connect to calls.
Big PITA and in my experience, on my home network, can conflict with games with VOIP chats so don’t follow the default 50000:55000 port range Livekit recommends or you’ll run into issues like I did, each person consumes 2 ports so adjust the range to your need.
Edit: I don’t suggest running Element Call standalone, it has issues of its own, once you get Livekit and JWT running and follow This guide you should have your element call support in Synapse now, pro-tip for those running synapse behind docker and get confused on the whole
./well-knownpart of the documentation you can edit your./well-knownin your homeserver.yaml file like such:https://matrix-construct.github.io/tuwunel/deploying/docker.html?highlight=voice#voice-communication
tuwunel seems to have some docker guides for how to set up voice & docker.
I couldn't figure out how to sign up for matrix server. Maybe there are peer tube videos.
Have you Trier ESS?