I’m not sure if this is the right place but me and my friend group have lately become privacy conscious and wanted to stop using discord and other types of social media, and only log onto self hosted options that only we can access.
we’ve eliminated something like Revolt (now named Stoat due to it missing ideal features and the developers being anti-decentralized (as well as being extremely hostile to the userbase noticably…)
Does anyone have any idea what would be an ideal service to use?
Why no-one has mentioned Delta Chat yet? https://runtimeterror.dev/self-hosted-chatmail-relay-for-delta-chat/
I’m in a same boat, honestly.
Matrix has decent clients but managing a matrix instance is a world of pain, especially if you federate. And its resource use is really bad then: a single user instance can easily demand 4gb ram if you are in a couple popular chatrooms. Key propagation is oftentimes broken. Clients all have mixed support of features.
Xmpp is a joy to host, but there are no decent clients for iOS.
IRC is easy to host, but the IRCv3 coverage for clients is also meh.
I was looking for something that I could throw at casual people with relative ease and there’s just not a thing. Even the “techy” chat is in discord nowadays.
Try Prosody or ejabberd. Easy to set up, needs next to no resources and works very reliably.
Rocket.Chat is a Slack-like environment under MIT license with apps for iOS and Android
I personally use Matrix for this. Artyom kinda summarizes issues of all chats pretty well. If you use Yunohost installing Matrix is at least easy. Matrix/Element is good enough and even my non tech wife is able to use it.
You could use Matrix but it is very finicky and complicated.
You could use XMPP but they don’t have any nice clients.
You could use Zulip but it’s confusing as fuck to navigate.
You could use Mattermost but it’s tied to a corporation that seems intent on removing features from the open source version to convince you to buy a license.
You could use Quiet (not self-hosted but p2p) but it’s very new and very Alpha.
You can use NextCloud Talk but that’s probably more than you need, and it seems to be very difficult to maintain for many.
I won’t engage in any arguments, these are just my opinions, and options for OP.
You could use XMPP but they don’t have any nice clients
[citation needed]
There’s at least three good clients for Desktop (multiplatform) and two for Android.
Plus, XMPP is the best thing to run service-wise. Relatively cheap, runs on a potato, not a nu-protocol that requires a server cluster and friggin’ npm.
conversations, dino for xmpp
I appreciate your take. Thanks for the contribution!
XMPP for my attempt just worked, voice and video calling too. The Android clients Monocles, Cheogram and Conversations are great, as for desktop they all look like 90’s messaging clients haha
I ultimately switched to Matrix because the encryption key sharing is much more friendly, at least for helping non-enthusiasts use it, and I didn’t realise I could decrypt old XMPP messages for new clients by transferring them manually, but at least Element Web is nice. It has flaws, definitely - on Android I find myself using Element Classic for creating unencrypted rooms and voice/video calling using my TURN server, and Element X for general messaging, caption and Markdown support. That’s another thing - for me the Element clients are the closest to being usable, the few others are borked.
In short XMPP is ugly but functional, and the client devs try their best, and Matrix is enticing but, as you said, finicky. Element is pretty but their new client that promises full e2ee for calling hasn’t reached a level I would consider out of Beta yet.
You could use matrix and host your own instance.
we’ve thought about this but the documentation isn’t user friendly for self hosting. we’re generally worried about undesirable people finding it which would not be good.
https://github.com/spantaleev/matrix-docker-ansible-deploy
Disable registrations and just create your own users manually.
you can make your instance invite only
Continuwuity.org has reasonable documentation, and you can (and should) disable signups or require a token to sign up.
The documentation you were looking at might’ve been the Matrix specification.
There is documentation on how to host a Matrix server, I’d honestly recommend using containers (maybe docker compose) for this one. It can definitely be confusing setting up a service like a Matrix homeserver for the first time.
As for other people finding it, you can (and should) make your homeserver invite-only. It’s also possible to disable federation, which makes the server self-contained. It will not accept incoming connections from other servers, nor make outgoing connections to other servers.
This does mean everyone you want to talk with has to be on your homeserver. There are probably better options available if you want to avoid Matrix’ federation issues, like Spacebar.
There is no risk of others finding it if you don’t turn on federation. It becomes a fully private instance. Just set federation to false.
Seconding this! I have my own matrix server, it can be a bit of a pain to set up, but it works better than 99% of any other alternatives (trust me, I’ve tried almost every one of them)
I started trying to set it up last week, I can’t seem to figure out why authentik and it will not play. It either tries authentik and gets a 404 or ignores it and doesn’t find the user. (Nginx is also involved). It’s the least user friendly thing I’ve tried to self host so far
for future me: Matrix, MAS, Authentik and nginx are working okay now. I because I tested out matrix, I needed to wipe the database, then my account would load right. Importantly, getting all the URLs correct was important, and important to nginx as well.
Using MAS helped clear things up, as is one set of documentation for mas as opposed to merging docs for a bunch of different authentication services to figure out what’s going on. Pay attention to the ports in their documents, and what gets routed where.
Next step: voice and video
I’ve had a little snikket (prosody docker, xmpp) sever running for a year. monacles or cheogram are just fine, playing games with the fam in the chats is really cool.
dino or gajim on desktop.
calls work well, but android doesn’t treat it as an actual phone call (home assistant automations based on phone state won’t work)
and I’ve just now gotten direct messaging tied into home assistant, so i can use it for general notifications. it’d be awesome to get encryption though.
omemo is a bit of a pain, but they’ve all caught on.
but yeah i mean, very little hassle
I wish Rocket Chat got more attention
I bailed on rocketchat a few years ago for Mattermost and never looked back. Rocketchats update cycle was insane, sometimes two releases in a week but often several a month. A few pdates required full database dumps and manual tweaking. It just wasn’t for me.
I have run it for years, and I wish they weren’t so limiting and heavy-handed in trying to force people into a paid subscription.
There are many solutions. I have chosen xmpp/ejabberd/conversations/monal.
You know, I’m really curious about xmpp, kinda wanna check it out, but then every time I am reminded that it exists it comes with a new and different chain of dependencies? other apps? whatever the other things are anyways that people list with it. And then I don’t bother researching because suddenly it seems like the more complicated option. Not intending to insult, just lamenting.
@ArchEngel @Eirikr70 You can try it out by just downloading a client and registering an account on a free server. It’s all here: https://xmpp.org/getting-started/.
Once you find a client you like and decide you want to stick with it, you can install a server you like. Prosody, snikket, and ejabberd are the most well-regarded (and snikket is just a fork of prosody that’s designed to have a super easy setup; so realistically you’re down to a choice between two).
Not quite sure what kind of privacy you need, but matrix is reasonably easy to self host, and allows you to federate if you want.
Also has plenty of clients.
If you want low tech, hosting IRC is easy too.
Irc with convos or the lounge as a web interface.
And yes, that’s what I am running.
can they have file upload/image sharing integrated? (as in not uploading somewhere and manually pasting link)
Convos and the lounge do at least pictures, not sure about files right now
Yunohost comes with a builtin xmpp chat server.
due to it missing ideal features
what features do you want? kindly elaborate
XMPP with Snikket could be an easy solution. If you don’t want to talk to the wider web make sure to disable federation.
Snikket is great. I liked my choice of Prosody with Monocles and Gajim for server, Android and Windows/Linux, respectively
Maybe https://jami.net/ ?
This one is very interesting!


















