Why I self-host everything — and what it taught me about cloud costs
A €4/month VPS runs my entire personal infrastructure: three web apps, three microservices, two databases, blog, analytics. Here is what running cloud-shaped workloads on a single box taught me about hyperscaler pricing.
Why I self-host everything
The whole thing runs on a single €4/month VPS. Three web apps, three microservices, a Firestore connection, an nginx reverse proxy, Let's Encrypt for TLS, PM2 for process management, GitHub Actions for CI/CD.
What it costs to run "real" workloads
Compare it to the cloud-shaped equivalent on AWS or GCP:
- Three Cloud Run services: ~$15/mo idle, more under load
- Cloud Load Balancer: $18/mo just to exist
- Cloud Build minutes: ~$0.003/min × deploys
- Egress: $0.12/GB after the free tier
- Managed certs: free (one of the few)
You'd be at $40-60/mo before you served a single real user. The VPS does the same workload for €4.
What you trade
Self-hosting means you eat the operations:
- TLS renewals (certbot handles it, but you set it up)
- Process supervision (PM2)
- Log rotation
- Backup discipline
- Patches and updates
- "Why is the disk full" at 11pm
But here's the thing — that operations work is the job. Doing it on my own infrastructure is how I keep the muscles current. When I started outsourcing all of this to managed services at work, I felt my instincts atrophying.
When self-hosting stops making sense
For a startup with paying customers, the calculus flips. Engineering time costs more than cloud bills, and "the service was down because nginx ran out of file descriptors" is not a story you want to tell your investors.
But for a personal project, a portfolio, a learning lab? Self-host. The €4 buys you something the cloud literally cannot: practice.