Solution

VPS for a Matrix homeserver or XMPP server

Cutter 8 · $34/moCutter 16 · $62/mo
Short answer

Synapse is memory-hungry: a small homeserver federating with busy rooms needs 4 GB, and 8 GB if you join large public rooms. Conduit or Dendrite run in a fraction of that. XMPP with Prosody is lighter still — one core and 1 GB serve hundreds of users. All three are IO-sensitive, so put the database on NVMe.

What you need

Specification floor for matrix & xmpp servers
ResourceWhat you actually need
CPU2 cores for Synapse, 1 for Conduit or Prosody
RAM4–8 GB for Synapse, 1–2 GB for Conduit or Prosody
DiskNVMe, 160 GB — federation state grows relentlessly
NetworkWell-peered location; federation is latency-sensitive

Recommended plans

Cutter

Cutter 8

$ 34 /month
vCPU
4 × dedicated
RAM
8 GB
Storage
160 GB NVMe SSD
Transfer
10 TB
IPv4 / IPv6
1 / /64 routed
Configure
Cutter

Cutter 16

$ 62 /month
vCPU
6 × dedicated
RAM
16 GB
Storage
320 GB NVMe SSD
Transfer
15 TB
IPv4 / IPv6
1 / /64 routed
Configure
Skiff

Skiff 4

$ 12 /month
vCPU
2 × shared
RAM
4 GB
Storage
60 GB NVMe SSD
Transfer
4 TB
IPv4 / IPv6
1 / /64 routed
Configure

Recommended locations

Location is usually the decision that matters most for this workload — either because latency dominates, or because jurisdiction does.

Why OnionVPS for this

  • Running your own homeserver means your metadata — who you talk to, when — stays on hardware you rent.
  • Privacy jurisdictions mean no legal duty to retain that metadata.
  • NVMe storage keeps Synapse's state resolution from becoming the bottleneck it usually is.
  • Crypto payment keeps the server's ownership separate from your identity.

How to set it up

  1. Deploy a Cutter 8 with Debian 13

    Four cores and 8 GB if you plan to federate widely.

  2. Install Synapse, Conduit or Prosody

    Conduit if you want low resource use; Synapse if you need the full feature set.

  3. Configure the well-known delegation

    Serve /.well-known/matrix/server so federation finds you on the right port.

  4. Put PostgreSQL on the same NVMe volume

    Never run Synapse on SQLite beyond a personal test server.

  5. Prune old state regularly

    Federation state grows without bound; schedule the purge API or the state compressor.

Frequently asked questions

How much RAM does a Matrix homeserver need?

Synapse needs 4 GB for a small server and 8 GB once you join large federated rooms. Conduit does the same job in under 512 MB, at the cost of some feature completeness.

Can I federate from an offshore VPS?

Yes. Federation only requires a public IP, a domain and a valid certificate. Jurisdiction has no effect on federation, only on who can compel your metadata.

Is Matrix metadata private?

Message content is end-to-end encrypted, but room membership and timing metadata live on the homeserver. Running your own is the only way to keep that on hardware you control.