Selfhosted
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 posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
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!
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.
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.
Snikket was easy to setup for my family.
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.
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 it
My 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.
Unable to decrypt message. Please try again.
While I appreciate the joke, I have not seen that problem in quite some time :D
This is quite annoying. When will devs learn to tell people to resolve the problem instead of just showing a pointless error messages?
afaik those errors can't really be solved by users. I mean other than using an up to date client and server.
It's still bad, and the foundation keeps digging itself into a deeper and deeper hole. Dead project.
Absolutely unbased take. Please ignore.
Matrix works fine, I have hosted a server on my own for several years through an ansible playbook here.
IRC and XMPP are infinitely less painful, honestly, and both were designed around federation from the ground up, long before it was cool.
IRC does not have any federation, and XMPP does it in a completely different way from Matrix that has unique pros and cons.
IRC is designed for you to connect to a specific server, with an account on that server, to talk to other people on that server. There is no federation, you cannot talk to oftc from libera.chat. Alongside that, with mobile devices being so common, you'd need to get people to host their own bouncer, or host one for nearly everyone on your network.
XMPP federation conceptually has one major difference compared to Matrix: XMPP rooms are owned by the server that created them, whereas Matrix rooms are equally "owned" by everyone participating in it, with the only deciding factor being which users have administrator permissions.
This makes for better (and easier) scaling on XMPP, so rooms with 50k people isn't that big of an issue for any users in that room. However, if the server owning the room goes down, the whole room is down, and nobody can chat. See Google Talk dropping XMPP federation after making a mess of most client and server implementations.
On Matrix, scaling is a much bigger issue, as everyone connects with everyone else. Your single-person homeserver has to talk with every other homeserver you interact with. If you join a lot of big rooms, this adds up, and takes a lot of resources. However, when a homeserver goes down, only the people on that homeserver are affected, not the rooms. Just recently, matrix.org had some trouble with their database going down. Although it was a bit quieter than usual, I only properly noticed when it was explicitly mentioned in chat by someone else. My service was not interrupted, as I host my own homeserver.
The Matrix method of federation definitely comes with some issues, some conceptually, and some from the implementation. However, a single entity cannot take down the federated Matrix network, even when taking down the most used homeservers. XMPP is effectively killed off by doing the same.
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.
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.
- 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
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.
If you want a conduwuit sucessor, I'd choose the continuwuity project over tuwunel. The legitimacy as the sucessor is mainly self-proclaimed, and continuwuity is a community effort. The entire thing is kind of a shitshow, though. If you want to do it like 99% of people, make friends with Synapse.
I think what you describe still holds true. You need a few correct DNS entries and an open port. Once you want VoIP, some more ports and a TURN server will be necessary. And that one took me some effort, but the server itself (including federation) was well within my comfort zone. And I run continuwuity these days because Synapse wastes way too much resources for what I do and their other efforts went nowhere. But I'm not sure about the future of those smaller Matrix server projects.
And if you don't like Matrix or can't get it to run, maybe try something like XMPP.
If you want a conduwuit sucessor, I’d choose the continuwuity project over tuwunel.
You realise that sounds insane, right?
Sure, I believe that is supposed to be uWu or maybe some kind of puppy talk. It's certainly originally started by June, who turned conduit (which is a sane name) into conduwuit.
I figured I've lost all shame anyway, back when we discussed nerd topics in the school bus or the 5 'o clock train, like Linux lore, anime, Star Trek concepts and technobabble. I mean people were staring and I'm aware of that, but I've really lost all F*'s to give. And that turns me into the person who I am today, and I'll happily write sentences like the one above. Or still talk about Star Trek in a crowded train. And these days it's the mycelial network and that really makes people question my sanity. 🫠
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.
I didn't like synapse or dendrite at all, but conduit has been great.
I did synapse about a year ago but kind of wish I had done conduit, it seems so much simpler. That being said, all of the bridges and add-ons assume you're running synapse
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).
I host my tuwunnel server and I am happy with it. The lack of a top level client is my turn down. Element X is good but still lacking, and fluffy chat is maybe better looking but more lacking.
My matrix use case is only WhatsApp and telegram backup using the bridges, actually... So YMMV.
Matrix works perfectly for me, if you're setting up a new server, I'd go with tuwunel. I'm stuck on synapse, when the tuwunel team makes a way to migrate, I'll do it.
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.
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 use https://github.com/spantaleev/matrix-docker-ansible-deploy which makes it pretty painless to self host on a vpc with Synapse as the server.
I don't have federation setup, since I just use it with friends. So besides running the update command once a week, I don't even think about maintaince.
I recently shut down my server because it's a high traffic, high risk software. You should have an eye on it, I'd say at least half an hour every week...
I've been wanting to get matrix up for my family and friends to chat with my 6 year old on her tablet. I found nextcloud talk to do all the things I wanted with none of the hassle. My daughter is a ridiculous texter.
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.