My SaaS Runs on €12 a Month. Here's the Full Stack
Description and use
The SaaS runs on a single Hetzner VPS for about €12/month, leveraging Docker Compose, Cloudflare Free Tier, and free GitHub services to keep costs low and simplify scaling.
Problem
How to run a SaaS with minimal operational cost while maintaining functionality and scalability.
Outcome
Operational cost reduced to ~€12/month by consolidating services onto a single VPS, using free tiers, and avoiding managed services.
Workflow
- 1. Provision a Hetzner CPX31 VPS (4 vCPU, 8 GB RAM).
- 2. Install Docker and Docker Compose.
- 3. Deploy eight containers via a single docker-compose.yml (app, celery, postgres, redis, grafana, prometheus, cadvisor, node-exporter).
- 4. Configure nginx as reverse proxy on the VPS.
- 5. Set up Cloudflare DNS for three domains and enable free SSL with Origin Certificates.
- 6. Use Porkbun for domain registration and amortize yearly cost into monthly budget.
- 7. Run the SaaS locally with docker compose up -d after cloning the repo.
- 8. Monitor with Grafana and Prometheus on the same VPS.
- 9. Scale by adding managed Postgres, separate Celery worker, read replica, or paid Cloudflare tier as usage grows.
Evidence
Hetzner CPX31 (Nuremberg) – €11.49 – runs the entire platform
No managed Postgres. No managed Redis. No Kubernetes. No CDN paid tier.
The Hetzner CPX31 runs eight Docker containers via a single docker-compose.yml
- Record date: 2026-09-05T19:14:57.535Z