Requirements
What you need before hosting a Realm dedicated server.
VPS or dedicated server
You need a Linux VPS (or bare metal) where you control the firewall. The server must be able to expose both TCP and UDP ports directly to the internet.
See Hosting Providers for a compatibility table. Hetzner Cloud (~€4/mo) and DigitalOcean Droplets ($6/mo) are the two most common choices.
Minimum specs:
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 512 MB | 1 GB+ |
| Disk | 10 GB | 20 GB+ |
| Bandwidth | 1 TB/mo | Unmetered |
Memory scales with concurrent voice users. Each voice worker uses roughly 50-100 MB. 512 MB is fine for a small community (10-20 people). For 50+ concurrent voice users, plan for at least 1-2 GB.
Docker
Docker is strongly recommended. The server image bundles the runtime, all native dependencies, and the app itself.
# Install Docker on Ubuntu / Debian
curl -fsSL https://get.docker.com | shIf you prefer to run without Docker, you'll need Node.js 22+ and a compatible database.
Database
The Docker Compose setup starts the database automatically in a separate container. If you already have a database instance running elsewhere, point the server at it with REALM_STORAGE_MONGO_URL.
Open ports
The following ports must be reachable from the internet:
| Port | Protocol | Purpose |
|---|---|---|
| 5000 | TCP | HTTP API + WebSocket signaling |
| 40000-49999 | UDP | Voice (WebRTC RTP media) |
Ports 80 and 443 are only needed if you add a reverse proxy for SSL.
Voice requires UDP. Without those ports open, text chat will work but
voice connections will stall. ICE state stays new and 0 bytes flow. There is
no workaround at the platform level.
A public IP or hostname
Your server needs a stable public IP address or a DNS hostname that resolves to one. This is used for:
- WebRTC ICE candidates (so voice media reaches your server)
- Server registration with Realm
- Client connections
Set REALM_WEBRTC_ANNOUNCED_IP to this value. Without it, voice will not work even if the UDP ports are open.