this post was submitted on 10 Nov 2026
93 points (100.0% liked)

Selfhosted

63779 readers
349 users here now

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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

I've been using Signal for many years now, and it fulfils most of my messaging needs. But last year's AWS outage, which took it offline for almost a day, showed one of its many flaws: Signal is highly centralised and reliant on big tech infrastructure.

I was therefore wondering if I shouldn't start self-hosting my own messaging infrastructure - maybe not for my day-to-day needs, but as an emergency fallback for my closest friends and family, should Signal fail again or become unavailable or compromised (looking at you, EU Chat Control!).

My first thought was to self-host my own Matrix/Synapse server, which ticks a lot of boxes for me: end-to-end encryption, media sharing (pics, audio, videos, all that good stuff), high availability of mobile clients with modern UIs, potentially even audio/video calls. The latter is still giving me a headache since apparently, I need a TURN server to get this working properly, and I'm somewhat reluctant to open so many ports just for it to work...

What's your perspective on self-hosting messengers: which ones do you prefer? What is your primary motivation to do it? And how have you set it up?

you are viewing a single comment's thread
view the rest of the comments
[–] lambalicious@lemmy.sdf.org 34 points 3 days ago* (last edited 3 days ago) (3 children)

Self-hosted messaging was solved decades ago, it's called XMPP or Jabber depending on who do you ask. There are a number of services for it, such as Prosody or ejabberd, and there are both client apps (eg.: Conversations for Android, Gajim or Dino for PC) and a number of webclients (such as converse.js which can actually be shipped via a ejabberd install).

That said you could just set up an alternative Signal client that allows for custom servers, since the centralization of Signal only really exists at the level of the client only connecting to Signal's servers.. Signal's people have pointed this out themselves, when offering bridge setups so that people could connect from Iran or other countries where those countries blocked Signal's endpoints.

[–] smiletolerantly@awful.systems 8 points 2 days ago (1 children)

I unfortunately wouldn't call it solved. I host XMPP and Matrix, (and a STUN/TURN server, and a Livekit server for the modern matrix calls...), and nothing is perfect.

Prosody is really great because it's so no-nonsense. It doesn't hog resources or choke up like matrix servers do if you suggest to them that maybe they could deliver this text message? :3 Oh, no, it's "hold for 2 weeks despite the recipient being online" again? Ok...

But XMPP is still incredibly hard to recommend for me, because

  1. no way to read old chats on new devices, which honestly is close to a deal-breaker for many people, myself inclided. And
  2. apart from maybe monocles on android, the clients just suck ass. They're bad. Their UI/UX is stuck 20 years ago, and that does matter.

Hence why I still mostly use Matrix... Even though it's such a stupid, stupid protocol.

[–] Andres4NY@social.ridetrans.it 4 points 2 days ago (2 children)

@smiletolerantly @lambalicious "no way to read old chats on new devices,"

If you're talking about unencrypted messages, then prosody's mod_mam (https://prosody.im/doc/modules/mod/_mam) will store messages for a configurable amount of time and allow all devices to sync older messages.

If you're talking about encrypted messages, you have two choices. OMEMO is the standard means for encrypting XMPP messages, & only works in forward mode; you can't decrypt old messages. OpenPGP, however, decrypts old msgs.

https://prosody.im/doc/modules/mod_mam

[–] smiletolerantly@awful.systems 2 points 2 days ago

Yes, encrypted (otherwise what's the point? 😄). I'll admit I haven't tried the PGP version yet. How's client support? For OMEMO it's pretty lackluster, from what I've heard not much different for PGP?

In any case, perfect forward secrecy is definitely a good thing / strength, but I'd like a way to re-encrypt messages from an old device, just as an example, during the setup process; or a standardized way to export all history; or just something beyond "either use worse or no encryption, or loose access to your history eventually".

[–] Andres4NY@social.ridetrans.it 1 points 2 days ago

@smiletolerantly @lambalicious tbh though, I've never used openpgp with xmpp because I prefer OMEMO's forward secrecy. Transferring/introducing a new device, I usually back up chats on the old/current device and import it into the new device's client.

[–] mjr@infosec.pub 4 points 3 days ago (1 children)

+1 for prosody. But you'll still probably need a turnserver for calls, won't you?

[–] lambalicious@lemmy.sdf.org 2 points 2 days ago

I'm unsure what's the progress status over there so I'll say "yes?".

Which reminds me, I think there is a binding somewhere that lets XMPP send SMS messages, but dunno how if any is that related to phone call compatible audio.

[–] possiblylinux127@lemmy.zip 0 points 2 days ago (2 children)

I have literally never heard anyone mention xmpp outside of Lemmy. Anyways it is a dead technology due to how fragmented it is along with its reliance on XML

[–] lambalicious@lemmy.sdf.org 2 points 2 days ago (1 children)

What's so wrong with XML? All web browsers use it (HTML is literally slightly-freeform XML), Libreoffice also does (XML is part of the Open Document format spec), Freedesktop... eeeh, let's not mention them, and so far we are doing golden.

[–] possiblylinux127@lemmy.zip 1 points 2 days ago

XML is really inefficient and sometimes vulnerable to denial of service attacks due to it being hard to parse.

[–] 0x0@lemmy.zip 1 points 2 days ago

Oh yeah, very dead... omg so dead... like, no one uses it... at all...
if the /s isn't obvious