this post was submitted on 21 Sep 2026
94 points (98.0% liked)

Selfhosted

62256 readers
984 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
 

Firstly: Yes, I like Synapse / Cinny / Element too...don't hate me...but needs must when the devil drives...

For reasons that are too complex to get into (TL;DR: hodge podge of equipment from the dawn of time, from intransigent family members, complexity over HTTP vs HTTPS...they usual nonsense when you volunteer to become the family sysadmin) I've been looking at different methods for a persistent, family chat experience that I can "self host".

Does anyone know much about Jami?

https://www.jami.net/

From what I can see, it has the following worthwhile features:

  • FOSS/GPL
  • Android, Windows, Linux, macOS and iOS.
  • Text messaging ,group chats, video calls
  • File sharing, E2EE etc etc
  • It apparently works over a LAN with no Internet connection at all, which is particularly interesting to me.
  • Federation not required.
  • CA not required
  • Transparent handoff with Tailscale

From what I can see, there's a headless jami-daemon for Linux. Jami's own docs specifically suggest putting an existing account on an always-online server to facilitate message exchange, with multiple servers possible for redundancy.

So...that's...good.

OTOH, there isn't a Synapse-equivalent central Jami server holding everyone's accounts and rooms. Accounts and conversations are distributed across the participating devices, though as I said above, it looks like Jami does support an always-online daemon/device to improve message availability.

I dunno what to make of it. It seems...too good to be true.

Has anyone use it? Particularly, is the always-online jami-daemon actually dependable for store-and-forward behavior in practice?

https://github.com/savoirfairelinux

EDIT: This was an interesting experiment, but Jami is far too unreliable even without UnifiedPush / DHT (which I think is the main issue). I presented the work done so far and the consensus is to look at using IRC (as most of the users are familiar with that) and having Janus as the video chat / WebRTC server. It seems to work on all of their devices and doesn't have any of the cute issues we encountered with Synapse / Matrix

TL;DR the fam has settled on -

I'm tied, boss. Never volunteer.

all 44 comments
sorted by: hot top controversial new old
[–] altphoto@lemmy.today 1 points 1 hour ago

Simplex chat service anyone?

[–] u_tamtam@programming.dev 3 points 15 hours ago

Wow, as someone who has been hosting XMPP for family for 10+ years and only liking it, I'm amazed by the overwhelmingly supportive comments for it, it's like people are recovering from a Matrix hangover and rediscovering the things they already had for their merit. So yeah that's my +1: XMPP is really something dependable, it just works, and the sysadmin story is great too (my preference goes to ejabberd for the best "turnkey" experience, but you can't go wrong with prosody either if you are willing to read some guide).

[–] hexagonwin@lemmy.today 31 points 1 day ago (4 children)

it's really not reliable especially for non techies. plus it's a real p2p so..

just setup XMPP

[–] Mikelius@lemmy.ml 2 points 15 hours ago

Probably less reliable for me as a techie. Every time I opened Jami, my firewall alerts would go off about a device on the network calling to China, Russia, and Vietnam lol. Resulted in it almost never connecting for me since my network just blocked way to many connections on it for outbound traffic.

[–] poVoq@slrpnk.net 19 points 1 day ago (1 children)

https://snikket.org/ specifically for a small family server. Much lower maintenance and breakages than Matrix and thus less issues with the family.

Yeah...you know what? I'm going to try that. I'm sick of Jami and I am ready to burn Matrix to the fucking ground and piss on it's ashes.

Yes, sadly I think you're right. I played around with it a bit today...showed great promise...then uninstalled it and tried to do a fresh install and since then, nada.

[–] IPlead386@sh.itjust.works 7 points 1 day ago

+1 for xmpp

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

It's 2026... Why do people insist on skipping the fact that XMPP exists?

Anyway. Just set up XMPP.

[–] possiblylinux127@lemmy.zip 6 points 1 day ago

I would be very careful with it as it has a long history of being unstable and hasn't had a security audit.

Honesty my recommendation would be to use Signal or Molly. While it isn't the best from a anonymity perspective it is reliable and easy to understand and use

[–] scallisto@retrofed.com 14 points 1 day ago (2 children)

I have tried it before, it's neat, but notifications are not reliable since it is peer to peer (both devices need to be online for a connection), a bit like Briar if you've used that before. I don't think it uses the Tor network, so it might be faster than Briar (but also less anonymous?)

I don't have experience with the jami daemon though, so can't comment if that solves the peer to peer issue.

I personally like Matrix the best, since you have federation, options for encrypted chats, self-host able with Continuwuity (or Synapse), lots of alternative clients for nearly every OS (even mobile Linux, you have Fractal! FluffyChat also works but it's definitely oriented towards Android devices)

[–] mote@lemmy.ca 6 points 1 day ago (1 children)

It sounds good but in practice it doesn't work out; laptops sleep, people put their phones on airplane at night, whatever happens in life. The "best" solutions use some sort of cache-and-forward relay (thinking like DeltaChat relays, or I hear SimpleX is adding them) but I think most end up looking at Snikket (xmpp) or Matrix for the group management etc. on a central server. The Disroot group uses "Movim" which is XMPP highly customized to a social experience.

I use DeltaChat with friends and there's a lot of things you can't do because it's essentially P2P with caching relays - like Jami, all control and data is stored on the device(s). If all you're looking for is a Signal replacement it's great (and why we use it), but if you want good group social controls you gotta go the central server route.

I think Jami here could do with caching relays like Delta has, could move this project to the next level.

[–] SuspiciousCarrot78@aussie.zone 1 points 1 day ago* (last edited 1 day ago)
[–] SuspiciousCarrot78@aussie.zone 3 points 1 day ago* (last edited 1 day ago) (2 children)

I like matrix too but am dealing with weird networking issues, across ancient devices. Issues around MatrixRTC, old android devices, using HTTP vs HTTPS and the like are making me not want to live on this world any more.

[–] Natanox@discuss.tchncs.de 7 points 1 day ago (1 children)

I like matrix too but am dealing with weird […] issues

The quintessential Matrix experience

[–] SuspiciousCarrot78@aussie.zone 1 points 1 day ago (1 children)

Try Matrix, they said. It will be fun, they said.

...

They.

Lied.

[–] observantTrapezium@lemmy.ca 2 points 1 day ago

Don't know man, Matrix has been pretty much set and forget for me since 2017 or 2018.

[–] scallisto@retrofed.com 2 points 1 day ago* (last edited 1 day ago) (6 children)

Well, there's also IRC and XMPP. Could those work better for older devices? ~~Dunno, but neither are encrypted, so don't use them for anything sensitive.~~ Signal is good if you want security, they've been audited a lot, but they are based in the U.S. which isn't great.

I've also heard of Stoat (formerly Revolt) and Fluxer, both are relatively new, but I would prefer Matrix over both since it's more easily self-hostable (+ all those different clients to choose from!)

edit: I really didn't know, but looks like XMPP does support encryption! (and it's enabled by default on most clients!)

[–] SuspiciousCarrot78@aussie.zone 1 points 11 hours ago

Just a little postscript for you, sbird

TL;DR the fam has settled on -

Ergo as IRC server: https://ergo.chat/
The Lounge as PWA IRC client: https://thelounge.chat/
Janus for video calls: https://janus.conf.meetecho.com/index.html
I will host all this on the Pi at my place and they can tailscale in.

So, it looks like ye ancient IRC has saved the day.

Thanks for the suggestion; I never would have thought of it.

PS: I’m tied, boss. Never volunteer.

[–] lemmyvore@feddit.nl 7 points 1 day ago (1 children)

IRC supports TLS encryption. Many large networks don't actually have it enabled or use self-signed certs because they still think it's the 1990's, but if you make your own server you can use TLS just fine.

[–] scallisto@retrofed.com 2 points 1 day ago

So I'm doubly wrong! That's kind of neat

[–] IPlead386@sh.itjust.works 6 points 1 day ago

Not only does XMPP support encryption, it does the same double ratchet encryption scheme which signal uses.

[–] SuspiciousCarrot78@aussie.zone 2 points 1 day ago* (last edited 1 day ago) (1 children)

You know, I had to do a double take when you mentioned IRC, but it's actually come a long way since I used it last.

https://github.com/ergochat/ergo

https://thelounge.chat/

And unlike Jami, it really IS self hosted.

Good idea; thanks for that. I realise IRC doesn't have native video / audio calling but that's probably a smaller problem to solve / bolt onto that trying to juggle Matrix across multiple unruly devices

EDIT: ... IRC has video and voice calls now?

https://github.com/AndroidIRCx/AndroidIRCx

Wat

[–] undrwater@lemmy.world 3 points 1 day ago

IRC is great. The challenge is picking a client for the family, and getting them set up. It's not friction free.

[–] ambitiousslab@feddit.uk 8 points 1 day ago (2 children)

neither are encrypted, so don’t use them for anything sensitive

I run XMPP - just wanted to say that all major XMPP clients (the ones I'm thinking of are Conversations, Monal, Dino and Gajim, among others) encrypt-by-default, you have to actively go out of your way to disable it per contact.

[–] scallisto@retrofed.com 3 points 1 day ago

That's actually pretty cool, I'll be making an XMPP account then. Adding to my collection of chat apps!

[–] scallisto@retrofed.com 2 points 1 day ago

Oh whoops, I didn't know that! That's kind of neat, didn't know had encryption. I will amend my comment

[–] solrize@lemmy.ml 3 points 1 day ago* (last edited 1 day ago) (1 children)

I was never able to get it to work reliably. For those mentioning XMPP, Jami uses a serverless approach with a distributed hash table instead. In principle it has better privacy but in reality it's flaky. IDK for sure if the flakiness comes from the DHT but either way I gave up. I might try again sometime.

[–] SuspiciousCarrot78@aussie.zone 1 points 1 day ago* (last edited 1 day ago) (1 children)

I've been hammering it hard rn and it definitely is the Unified Push / DHT proxy. The instant those are disabled, it works reliably. So I may need to revise my position.

The thing that really caught my attention is the jami daemon

https://docs.jami.net/en_US/user/jami-for-servers.html

If I'm reading that right, it's sort of like a headless instance that can store and forward. Additionally, it doesn't require tail-scale / head-scale to do so (as jami has its own protocol). So no nonsense with domains, reverse proxy, certificate infrastructure or public chat service.

The only issue is "it's not self hosted", which was part of the brief.

[–] solrize@lemmy.ml 1 points 1 day ago (1 children)

You can self host Jitsi and it's nice. I haven't done it yet though.

[–] SuspiciousCarrot78@aussie.zone 1 points 1 day ago* (last edited 1 day ago) (1 children)

Good idea. Jitsi, Galene, Janus...it just depends on what runs on my Rpi.

[–] undrwater@lemmy.world 1 points 1 day ago

Jitsi is good as an ad hoc communication tool, but it won't replace a "chat / sms" tool. I took a small peek at SimpleX, and it looks quite complex. Not sure if it really is.

[–] ambitiousslab@feddit.uk 8 points 1 day ago (1 children)

I never tried deploying Jami, as I settled on XMPP for this use-case. But, let us know how it goes if you do try it! I haven't seen many review it before so I'd be interested to hear your experience.

[–] SuspiciousCarrot78@aussie.zone 6 points 1 day ago* (last edited 1 day ago) (1 children)

Postscript: it went terribly. That is...it worked perfectly on test devices / with test accounts. Then I thought "ok...this has potential! Then it shat the bed, in a way I couldn't grok (and frankly, I didn't have the energy to trouble shoot).

Then I thought "fine...clearly Jami is flaky. LiveKit and MatrixRTC are shitty with Synapse...I know X wants to video call Y....let me try a clean cut over to Continuwuity + Tailscale".

...and now I hate everything and everyone.

So, that probably means I will try Jami again one more time and then just switch to Snikket.

The moral of the story is: I should have played with dollies as a kid instead of computers, because this exact pattern of fuckery has been the bane of my existence near on half a century now.

Le-fucking-sigh.

Fuck it; I'm going get Claude to set this up. "Claude, take the fucking wheel and make no mistakes."

[–] ambitiousslab@feddit.uk 1 points 1 day ago (1 children)

Ahhh, sorry to hear it :(

I should have play with dollies as a kid instead of computers

Probably we'd all be happier :)

So, that probably means I will try Jami again one more time and then just switch to Snikket.

Good luck! I hope it goes well

Unlikely...but I will try again. For fun

[–] SuspiciousCarrot78@aussie.zone 2 points 1 day ago* (last edited 1 day ago)

Ok...I think I have this narrowed down. Jami is fine...it's just that the UnifiedPush / DHT proxy mode is ass. I was using SunUP for UnP. I might need to look at different solution or just accept running in background.

EDIT: tried Ntfy too; I'm 99.9% convinced it just cannot use UnifiedPush properly.