Some years ago, I hosted my own matrix server for a few months. I’m an experienced self-hoster, but I remeber that Matrix was paticularly hard to host, requiring weird proxy rules, DNS adjustments, federation never worked reliably and push notifications never worked at all. I ditched the project soon because I also had no real use for it. However, I recently had some ideas where a Matrix server would be useful again. Has anyone attempted to install it recently and can tell me whether the situation has improved? Also, which server do you recommend? There still is synapse but I found it paticularly complicated to host. Dendrite is now archived and the current fork seems to be tuwunel which doesn’t seem to be under very active development.
Damn. That sucks. (Edit: Referring to the comments saying Matrix is dead and dying.)
I get that IRC and XMPP are more stable and built around federation from the ground up, but… they’re not Discord replacements.
That was IMHO, the point of Matrix/Element.
Tell me if I’m wrong, but a significant part of a network’s resilience is the number of nodes and users.
Without a glowup or some kind of repackaging, IRC/XMPP are doomed to stay niche.
Well Discord started as a replacement for IRC and TeamSpeak/Mumble, then began to add more and more things and got used as a forum replacement and everything went down the hill. Why not going back to the roots? We had fucking IRC scripts for matchmaking in Q3CTF.
I wouldn’t mind going back to IRC roots if it could be made more user friendly and integrate voice and video chat.
Good UX/UI goes a long way to make it so non-technical people can join and strengthen the network.
Discord has quite a few good features that IRC doesn’t. I will agree that it being used as a replacement for a forum, while also being unsearchable, is amazingly stupid. However, it’s used by almost everyone for a reason, and to ignore that (if you were to develop and alternative) ensures you won’t succeed. Yeah, we don’t need every feature from Discord, but easy voice/text/video chats, image/file sharing, and all the other useful things are required. Yeah, we can probably lose the emotes and crap and be fine.
I had the same experience as OP when I tried Matrix a few years ago. No hate on it but it was not easy and I gave up because I already had a simple IRC setup that’s working for me and my friends.
Some IRC clients are now web based and it’s been enough to keep a few of my friends there instead of Discord. We use The Lounge. It can keep a history, display images, videos, play mp3s, and show previews of most URLs. Like, we can simply copy/paste images into a channel and they are uploaded on the server and displayed in the chat. There’s also push notifications and it’s mobile friendly.
Convos also does something like this. Apparently it can also do video chat but I’ve never got it to work.
I’ve recently been thinking about giving Matrix another try but I’m pretty sure my friends are going to stay on “modern” IRC anyway.
Xmpp supports group chat, 1:1 messaging, you’ve got webtrc support for voice/video, and its extensible.
Jingle even has screen sharing (and I think a WIP remote control function).
What is missing from xmpp?
Technically, nothing.
In practice, who do you know that’s using it and doesn’t run Arch, by the way?
My point isn’t that IRC/XMPP aren’t technically capable.
It’s that they’re not designed for non-technical users.
I want corporate social media to die. Mastodon and Piefed are far from killing the beast, but they’ve made the more progress than most projects have seen in a long time.
I want corporate messaging to die. Matrix is far from killing the beast, but for a little while, at least it was trying.
In practice, who do you know that’s using it and doesn’t run Arch, by the way?
Well I mostly run Debian, but I do have arch on a machine so maybe I don’t count.
It’s that they’re not designed for non-technical users.
Have to agree there, it takes some effort if you’re setting it up for friends and family.
deleted by creator
damn, was not expecting to see so much hate towards matrix.
it sure was annoying to set up, but once I got it up the way I wanted, it kind of just worked from that moment on. I’ve had it for some 5 months now and it works as intended with no issues, aside from some small glitches here and there which get fixed very fast (on the mobile app).
my use case was getting off Discord with a bunch of friends, so we needed a reliable way to have multiple chats, channels/rooms and good voice chat with screen sharing. element call does those well. my federation is of course also closed. for me e2ee is just a bonus
I think that if that’s your use case, it’s good for that. synapse does seem a bit inefficient but I guess you can’t do much about itMy experience is the same as yours, but I think the people complaining are the ones who are federated and are in large communities. Matrix apparently doesnt handle large rooms very well.
fair enough, that’s true. it was one of the reasons I turned off federation, even on a beefy server synapse still lagged and timed out when I would join medium sized rooms.
IRC and XMPP are infinitely less painful, honestly, and both were designed around federation from the ground up, long before it was cool.
Matrix works good. Two years ago Element should’ve been what element Next is today. But it is getting there. It still has great backers and lots of users. As long as there is no direct alternative, it’ll get there.
I don’t want american companies owning all my data and neither do companies want that.
It’s not the shiny new kid anymore but there is no other new shiny kid. Hence, it is still the brightest and newest kid.
- DNS adjustments aren’t needed if you do .well-known delegations which is easier
- Can recommend continuwuity, it runs much better on less resources. Lacks certain features compared to Synapse but overall good
- Notifications (and read markers) depend on client-specific black magic to work
- Federation do sometimes silent-fail completely, you can reset continuwuity’s cache + restart when that happens. But full room history convergence needs patience
- Don’t join large rooms unless your server can handle the load
- Don’t host public rooms without modbots
The many small bugs make Matrix still bad - I wouldn’t recommend a non-tech user unless accompanied by a 24/7 admin. It is trying to improve but very slow because of reasons
I set it up during the outage last week.
Easy enough to just pull in the synapse docker container and run it on my home server. I wireguard it to my VPS that acts as a reverse proxy.
Both federation and push notifications work.
Way back in 2023, Matrix was the jack of all trades but the master of none. It wanted to replace Discord but the video messaging was not stable enough. It wanted to replace Slack but message searching didn’t really work. It was still struggling to get a decent client and server implementation, and message loading times were a huge pain point.
Fast forward to today, most of the problems are still there. Give it a couple more years to cook.
I switched from IRC to matrix in 2018 specifically because I found mobile difficult.
I used the suggestion in your linked document by running irssi in a tmux session on a VPS I paid for, then using a bridge to an app on my phone. I found the experience to be cumbersome even for someone like myself (and even then irssi required reboots or else it would lose performance over time).
I wanted to use IRC for a family chat, but I couldn’t possibly convince my friends and family to go through the same client setup as I did.
In my opinion there are use cases that either IRC or Matrix would be preferred over the other (not to mention other self hosted communication software).
Just host thelounge, its a web based irc client with integrated bouncer.
deleted by creator
Agree, AFAIC it’s only good at bridging protocols. Most likely an ecosystem advantage more than a protocol one.
My matrix server is nearing 5 years old. I have federation disabled, because I don’t need that - we are using it as a family chat. sqlite database I’m using is now 2GB, but other than that it is working great.
I do acknowledge that I’m not leveraging the things matrix is designed for (federation, e2e encryption), but to be honest, it’s not really good at that.
it’s perfectly fine at e2e encryption, especially if you’re not federating.
I installed synapse some weeks ago. Pretty easy, straightforward. Even managed to install some bridges.
After the last matrix.org incident and some info about the failing message retention, I just killed the server again. I’m not comfy with the service being so greedy/resource hungry and also the usability sucks at certain points.
Tbh I had no issues with synapse.
The problems that persist: Very rare issues with decrypting (as I rarely encounter it, while being in encrypted chats with 150+ users, it’s not an issue for me), apart from after you changed clients, slow image loading (a bit annoying, but ok if you multitask anyway) and clients all having different feature sets (some of which you can also hackily make work in others).
matthew the ceo addressed aot of the criticisms recently, check it out: https://www.youtube.com/watch?v=OyuqM7RbX5E
transcript with links: https://gist.github.com/ara4n/190ad712965d0f06e17f508d1a45b554
other than that, push notifications work fine for me with Ntfy. but as I heard matrix.org hs users have problems, possibly because of serverside firewall issues, investigation is stuck somehow
I have synapse server running in docker on a VPS and it’s been pretty reliable. At my office I use it as sort of a self-hosted Slack replacement. For our use case, I don’t have federation enabled, so no experience on that front. It’s a small office and everyone here uses either Element or FuzzyChat on desktop and mobile. It runs behind an nginx reverse proxy and I’ve got SSO set up with Authentik and that’s worked very well. Happy to share some configs if that would be useful.
I host synapse as docker container behind traefik and it works pretty well. I have two users on my instance, have setup the mautrix-whatsapp bridge and federate with the instance of a friend.
The setup was straight forward: Pointing the sub-domain via traefik to the service and in the homeserver.yml enable well-known which announce port https with port 443 instead of 8448.








