XMPP as a Discord alternative for small group?
from hexagonwin@lemmy.sdf.org to selfhosted@lemmy.world on 06 Apr 2024 08:04
https://lemmy.sdf.org/post/14959242

Hi. I have a group of 6 people using Discord to chat. Recently Discord changed a lot and we’re looking for an alternative. We have a few requirements:

IRC isn’t an option as chat history is saved on the client, and there’s no good integrated way to share files and preview images. Matrix would be an overkill as we’re a small group not interested in federation, and the available clients had a few bugs. Mattermost lacks a good mobile app (their current one had bunch of bugs). XMPP appears to be the best as it is extensible and has many clients available.

However, I tried configuring prosody on my FreeBSD server and it seems like it doesn’t permanently save chat history or attachment files. Does anyone know if these can be solved? Or is there any better alternative than XMPP?

Thanks.

#selfhosted

threaded - newest

LodeMike@lemmy.today on 06 Apr 2024 08:10 next collapse

You can have non-federated Matrix. And XMPP is federated as well.

XMPP is probably fine. I haven’t used it but people say it’s good.

hexagonwin@lemmy.sdf.org on 06 Apr 2024 09:33 next collapse

You’re right that XMPP is federated as well and Matrix can be non-federated but I’ve heard some people had trouble with the Synapse server chugging resources despite not using federation.

tsl@lemmy.stefanoprenna.com on 06 Apr 2024 09:46 next collapse

I’ve been self-hosting Matrix Synapse for more than two years to chat friends and family and it has been rock-solid and it’s on a VPS that os hosting a Nextcloud and Lemmy instance as well. It is definitely not really resource hungry for small groups of people.

If you want to try again this route, just make sure that everybody saves a backup of their keys as the messages are all encrypted and while you can authenticate a new client installation from another client that the same user is logged in, some people - like my mother - only use one, on her phone, which is understandable.

So in summary, I’m very happy with it! :)

EngineerGaming@feddit.nl on 06 Apr 2024 12:08 collapse

How much CPU, RAM and storage does it consume for you?

tsl@lemmy.stefanoprenna.com on 06 Apr 2024 14:09 collapse

That is a good point… on average it’s around 500Mb of RAM usage, between 0.5% and 1% of CPU (it’s a 2.4Mhz four cores).

Space is 5Gb, mainly media files accumulated over two years.

So overall, not bad.

LodeMike@lemmy.today on 06 Apr 2024 18:36 collapse

Tell them to fix it that shouldn’t happen.

TCB13@lemmy.world on 06 Apr 2024 10:47 collapse

Yes, but Matrix a plague of questionable open-source and a metadata disaster.

Matrix’s E2EE does not, however, encrypt everything. The following information is not encrypted: Message senders, Session/device IDs, Message timestamps, Room members (join/leave/invite events), Message edit events, Message reactions, Read receipts, Nicknames, Profile pictures

Matrix is developed by a for profit entity, a group of venture capitalists and having a spec doesn’t mean everything. The way Matrix is designed is to force people into jumping through hoops and kind of drawing all attention to Matrix itself instead of the end result.

Decentralized communication protocol Matrix shifts to less-permissive AGPL open source license Element, the company and core developer behind the decentralized communication protocol known as Matrix, has announced a notable license change that will make the open source project just that little bit less appealing for companies looking to build on top of it.

techcrunch.com/…/decentralized-communication-prot…

Stop recommending questionable open-source like Matrix. XMPP is the true and the OG federated and truly open solution that is very extensible. XMPP is tested, reliable, secure and above all a truly open standard and decentralized it just lacks some investment in better mobile clients.

What people fail to see is that XMPP is the only solution that treats messaging and video like email: just provide an address and the servers and clients will cooperate with each other in order to maintain a conversation and it can be configured to be secure and private. Everything else is just an attempt at yet another vendor lock-in. Here a quick overview of the architecture.

EngineerGaming@feddit.nl on 06 Apr 2024 12:07 next collapse

What also bothers me is how prominent matrix.org instance is. So you got a system that is supposed to be decentralized… Yet defederating from the one central server would break a lot.

TCB13@lemmy.world on 06 Apr 2024 15:19 collapse

The way Matrix is designed is to force people into jumping through hoops and kind of drawing all attention to Matrix itself instead of the end result

That’s just another detail where we see that.

LodeMike@lemmy.today on 06 Apr 2024 18:34 next collapse

Does XMPP not have the same metadata?

poVoq@slrpnk.net on 06 Apr 2024 18:56 collapse

No, or rather not quite. XMPP is designed on a need-to-see system where basically only the meta-data that a server or client really requires to function is shared with it. This can mean that there is quite a bit of meta-data shared with various servers in a popular group-chat, but that is rather the exception.

Matrix on the other hand is designed as a replicated data-store, meaning that really everything is shared with every connected server by design. The reason for this is so that chats can continue to function even when the original server is removed etc. This was the big original selling point of Matrix, but lately they have been somewhat quiet about it as it largely contradicts privacy concerns and might even be fundamentally GDPR incompatible. In any case it is pretty much a meta-data nightmare.

TCB13@lemmy.world on 06 Apr 2024 19:12 next collapse

Let me add the following: the problem is that that metadata is all over the place AND you can’t remove it from those 3rd party servers. Also there’s a ton of questionable stuff like read receipts and reactions that are never encrypted (not sure if this was fixed already). XMPP with OMEMO enables will encrypt everything.

poVoq@slrpnk.net on 06 Apr 2024 19:42 collapse

Currently the OMEMO as implemented in most clients only encrypts message content, but not the meta-data. There is a newer, sadly incompatible version that encrypts more, but few XMPP clients support it (AFAIK only Kaidan and Moxxy).

TCB13@lemmy.world on 06 Apr 2024 20:46 collapse

About the metadata part: one of the issues with Matrix is that it considers some stuff like read receipts as metadata. In XMPP all that information is special messages inside your conversation thus they get encrypted as well.

LodeMike@lemmy.today on 06 Apr 2024 19:26 collapse

Well you also can’t remove shit on someone else’s email servers so is that not GDPR compatible?

poVoq@slrpnk.net on 06 Apr 2024 19:40 collapse

In the case of email you have to actively send something to someone for it to be on their server. In Matrix it is sufficient for a 3rd party to join a chat for them to get the entire chat history (hopefully e2ee) including all meta-data back to the very first day the chat was created.

LodeMike@lemmy.today on 06 Apr 2024 19:53 collapse

They’re actually working on that, which is nice. It’s called lazy loading I think? Not sure if it’s implemented yet.

poVoq@slrpnk.net on 06 Apr 2024 20:03 collapse

No, that is only solving the problem of long loading times when first joining a chat (caused by the server having to download the entire chat history and meta-data). Eventually the server still has to synchronize the entire chat. There is no way around it by design.

LodeMike@lemmy.today on 06 Apr 2024 19:26 collapse

Yes, but Matrix a plague of questionable open-source and a metadata disaster.

Matrix does not “leak” metadata. It HAS metadata.

TCB13@lemmy.world on 06 Apr 2024 20:47 collapse

Fair enough 😂😂😂

barbara@lemmy.ml on 06 Apr 2024 08:11 next collapse

You don’t have to federate with matrix.

Curious: what are the bugs you encountered? I guess you looked deeper into element (or schildichat). The next version is on its way but not yet ready for prime time. In the long run it’ll be your best bet.

hexagonwin@lemmy.sdf.org on 06 Apr 2024 08:46 collapse

One of the members and I used to chat on Matrix some time ago. I didn’t encounter much issues but he had an awful experience (android/Windows, encryption related things and minor glitches on the client such as when syncing) that he refuses to move to Matrix unfortunately…

barbara@lemmy.ml on 06 Apr 2024 11:40 collapse

Understand the issue. I know those bugs. Those were funny times. That didn’t happen in a long time

poVoq@slrpnk.net on 06 Apr 2024 11:46 collapse

Happened to me yesterday on the official element webclient 🤷‍♂️ These are far from solved.

WeAreAllOne@lemm.ee on 06 Apr 2024 08:20 next collapse

Many years ago I used XMPP with Prosody and it was ok.

  • You can setup some retention time for attachments and history depending on the space you have.
  • There are clients for multiple platforms but not very much advanced vs competition.
  • Security is good with omemo protocol. In so e clients you have to turn it on since it’s not by default.
  • Audio video calls on one to one is good as long as you setup stun coturn server. Android to iOS calls still in progress.
  • Check out Snikket for an all in one solution.

You might want to also consider Matrix (dendrite option ?) for your needs.

hexagonwin@lemmy.sdf.org on 06 Apr 2024 08:49 next collapse

Thanks. Have you tried configuring infinite time for retention/attachments/history? I can’t find a way to disable those limits completely. Conversations on Android and Pidgin on Linux/Windows look pretty good, I’ve yet to find a good OSX one though. I’ll try checking out Snikket, thanks.

poVoq@slrpnk.net on 06 Apr 2024 11:49 next collapse

Please don’t use Pidgin, its horribly outdated and doesn’t properly support nearly everything you want. For Windows Gajim is currently the best option, otherwise see: joinjabber.org

WeAreAllOne@lemm.ee on 06 Apr 2024 19:28 collapse

Unfortunately I don’t remember about the retention setting.

I would avoid Pidgin since I’m not so sure they implement fully omemo encryption. Try Gajim.

EngineerGaming@feddit.nl on 06 Apr 2024 12:04 collapse

I just started hosting Matrix in addition to XMPP (just because some communities prefer it now), and I find it bothersome that it saves chat history and media to every participating server. IDK how much of an issue chat logs would be, but media scares me a lot. Hopefully cleaning old files manually would not break anything…

Anyway, I started with Conduit rather than Dendrite, and it seems like a good experience. Could not even hope to get Synapse going on my weak VPS.

WeAreAllOne@lemm.ee on 06 Apr 2024 19:25 collapse

Ah good to know about Conduit!

Well that’s how the protocol works saving data on every participating server.

Simplex chat might be another alternative but is on early development as far as groups and desktop client.

Sagar@sopuli.xyz on 06 Apr 2024 09:07 next collapse

You all are welcome at DumbDevices XMPP. You can create an account with conversations app.

hexagonwin@lemmy.sdf.org on 06 Apr 2024 09:32 collapse

Looks great. Though we’d prefer selfhosting as of now. Thanks for the info.

Sagar@sopuli.xyz on 06 Apr 2024 09:55 collapse

For 6 people, why do you want to host a server? You can use any service for now.

anyhow2503@lemmy.world on 06 Apr 2024 11:15 next collapse

I get what you’re saying, but this feels like a weird question to ask in a community for selfhosting enthusiasts.

Sagar@sopuli.xyz on 06 Apr 2024 14:09 collapse

I host an XMPP server. I did it as there is none here in Bharat. It is not worth hosting for 6 people.

BearOfaTime@lemm.ee on 06 Apr 2024 20:38 collapse

Only a small set of users is all the more reason to self-host, in my opinion.

Sagar@sopuli.xyz on 07 Apr 2024 08:20 collapse

‘Small’?

EngineerGaming@feddit.nl on 06 Apr 2024 12:01 next collapse

A lot of people (me included) host servers for a single person, lol. This is more than normal.

667@lemmy.radio on 06 Apr 2024 11:18 collapse

It seems they would like the flexibility to administrate the server any way which suits them. Using someone else’s server would complicate that, and expose their discussions to unknown administrators.

Those are just the things I can think of right off the bat.

dominiquec@lemmy.world on 06 Apr 2024 09:22 next collapse

Nextcloud has chat capabilities. Perhaps it might be overkill for chat alone but presumably you also want some collaboration with documents.

hexagonwin@lemmy.sdf.org on 06 Apr 2024 09:31 next collapse

It’s just a room for chatting among friends so not really, but I’ll check this out as well, thanks.

TCB13@lemmy.world on 06 Apr 2024 10:45 collapse

Yes, but Nextcloud is also a perpetually half made project that breaks at every corner and requires a lot of resources.

dominiquec@lemmy.world on 06 Apr 2024 11:24 collapse

Speaking from experience from the last five years, it’s been pretty good for me.

poVoq@slrpnk.net on 06 Apr 2024 10:28 next collapse

Prosody can be configured to permanently save chat and files, you just need to change the default settings. If I remember correctly an empty value for the retention means infinite, but I don’t think that is a good idea as it just wastes storage space.

Otherwise I think you will run into issues with search as none of the xmpp clients consider permanent searchable history to be particularly important. And I tend to agree, as chat is among the worst possible ways to store information, no matter the search capabilities.

hexagonwin@lemmy.sdf.org on 07 Apr 2024 18:58 collapse

You’re right that it’s not ideal, but somehow people like it… :/

Thanks anyway, I’ll try if that works.

TCB13@lemmy.world on 06 Apr 2024 10:51 next collapse

I would go with Prosody or Ejabberd, and here’s a good comparison: stackoverflow.com/a/45531372 and Ejabberd is the most used thing out there. xmpp.org/software/

hexagonwin@lemmy.sdf.org on 07 Apr 2024 18:57 collapse

Thanks. I’ll try Ejabberd as well :)

solidgrue@lemmy.world on 06 Apr 2024 11:51 next collapse

I maintained an ejabberd server for myself and a few friends for many years. The config language was a little arcane to me at first, but it was pretty solid after I got it set up. I used a couple of different client apps with it over that time, most of which are still available on the F-droid repo. It was fun, but got annoying when the server needed maintenance, or was down, or because of any of the other minor nuisances that come along with maintaining a service for others to use.

Eventually we all ended up just moving over to Signal because it was just as good from the view of cost-benefit and risk for us. We’re just trading stupid memes and Saturday night stories among ourselves. The most radical thing we might organize is a trip to Vegas for the week.

Definitely try it out, but consider that being a comms provider for others is always a bigger chore than it seems at the outset.

EngineerGaming@feddit.nl on 06 Apr 2024 12:00 next collapse

The most annoying thing about Signal is that they don’t for some reason allow registering from desktop directly, so I had to use signal-cli. Which is inconvenient AF and it’s a shame they haven’t added a feature as simple as “input an SMS code in the desktop client”.

Anyway, glad I only have to use it for a couple of guys and only with my real identity. So happy XMPP exists, and I have most of my 1-to-1 messaging with internet friends there. Very easy to host.

solidgrue@lemmy.world on 06 Apr 2024 12:08 collapse

I hear you. The desktop wasn’t Signal’s primary market, and that’s pretty clear in their implementation. On the other hand, that difficulty registering a desktop servuce may make it less attractive to would-be bot farms and spammers. Its a thin one, but I see that as a silver lining.

EngineerGaming@feddit.nl on 06 Apr 2024 12:11 collapse

Not just bot-farms and spammers, but just a regular person. What is Signal’s main feature? Encryption. You would not want to expose your sensitive chats to a smartphone, unless it has a privacy-respecting OS (which not all phones can do). Good thing I only have to use it with a couple of guys who don’t want to use other encrypted communication methods.

Dran_Arcana@lemmy.world on 06 Apr 2024 12:58 next collapse

Did you ever get carbons working properly? (As in, mobile and desktop clients of the same user both getting messages and marking as read remotely between them)

brunacho@scribe.disroot.org on 06 Apr 2024 13:30 next collapse

that is not carbons though, carbons is working properly. Apparently they talked about this issue in the latest XMPP group meetup so something may be in the works.

poVoq@slrpnk.net on 06 Apr 2024 14:06 collapse

Yes, see: xmpp.org/extensions/xep-0490.html

brunacho@scribe.disroot.org on 06 Apr 2024 17:57 collapse

wow, that is so cool. A few weeka ago I talked about this with a server owner and he consulted a prodigy developer and told him what I said above. Amazing they got round to it so quickly. Thanks for the details.

poVoq@slrpnk.net on 06 Apr 2024 13:32 collapse

Getting messages synced between modern clients works reliable since a long time.

Marking them as read on the other hand is not a feature of message carbons and there were different sometimes contradicting ways how that was implemented (it is a surprisingly complex topic).

That said, just a few weeks ago there has been a renewed effort to standartise message read synchronization and it looks like the major clients are on board this time, so I hope that will get much better soon.

solidgrue@lemmy.world on 06 Apr 2024 13:59 next collapse

No, we all only ever used single mobile clients. Sorry I can’t help

Dran_Arcana@lemmy.world on 06 Apr 2024 14:01 collapse

Sorry I should have said “carbons and carbons related qol extensions”

mbirth@lemmy.mbirth.uk on 06 Apr 2024 17:24 collapse

I also had an ejabberd running for my family. Configured all the XEPs that take it into the current century. Had Conversations as a client for Android and Monal on iOS. No problems at all - apart from Monal being a bit wonky at times. But I assume these bugs are all fixed by now.

Also, Conversations is THE XMPP client. The guy behind it is involved in lots of XMPP stuff. And Monal tries to be the same for the iOS world.

But similarly, we all switched to Telegram over time as that’s where my parent’s friends are, too.

boblemmy@lemmy.world on 06 Apr 2024 13:53 next collapse

delta.chat

mbirth@lemmy.mbirth.uk on 06 Apr 2024 14:30 next collapse

Yes, and this can be paired with a self-hosted mail server, too.

gray22@lemmy.ml on 06 Apr 2024 15:00 next collapse

This is interesting. I’ve never heard of this project but it looks really neat.

boblemmy@lemmy.world on 07 Apr 2024 04:07 collapse

We’ve been using it on our phones and desktops for three years now, it’s very stable

gray22@lemmy.ml on 07 Apr 2024 11:14 collapse

Do you self host your email or use it with an email provider? Also, does it need its own inbox/address to function? I can’t really tell from the documentation if it functions along side normal emails or if it’ll mess up your inbox if you use it with your normal inbox/address.

boblemmy@lemmy.world on 07 Apr 2024 11:50 collapse

We use a self-hosted roundcube mail server, which is not necessary, and we did initially assign each person an additional account dedicated to delta.chat to prevent inbox clutter, but that didn’t happen.

Nowadays, we prefer to send and receive emails in delta.chat. One of my groups already has 70 members, contains a lot of images and PDFs, and it’s still very fluid to use.

We also run bots for integration with other systems, such as task management, meeting notifications, etc.

gray22@lemmy.ml on 07 Apr 2024 14:00 collapse

Awesome - thanks for the info!

hexagonwin@lemmy.sdf.org on 07 Apr 2024 18:57 collapse

Looks interesting, but isn’t this slow though?

Our chatroom is very active and the members won’t move if it’s much slower compared to Discord unfortunately…

boblemmy@lemmy.world on 08 Apr 2024 01:01 collapse

It’s basically real-time, even sending large files is very fast, I don’t know the details of the reason, maybe it’s because there is not much difference between IMAP and TLS, or because the roundcube we deploy is super fast?

aksdb@lemmy.world on 06 Apr 2024 19:01 next collapse

I am surprised that no one mentioned snikket yet, which is essentially a distribution of Prosody with sane defaults and a custom client.

hexagonwin@lemmy.sdf.org on 07 Apr 2024 08:33 collapse

Thanks, actually WeAreAllOne@lemm.ee mentioned it earlier lol. I’m planning to try this as I get a linux box running.

Hiro8811@lemmy.world on 06 Apr 2024 20:04 next collapse

Hands down Revolt. Best alternative I have found so far.

hexagonwin@lemmy.sdf.org on 07 Apr 2024 08:32 collapse

I’ve tried installing and using revolt. It’s okay and our members like it but the lack of support and a usable control panel makes it hard to choose.

Shape4985@lemmy.ml on 07 Apr 2024 07:10 next collapse

Signal is a good alternatives as you can group call and screen share (no audio), share images and videos etc. Messages are saved locally on devices unless a timer is set on the chat

hexagonwin@lemmy.sdf.org on 07 Apr 2024 08:32 collapse

Thanks, but it’s not ideal for our usage, it’s not selfhosted and there aren’t many clients available. Plus it doesn’t have unlimited message and attachments history.

orcrist@lemm.ee on 07 Apr 2024 09:02 next collapse

Prosody claims to support Message Archive Management and HTTP file sharing, sounds like the feature you want, or at least it is close.

hexagonwin@lemmy.sdf.org on 07 Apr 2024 19:00 collapse

Yeah it seems to have bunch of plugins but it’s not working well for some reason… :(

Unpigged@lemmy.dbzer0.com on 07 Apr 2024 11:24 next collapse

Which flavor of XMPP you tried?

hexagonwin@lemmy.sdf.org on 07 Apr 2024 18:55 collapse

As I mentioned in the OP I tried Prosody on my FreeBSD server, I’ve yet to get attachments working.

Unpigged@lemmy.dbzer0.com on 07 Apr 2024 20:02 collapse

Oh sorry, misread exactly this part. I’ve had great experience with ejabberd, maybe worth trying it.

Decronym@lemmy.decronym.xyz on 08 Apr 2024 01:05 collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
HTTP Hypertext Transfer Protocol, the Web
IMAP Internet Message Access Protocol for email
SSL Secure Sockets Layer, for transparent encryption
TLS Transport Layer Security, supersedes SSL
VPS Virtual Private Server (opposed to shared hosting)

[Thread #663 for this sub, first seen 8th Apr 2024, 01:05] [FAQ] [Full list] [Contact] [Source code]