Federation & self-hosting

One network, many independent servers

Lumen runs a Matrix homeserver. Anyone can run another one. Users on different servers talk to each other as if they were on the same service — and no single server is the network.

Your address includes your server

Accounts here are @name:0r834h.duckdns.org. Someone on another server might be @sam:example.org. You can message both the same way.

Rooms are replicated

Each server with members in a room keeps its own copy of that room's (encrypted) history. If one server goes offline, the others carry on.

Encryption is end-to-end across servers

Federation carries ciphertext. Servers sign their traffic, but neither ours nor theirs can read encrypted messages.

Federation is not peer-to-peer

In a federated network your device talks to your homeserver, and homeservers talk to each other. Your server stores and forwards your encrypted messages and sees metadata about your conversations. That's different from peer-to-peer systems such as Tox, where devices connect directly and nothing is stored centrally — at the cost of both people needing to be online and of weaker multi-device support. We chose federation for reliable delivery, history on every device and interoperability with the wider Matrix ecosystem.

This server's federation policy

Federation is disabled on this server: it only hosts conversations between its own users. Operators choose open, allow-list or closed federation; the setting is enforced by the homeserver itself.

Use any Matrix app

Lumen's web app is one client among many. Standard Matrix apps can sign in to your account with single sign-on through your Lumen account, with the same encryption and verification.

Run your own server

The complete Lumen stack — homeserver, web chat, website, customer portal, operator console, backups and monitoring — installs on a fresh Ubuntu 24.04 server:

sudo bash install.sh

The installer checks your server and DNS, obtains TLS certificates, configures Matrix discovery and federation, sets up a firewall, encrypted backups and health checks, and refuses to report success until every public endpoint actually responds. See the self-hosting guide.

DNS records for a server

NameTypePurpose
example.comA / AAAAWebsite, portal, Matrix discovery (/.well-known/matrix/*)
app.example.comA / AAAAWeb chat
matrix.example.comA / AAAAHomeserver client and federation APIs on port 443
ops.example.comA / AAAACertificate for the private operator console (served only on the private port)