• 0 Posts
  • 10 Comments
Joined 15 days ago
cake
Cake day: October 31st, 2026

help-circle



  • Sit down. Let me pour you a drink. Then let us lament the curse of the normie together.

    Beratna, tell me…is DeltaChat meeting their needs? Is it easier for you? I have one more migration in me, but i’m tired, beratna. I just walked in to find my youngest watching Netflix (gasp!) instead of the carefully curated media server.

    Like a lot of us, I solved an interesting technical problem without accounting for the messy end user problem.

    Fortunately, this one can be solved with a little uTorrent and some post-hoc market research and buy in (chocolate).

    You’re saying Deltachat gets you more of that then XMPP and Conversations, I’m willing to listen.


  • Same same but no VPS here. I use Tailscale to reach the self hosted XMPP instance, which is containerized. Clients can only reach the XMPP server (directly when on LAN, as white listed devices on Tailscale when not).

    It works. The bottleneck is Tailscale, weird issues with Android VPN automation switch over (something about my wife’s Samsung phone really does not like Tailscale. She’s also worried it increases battery drainage when left on) and the fact that using Tailscale instead of VPS is not the moral victory I had hoped for. There’s headscale I suppose, but then I have to deal with self signed certs and…then, and then and then…

    It never ends. Problems never end.

    I console myself with the fact I’ve made an E2E private family chat service that works without a public-facing server, yet remains accessible outside home with a click of a button. That’s a win.

    The problem is that I want it to work as smoothly as a commercial chat service on a shoe string budget, on a Raspberry pi sipping 2W. That and the fact that I’m bloody minded enough to work on it until it does, beyond the point of sanity.






  • XMPP hosted via Raspberry Pi.

    The setup is:

    • Prosody provides the XMPP server.
    • Converse.js provides web client / PWA.
    • Conversations for Android clients
    • Coturn provides TURN services for calls and NAT traversal.
    • Tailscale provides remote access without exposing the XMPP server directly to the public internet.

    (nb: also configured Message Archive Management (MAM) for chat history, private multi-user chat rooms (MUC), HTTP File Upload for media, and Jingle signalling for audio/video calls).

    The server is designed to be accessible over our LAN. When away from home, family members connect through Tailscale (I really should just use Android actions and geofencing to auto launch Tailscale, but on my kids devices, I just leave Tailscale enabled. I don’t think it hits the battery too hard). Tailscale can only connect to XMPP and we keep our XMPP to family only, with me manually adding devices to Tailscale as I need to.

    As for why? Because I get joy from hosting my own shit, having control over it, having it work when other stuff falls over. My stuff falls over too, but I know WHY and HOW to fix it, and that’s how I prefer it. I want to get to the point that if the internet dies tomorrow, I shrug my shoulder and barely notice.

    My goal is to replace all cloud based services we use and I’m about 85% of the way there. I have a much larger goal too…but that’s a story for a different time.

    PS: I’m mildly irritated about Tailscale use, so I’m looking at getting off that teat as well eventually for a self hosted solution. There are some issues with Headscale and I don’t want to punch holes in firewall if I can avoid it. Still thinking on it.

    PPS: Meshtastic, Reticulum etc all seem super cool…but until there’s interoperability simple enough for normies…good luck getting buy in. I struggle to convince the fam to use XMPP (weird issues with android clients, Tailscale drop outs etc).