Introduction
Introduction
What Realm is, how it works, and where to start.
Realm is a community chat and voice platform built for self-hosting. Communities run on dedicated servers that anyone can host on their own VPS. You own the data, the channels, and the voice infrastructure.
Realm handles user accounts and authentication centrally. Everything else (messages, channels, voice) lives on the dedicated server you control.
How it works
Desktop Client
├── REST → Realm (login, server list, session tokens)
└── WS → Your Server (realtime chat, voice)
Realm <--registration-- Your Server (on startup)Realm (hosted by us)
Handles:
- User accounts (email + password)
- The registry of known dedicated servers
- Friendships and friend requests
- Short-lived session tokens that clients use to connect to dedicated servers
Messages and channels are never stored here. That data lives entirely on each dedicated server.
Dedicated Server (@realm/server)
A standalone process that anyone can run on a VPS. It:
- Stores channels and messages in its own database
- Handles realtime messaging over WebSocket
- Runs a WebRTC SFU for low-latency voice
- Registers itself with Realm on startup and receives a key for verifying session tokens
Because servers are user-hosted, session tokens are signed with a private key that only Realm holds. Dedicated servers only ever see the corresponding public key for verification.