Hosting Providers
Which platforms work for Realm and which don't.
Realm's voice system uses WebRTC and needs direct UDP port access. Not all hosting platforms support this.
The core requirement
Voice audio is sent as RTP over UDP on ports 40000-49999. Those ports must be directly reachable from the internet.
Platforms that only expose an HTTPS URL and route all traffic through an HTTP reverse proxy cannot expose UDP ports. On these platforms, text chat and WebSocket signaling will work, but voice will be permanently broken: ICE state sticks at new, DTLS never completes, and 0 bytes flow.
Compatibility table
| Provider | Works? | Notes |
|---|---|---|
| Hetzner Cloud | Yes | Cheapest option (~€4/mo CX22). Full firewall control. Recommended. |
| DigitalOcean Droplets | Yes | Full firewall control. From $6/mo. Recommended. |
| AWS EC2 | Yes | Configure security group to allow UDP 40000-49999. |
| AWS Lightsail | Yes | Same as EC2. Configure the firewall in the Lightsail console. |
| Vultr | Yes | Full port control. Similar pricing to DigitalOcean. |
| Linode / Akamai Cloud | Yes | Full port control. |
| Any VPS / bare metal | Yes | As long as you can open arbitrary UDP ports. |
| Railway | No | HTTP-only proxy. No UDP support. |
| Render | No | HTTP-only proxy. No UDP support. |
| Heroku | No | HTTP-only proxy. No UDP support. |
| DigitalOcean App Platform | No | HTTP-only. Use Droplets instead. |
| Fly.io | Partial | UDP is theoretically possible but requires custom networking and is not officially supported. |
| Google Cloud Run | No | HTTP-only container platform. |
| AWS Lambda / Fargate | No | Serverless and container platforms have no persistent UDP. |
Recommended: Hetzner Cloud
Hetzner is the most cost-effective option. A CX22 (2 vCPU, 4 GB RAM) runs at ~€4-5/month and handles most community sizes comfortably.
- Cheap and performant
- Cloud firewall with easy UDP range rules
- Data centers in Europe (Frankfurt, Nuremberg, Helsinki) and the US (Ashburn, Hillsboro)
- No egress fees on intra-region traffic
- Simple API for automated provisioning
Getting started:
- Create an account at hetzner.com/cloud
- Create a CX22 (or CX32 for larger communities) with Ubuntu 24.04
- Set up a firewall with the required rules
- Follow the Quick Start
DigitalOcean Droplets
DigitalOcean Droplets ($6/mo Basic) are a good alternative, especially if you're already on the platform. Avoid App Platform as it's HTTP-only.
AWS
EC2 and Lightsail both work. Configure your Security Group to allow the UDP range. AWS charges for egress bandwidth, which can add up for voice-heavy communities.
Rule of thumb
If the platform gives you an HTTPS URL and doesn't let you open arbitrary ports, voice won't work. You need a plain VPS.