Technology Decision Note

Why I Moved Family Communication From Discord to Matrix

Discord worked fine for chatting. It was never going to work for a family that needed something we actually controlled. Why I self-hosted a Matrix homeserver instead.

Updated 31 August 2026

Diagram showing the move from Discord to a self-hosted Matrix homeserver — Continuwuity homeserver and Element Web client running in Docker on my own server

The problem

My family needed a reliable way to stay in touch — including family members outside the home network, in another country. Discord is fine for chatting. It was never built to be infrastructure a family depends on: the account, the data, and the availability all belong to someone else, and none of that was ever going to sit well with me for something this basic.

What I considered

Sticking with Discord was the path of least resistance — it already worked, everyone already had it installed. Telegram was the other obvious option. Neither changed the underlying issue: I’d still be trusting a third party’s server, third party’s retention policy, and third party’s uptime for something I’d rather just run myself.

What I decided

A self-hosted Matrix homeserver, running on my own infrastructure. Matrix specifically because it’s a real, open, federated protocol rather than a single-vendor chat app I’d be self-hosting a clone of — and because it gives remote family members outside the LAN a proper way in without opening up anything broader than necessary. Worth being precise about that word: the protocol supports federation, but I run this particular server with federation switched off. It’s a closed server, not a node in the public Matrix network.

I deliberately kept it as independent infrastructure, not bundled into anything else I run. It can be stopped or changed without affecting other projects, and vice versa. The only integration I had planned at this point was one-directional — other tools speaking to it as a client.

Current result

Active, in regular family use. It’s not a public service and isn’t meant to be one — the value is that it’s ours, it’s simple, and nobody else’s outage or policy change can take it away from us.


Update — 31 August 2026: Since this was published, the homeserver also became a communication path between my own systems and me, and that path now runs in both directions rather than the one direction described above — messages go out, and a response can come back as input for a system to evaluate. Nothing acts on its own as a result; autonomous execution stays switched off. That later role is described separately on the Matrix Lab page.

matrixself-hostingfamilyhomelab

More Notes like this


All Notes