Selfhosted messenger/community software like discord
Hello, I would like to hear your opinions about a good selfhosted messenger like discord.
To list exactly what I mean by that is:
- No need for federation ( only will be used by friends )
- E2EE
- Support for direct messages
- Support for discord like server management by which I mean the ability to set rooms and topics for such rooms.
From what I know, this seems to be more similar to slack alternative's but wanted to hear opinions of others.
I have been thinking about either matrix, mattermost, rocket.chat or revolt chat.
I already have a XMPP server, but setting up encryption and client's has turned away quite a few people I would like to get onto this platform.
EDIT: As pointed by other people E2EE isn't needed for my usecase if no federation.
Do you even need E2EE if it's a private server with no federation? It seems like transport encryption would be fine which almost everything has.
That's a fine but, as long as the server was hosted at my personal devices, which it isn't but on a hetzner dedicated box. Which is still better than on shared pc's.
Don't really need it, it's just nice to have.
If you're worried about unauthorized access to the physical machine, you could always just do disk-level encryption instead or store the app's data in something like a Veracrypt virtual disk. They'd still be able to access the data if they go through your OS/user, but wouldn't pick anything up by accessing the drive directly.
Nothing short of E2EE can truly stop someone from accessing your data if they have physical access to the server, but disk encryption would require a targeted attack to break, and no host is wasting their time targeting your meme server. I seriously doubt they'd access it even if you had no encryption at all, since if they get caught doing that they'd get in a heap of legal trouble and lose a ton of business.
That's why I said E2EE is nice to have, but not required.
It still has to transit networks, and I'm assuming they're using the internet.
Anymore, all comms (even local), should be encrypted.
That is what transport encryption does.
Yeah most things support transport encryption, SSL for example with HTTPS.
Matrix is pretty user friendly imo but you will not get data-gobbler‘s levels of convenience because they have billions to invest in the software, FOSS doesnt. It works out of the box mostly but you as admin need to be quite adept.
Revolt is self-hostable. It isn't E2EE but if you're controlling the users anyways transport encryption should be enough since you have control over the data anyway.
I tried to set this up recently but failed. I wish there was a up to date noob friendly guide for this. IIRC some containers, mongodb was one of them, didn't go healthy.
I never actually tried myself, but it seems like the documentation certainly could be improved. I saw that they provide a Docker compose, so perhaps that could be of help if you didn't use that the last time around. They are currently in the process of cleaning up the projects to make things more maintainable and easier to get an overview, so let's hope things might improve a bit. I think for me personally, this certainly seems like the most promising Discord replacement because it feels like a set and get solution for non-techy people trying to switch instead of relearning everything like with Matrix.
OTOH, may not fit all your criteria:
Update: Ended up setting up a mattermost server.
Main reason cause it's the easiest to setup as it only need 2 containers.
Edit: Might create a specific team just for selfhosters where people from this lemmy community can talk about posts there, or generally about selfhosting
Edit 2: I have created "Casual selfhosters" team on my mattermost instance, will create a post either later today or tommorow promoting it, but for now will leave an invite link here so feel free to join in and talk about selfhosting! [https://mm.cronyakatsuki.xyz/signup_user_complete/?id=trbsbo38c3bu7kqirx644wcqiw&md=link&sbr=fa](Invite link)
For XMPP, have you looked into using snikket? It does most things you'd want out of the box without having to setup extensions yourself.
Mattermost isn't e2ee, but if the server is run by someone competent and they're allowed to see everything anyway (eg it's all group chat, and they're in all the groups) then e2ee isn't as important as it would be otherwise as it is only protecting against the server being compromised (a scenario which, if you're using web-based solutions which do have e2ee, also leads to circumvention of it).
If you're OK with not having e2ee, I would recommend Zulip over Mattermost. Mattermost is nice too though.
edit: oops, i see you also want DMs... Mattermost and Zulip both have them, but without e2ee. 😢
I could write a book about problems with Matrix, but if you want something relatively easy and full featured with (optional, and non-forward-secret) e2ee then it is probably your best bet today.
I remember setting up a TeamSpeak server back in 2012 before Discord took over. Worked for us at the time.
Mumble is the go-to solution for that these days. Even has a nice Android client.
My friend group uses discord just for screen sharing. All voice comes are still in TS. It's funny to boot up discord and see 9 people in the same channel all muted with streams going.
Revolt will be perfect for you it perfectly mimics the Discord UI/UX, and you don't need E2EE if you are in control of the server
For me it’s very hard to convince my friends to move from discord. I myself run matrix server on dedicated machine.
Matrix is nice and Mattermost is basically self hosted Slack. Probably better off with Matrix, if you don't need voice. Mattermost I'd you do. Rocket chat seems nice as well. I'd probably run Matrix and Mumble?
We ran RocketChat at work for a few years before migrating to Teams.
RC could be good, but maintaining it long-term was an enormous pain. Maybe it's better now, certainly if you're using docker... But a manual install was always a laborious task on upkeep for us. Also worth making sure you don't need commercial features, as they've removed free features in the past to drive sales...
Yeah, for business I use both and Slack is quite nice to work with. Everyone forgets the hidden cost of running your own chat server. It's fine for a hobby, but I'd always have a larger company run critical back end services. They have the time and the money to invest in keeping things working when it matters most.
Matrix does support voice, and I found the quality to be amazing.
Slack is crap and matter most has mimicked all its worst parts.
Zulip is pretty nice and I think it resembled discord the most out of the software I know
I’ve just started a Zulip POC and it’s been decent so far. Definitely resembles Discord.
Pretty bad experience with matrix here. Many users have issues with decrypting messages or having some conversations unable to open. Sometimes we have to disable the encryption, and in some case it don't work either. In all cases, we couldn't find too old messages. Usually you have to balance between safety and archives; both are unreliable. Migrating a community to a specific protocol is not something you could repeat a lot.
I don't know if it's related with the servers, or with the protocol itself. I suspect that things get ugly when your conversations are too big, but it could be the latency between servers, or lack of ressources from server side. If so, you have consider to selfhost a matrix server, or to consider it as not federated, and use the server matrix.org like everyone (which seems to work fine).
Suggesting to use matrix.org as "everyone" uses it ? There are other choices instead of making a big flagship instance bigger.
I have a Matrix account on https://tchncs.de since years. Though I don't use it often, the admin seems to do a good job and provides bridges.
Yea, matrix is too much for that I need, an dhave seted up a mattermost server for my needs.
Planning to create a selfhosted team on it for the people of this communitty to talk real time about selfhosting and help each other fix issues in a more timelly and easier manner.
If you need E2EE there's only Matrix. I wish it wasn't the only option, but it is. For setting up rooms and so on you can use their Spaces feature, I think.
I've been looking for an alternative, too: https://feddit.de/post/8502516
I’ve recently been testing Mattermost for a family communication platform. I also tried matrix/element and Rocket.Chat. I’m leaning towards Mattermost since the mobile apps (essential for my family) feels the most intuitive.
Element required knowing what features existed and then finding them which isn’t going to work for grandma.
Rocket.chat was good too just leaned towards Mattermost for some reason.
I really wish matrix had a well polished iOS app. The best I found was FluffyChat but even then it felt…not right.
From the ones you mentioned only Matrix supports full E2EE.
You are correct. Matrix is the only one that has an option to use e2ee. Rocket chat has it it beta but that may take some time to roll out.
Sorry to hijack — does Matrix have support for voice channels now? I know it has support for voice calls, but I’d like to just join a designated voice channel and allow other members to join as they please.
Element is running a beta for Video Rooms which is basically exactly this. However it isn't standardized yet and I haven't tried it.
No. I don't think any of the here proposed solutions other than Mumble (and Teamspeak) does. Maybe Revolt?
Pretty sure it integrates with Jitsi, so that's one option for calls
I've got my instance of matrix working with voice calls. It's not built in, but it's just another service in my compose file alongside the bridges I use to have my unified chat app.
I'm using coturn and it just works when doing voice and video calls with federated users.
I think I've seen people using jitsi as well, so it seems there are many options available
What about Zulip?
You can use Revolt. Literaly Discord clone. https://github.com/revoltchat
Neat! I'll check it out!
If you run things on your own server and have no federation there is no point in e2ee.
If you already have an XMPP server, maybe add an easy to use Movim web-client to it. People that are used to Discord seem to have little trouble adapting to it, but it isn't a full feature equivalent to Discord obviously.
Just because they run the server doesn't mean the users want them to be able to access the messages.
Then just don't?
Whether I do or don't is irrelevant, it's the fact I can read them that's the problem.
Nobody will use your selfhosted services if they know you're able to snoop. People tend to actually be very privacy conscious. Ironically they keep using online services that shit on their privacy, but that's mostly because they don't realize how bad it is. Also it's super ironic that this realization only comes around when they're exposed to private selfhosted services.
I get these kind of questions from friends and family all the time. I propose to backup their files on my server and enter them into the incremental backup rotation, one of the first things they ask is "so you'll be able to see my files". I propose to set up Immich so photos can be automatically backed up and they get face recognition and so on, they refuse because I would see all their photos. I offer them to use something like video or music streaming, they ask if I'll be able to see whenever they go online and listen/watch something and when the answer is yes they say no thanks.
And to be honest I don't want to know those things either. And for some things it's possible to avoid it, like for the files I can set up an encrypted backup. But I can't help having access to Immich photos or see when they're listening to music.
Everybody needs their privacy and as a selfhoster you need to be very mindful of that.
Uhm, honestly that's a you issue if your own friends and family don't trust you even that much.
You keep missing the point. When you have access to everything you can inadvertently be exposed to something you don't need to see. I don't want to get a notification from the backup system saying "folder /syncthing/dad/Furry Porn changed while we were reading it" and then have to go gouge my eyes out. This is the kind of thing that can happen when you ask someone to entrust you with ALL their most private stuff. Everybody has secrets and stuff they need to stay private.
So instead of asking "am I trustworthy" you need to ask "do I REALLY want to fucking risk stumbling over super private stuff"? Because I can guarantee you will sooner or later.
Sorry, but you are making excuses and you know full well that other online services are not any more secure, but less so. If something like your totally made up example would actually happen then you would need to have a stern talk with your dad about not uploading stuff like that to a remote computer, period.
E2EE is a band aid at best and mostly used to justify using commercial services that are inherently untrustworthy.
Online services propose to people that their data is only seen by them and robots. You as self-hoster propose to them that their data can be seen by them and you, a dear friend or relative.
If you think they're going to prefer risking disclosure of embarrassing stuff to friends or family over faceless robots you are being very naive and have probably led a very happy, sheltered life so far. Which is great, don't get me wrong, and I hope it goes on for a bit.
Seen by them and any random employee, and in addition actively searched through by robots to sell data to advertisers or insurance etc.
And no, I have not lived a sheltered life, but I am telling you that if your friends and relatives do not trust you to not snoop on their stuff that tells me more about you than it tells me about them. Maybe something you should reflect on instead of finding excuses.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
3 acronyms in this thread; the most compressed thread commented on today has 12 acronyms.
[Thread #711 for this sub, first seen 24th Apr 2024, 22:35] [FAQ] [Full list] [Contact] [Source code]