infrastructure

Choosing a VPS Provider

Compare Hetzner, DigitalOcean, Vultr, and others for self-hosting.

3 min read

Your VPS is the foundation of your self-hosted stack. Pick a provider that offers good value, a region close to your users, and a management UI you can live with. Here's how the main options compare.

Hetzner

Pricing: €4.51/month for CX22 (2 vCPU, 4GB RAM). €11.90/month for CPX21 (4 vCPU, 8GB RAM). Best price-to-spec ratio in the market.

Regions: Germany, Finland, USA (Ashburn, Hillsboro). EU-focused; US presence is newer.

Pros: Extremely cheap. Reliable. Good bandwidth. Simple control panel.

Cons: EU data residency may matter for GDPR—or may not, depending on your users. Support is adequate but not hand-holding.

Best for: Cost-conscious teams. EU-based startups. Anyone running multiple apps on a single box.

DigitalOcean

Pricing: $6/month for Basic Droplet (1 vCPU, 1GB RAM). $12/month for 2 vCPU, 2GB RAM. $24/month for 2 vCPU, 4GB RAM. More expensive than Hetzner for equivalent specs.

Regions: Global—NYC, SF, Amsterdam, Singapore, Bangalore, and more.

Pros: Excellent documentation. Beginner-friendly. One-click Docker images. Predictable billing. Great support.

Cons: You pay a premium for the polish. Same specs cost 2–3x Hetzner.

Best for: First-time self-hosters. Teams that value documentation and support over raw cost.

Vultr

Pricing: $6/month for 1 vCPU, 1GB RAM. $12/month for 1 vCPU, 2GB RAM. $24/month for 2 vCPU, 4GB RAM. Slightly cheaper than DigitalOcean, not as cheap as Hetzner.

Regions: 25+ locations worldwide. Strong global presence.

Pros: Many regions. Hourly billing. Easy to spin up and tear down. Good for testing.

Cons: Support quality varies. Some users report occasional network hiccups.

Best for: Teams that need a specific region. Projects where you might scale up/down frequently.

Linode (Akamai)

Pricing: $5/month for 1 vCPU, 1GB RAM. $12/month for 1 vCPU, 2GB RAM. $24/month for 2 vCPU, 4GB RAM. Similar to Vultr.

Regions: 11 global data centers. Now part of Akamai (CDN giant).

Pros: Long-standing reputation. Good network. Managed Kubernetes and LKE if you outgrow single-node.

Cons: UI feels dated compared to DigitalOcean. Pricing not as aggressive as Hetzner.

Best for: Teams that want a stable, established provider. Kubernetes users.

Quick Comparison

Provider4GB RAM8GB RAMRegionsBest for
Hetzner~€5~€12EU, USBest value
DigitalOcean$24$48GlobalBeginners
Vultr$24$4825+Global presence
Linode$24$4811Stability

Recommendation

  • Maximize value: Hetzner. You get 2x the resources for the same price.
  • First time, want hand-holding: DigitalOcean. Docs and support are worth the premium.
  • Need a specific region: Check Vultr's list—they have more locations than anyone.
  • Enterprise-ish, want Akamai backbone: Linode.

For most startups self-hosting a 5-app stack (Outline, Plausible, Mattermost, Twenty, n8n), a Hetzner CPX21 (8GB RAM) or a DigitalOcean 4GB Droplet will work. Start with the smaller option if you're unsure; you can resize later.

What to Avoid

  • Random cheap providers. Stick to names with track records. Your data and uptime matter.
  • Oversizing. Start small. You can always upgrade. A 2GB box can run 2–3 light apps; a 4GB box can run the full stack.
  • Regions far from users. Latency matters for chat and docs. Pick a region close to your team.

Once you've chosen a provider, the next guide walks you through setting up Docker on Ubuntu.