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.

top 50 comments

sorted by: hot top controversial new old
[–] 33 points 5 days ago (8 children)

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

just setup XMPP

  • source
  • hideshow 8 child comments
  • [–] 22 points 5 days ago (2 children)

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

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 5 days 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.

  • source
  • parent
  • [–] 20 points 5 days ago (10 children)

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

    Anyway. Just set up XMPP.

  • source
  • hideshow 10 child comments
  • [–] 1 point 3 days ago* (3 children)

    Why does nobody like matrix? I get setup maybe used to be hard but I personally used ansible playbook and its really noob friendly and simple

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 3 days ago (2 children)

    @Arda @lambalicious because the experience is truly garbage. Not only does it not scale and is slow (I stopped running a server years ago, but the resources it consumed was obnoxious), but the clients often do silly things like say they're waiting for a key refresh so it can't decrypt the message yet. I still have to use it for work unfortunately.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 days ago

    I only host for my family and me otherwise use public servers, for that my server never consumed much resources at all and I never ran into these key issues people mention. I've been hosting it for 6 months. Idk despite it all Matrix just checks all the correct boxes is it not worth using even with the issues you had?

  • source
  • parent
  • [–] 1 point 3 days ago

    Basically yes. Matrix is in the unfortunate position of being a "nu-protocol", something that should be good but it is intentionally designed to be bloated and wasteful just so that we (or really, techbros) can have a shiny new toy, instead of using proven, battle-tested technologies and standards that can run in a potato which is all we'll have access to with how the RAM factories are going.

  • source
  • parent
  • load more comments (5 replies)
    [–] 9 points 5 days 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).

  • source
  • [–] 15 points 5 days ago (17 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)

  • source
  • hideshow 17 child comments
  • [–] 6 points 5 days ago (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • load more comments (1 reply)
  • [–] [S] 3 points 5 days ago* (14 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.

  • source
  • parent
  • hideshow 14 child comments
  • [–] 8 points 5 days ago (2 children)

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

    The quintessential Matrix experience

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 5 days ago* (last edited 5 days ago) (10 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!)

  • source
  • parent
  • hideshow 10 child comments
  • [–] 8 points 5 days 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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 4 points 5 days ago* (last edited 5 days ago) (1 child)

    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

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 1 point 4 days 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.

  • source
  • parent
  • load more comments (1 reply)
  • [–] 6 points 5 days 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

  • source
  • [–] 8 points 5 days ago (3 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.

  • source
  • hideshow 3 child comments
  • [–] [S] 5 points 5 days ago* (last edited 5 days ago) (2 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."

  • source
  • parent
  • hideshow 2 child comments
  • load more comments (2 replies)
  • [–] 4 points 5 days ago* (4 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.

  • source
  • hideshow 4 child comments
  • [–] [S] 2 points 5 days ago* (last edited 5 days ago) (3 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.

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] 3 points 5 days ago* (last edited 3 days 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.

    EDIT 2: nope, broke again. Two stikes and you're out, Jami

  • source
  • [–] 0 points 4 days ago (3 children)

    Quick question after you found happiness using IRC: was xmpp not enough ? I'm genuinely curious in case I need something like this

  • source
  • hideshow 3 child comments
  • [–] 3 points 3 days ago

    XMPP is not good. The clients are poor. The core server requires a bunch of extensions to do basic stuff like sync history with clients. I have my gripes with Matrix but I ran right back to it after trying xmpp for a month. Yes I tried the distros etc etc, the stack is too old and people aren't modernizing it.

    I don't understand why people keep bringing it up as if it is a viable modern replacement for Matrix, it isn't.

  • source
  • parent
  • [–] [S] 2 points 3 days ago* (last edited 2 days ago) (1 child)

    It wasn't interoperable enough with the wide cornucopia of devices in the group. We're talking Mac, pc, android 6 thru to 15 and a few more besides.

    It wasn't that XMPP was incapable, it's that the client matrix was too uneven across the wide range of devices I needed to support.

    IRC was simpler, lighter, easier to diagnose, and had clients for basically everything. Plus most of us were familiar with IRC from back in the day.

    I also already had Janus for video chat set up, plus Tailscale already hooked into the pi, so most of XMPP's extra machinery solved problems I no longer had.

    TL; DR easier to host on pi, easier for client devices, less moving parts.

    Personally, I just really like the look and feel of motd

    EDIT: Just to be clear...if IRC ever goes tits up or gives me shit, XMPP will be the thing we switch to - in a heart beat.

  • source
  • parent
  • hideshow 1 child comment
  • [–] -1 points 4 days ago (2 children)

    Are text message and group chats not acceptable anymore?

  • source
  • hideshow 2 child comments
  • load more comments
    view more: next ›