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
| Name | Type | Purpose |
|---|---|---|
example.com | A / AAAA | Website, portal, Matrix discovery (/.well-known/matrix/*) |
app.example.com | A / AAAA | Web chat |
matrix.example.com | A / AAAA | Homeserver client and federation APIs on port 443 |
ops.example.com | A / AAAA | Certificate for the private operator console (served only on the private port) |