5 VPS Providers Compared for Indie Devs (Hetzner vs DigitalOcean vs Contabo)
If you’ve followed along with the self-hosted map tile and Docker + Nginx guides on this blog, you’ve probably wondered which VPS to actually run all of it on. This isn’t a theoretical comparison — these are the three providers most indie developers end up choosing between, and each one optimizes for a genuinely different thing.
Pricing below reflects rates as of mid-2026. All three providers have adjusted pricing this year — verify current numbers before committing, especially with Hetzner, which has raised prices multiple times in 2026.
The short version
- Hetzner — best raw price-to-performance in Europe, thin on managed services and no uptime SLA.
- DigitalOcean — most polished developer experience, higher price for equivalent specs, strong for teams that value simplicity over squeezing every euro.
- Contabo — the most RAM and cores per dollar you’ll find anywhere, at the cost of consistency (shared infrastructure means noisy-neighbor variance).
Hetzner Cloud
Hetzner remains the reference point for price-per-spec in the VPS market. Their entry-level shared-CPU instances start around €5-10/month with NVMe storage and a genuinely generous transfer allowance — 20 TB included in EU regions, which is far more than competitors typically include before charging overage.
Good for: self-hosted infrastructure where you manage everything yourself — exactly the kind of Docker/Nginx/tileserver stack this blog covers. European data residency and strong intra-EU network performance are real advantages if your users are in or near Europe.
Trade-offs: no managed database offering, no formal uptime SLA, and a leaner ecosystem than the hyperscalers. If something breaks, you’re debugging it yourself — which is fine if that’s the trade you want to make for the price, less fine if you need guaranteed support response times. Also worth knowing: Hetzner has increased prices more than once in 2026, so budget with some room rather than assuming the sticker price is permanent.
DigitalOcean
DigitalOcean’s basic Droplets start around $4/month, with the commonly-referenced 2 vCPU / 4GB configuration landing around $24/month. That’s meaningfully more than Hetzner for comparable specs, but you’re paying for a smoother experience: a cleaner dashboard, well-documented API, a large library of one-click app templates, and an ecosystem that includes managed databases and Kubernetes if you outgrow a single VPS.
Good for: developers who value time saved over money saved, or teams where more than one person touches infrastructure and a consistent, well-documented platform reduces onboarding friction.
Trade-offs: You’re paying a real premium for that polish — for pure self-hosted infrastructure work like map tiles or routing, where you’re the only one who’ll ever touch the server, that premium buys you less than it would for a team.
Contabo
Contabo’s positioning is blunt: more cores and RAM per dollar than anyone else. Entry plans offering 4 vCPUs and 8GB RAM for under $5/month are common — specs that would cost several times as much elsewhere.
Good for: dev/staging environments, side projects, and workloads where raw resource headroom matters more than consistent performance — batch processing, build servers, anything that can tolerate some variance.
Trade-offs: this is genuinely the catch, not just fine print. Contabo’s aggressive oversubscription model means your server shares physical hardware with more neighbors than a Hetzner or DigitalOcean instance would, which shows up as CPU steal and inconsistent NVMe IOPS when those neighbors are busy. Support is ticket-based and can take a day or more to respond. The common recommendation from experienced self-hosters: use Contabo for non-critical workloads, and move anything latency-sensitive or production-critical to a provider with more predictable performance.
Which one for a self-hosted map/routing stack?
For the exact kind of setup covered elsewhere on this blog — MapLibre tiles, OSRM routing, Nginx reverse proxy, all self-managed — Hetzner is the practical default: you’re already doing your own ops, so the lack of managed services costs you nothing, and the price-per-spec is hard to beat if your users are in or near Europe. If your operating region is elsewhere, or if raw resource headroom for infrequent heavy jobs (like osrm-extract preprocessing) matters more than sustained consistency, Contabo’s oversized specs are worth the trade for a staging or secondary instance — just don’t put your only production copy there without a backup plan.
DigitalOcean earns its premium when a team, not just one developer, needs to operate the infrastructure — the smoother tooling pays for itself in fewer onboarding headaches, even if the monthly bill is higher.
A practical note on RAM
If you’re running the preprocessing steps from the OSRM routing guide or heavy tile generation, remember that the preprocessing step is far more memory-hungry than the runtime server afterward. It’s tempting to size your VPS for the ongoing workload and get surprised when the one-time setup step gets OOM-killed. Either size up temporarily for that step, or make sure you’ve set up swap space before you start — regardless of which provider you’re on.
