Deploying Applications with Coolify on VPS
Why We Moved Our Clients Off Vercel (And How We Deploy with Coolify Instead)
Last year, one of our clients received a $2,400 Vercel bill for a marketing site with moderate traffic. Not a complex application — a Next.js site with a blog, a contact form, and about 150,000 monthly visitors. The bill was mostly serverless function invocations and bandwidth overages.
We migrated them to a $20/month Hetzner VPS running Coolify. Same performance. Same zero-downtime deployments. Same automatic SSL. Monthly cost went from $2,400 to $20. That is not a typo.
Coolify is not the right choice for everyone. But for the majority of web applications we build, it delivers 95% of the managed platform experience at 5% of the cost. Here is exactly how we set it up and the pitfalls we learned to avoid.
The Honest Comparison
Let us be clear about what you are trading:
What you gain: Full infrastructure control, predictable costs, no vendor lock-in, unlimited projects on one server, no cold starts on serverless functions.
What you lose: Edge network distribution (Coolify serves from one region), automatic scaling beyond your VPS capacity, and the "someone else handles it" peace of mind.
For 90% of the applications we build — B2B SaaS dashboards, marketing sites, internal tools, API backends — edge distribution is unnecessary and automatic scaling is overengineered. A properly configured $40/month VPS handles 500+ concurrent users without breaking a sweat.
Setting Up Coolify the Right Way
The installation is one command, but production readiness takes more thought:
After installation, here is what we configure before deploying a single application:
1. SSH key-based access only
2. Automatic security updates
3. Firewall configuration
4. Swap space (critical for VPS with limited RAM)
That swap configuration is something most guides skip. Without it, a Next.js build on a 4GB VPS will kill the OOM killer during the webpack compilation phase. We learned this the hard way during a production deployment.
The Deployment Architecture We Use for Every Project
Every client project follows the same Coolify deployment pattern:
Key details that make this production-grade:
- Health checks on every service. Coolify uses these to determine when a new deployment is ready before switching traffic. Without them, you get brief downtime during deployments.
depends_onwith conditions. The app does not start until PostgreSQL and Redis are actually ready, not just "container is running."- Named volumes for persistence. Database data survives container rebuilds.
Backup Strategy That Actually Works
The biggest risk of self-hosting is data loss. We automate backups with a simple cron job:
Total cost for daily backups of a 2GB database with 30-day retention: about $0.15/month on Backblaze B2.
When NOT to Use Coolify
We still recommend managed platforms in specific situations:
- Global audience with latency requirements. If your users are on five continents and you need sub-100ms response times everywhere, you need an edge network. Coolify serves from one location.
- Extreme traffic spikes. If you regularly go from 100 to 100,000 concurrent users (flash sales, viral content), auto-scaling matters. A VPS has a fixed ceiling.
- Regulated industries requiring SOC 2 compliance. Self-hosting means you own the compliance burden. Managed platforms handle much of this for you.
For everything else — and that covers the vast majority of web applications in existence — a $20-40/month VPS with Coolify delivers the same developer experience as platforms charging 10-100x more.
The Real Cost Breakdown
Here is what our typical client infrastructure costs on Coolify:
| Component | Monthly Cost |
|---|---|
| Hetzner VPS (4 vCPU, 8GB RAM) | $18 |
| Backblaze B2 backups | $0.15 |
| Domain name (amortized) | $1 |
| Uptime monitoring (BetterStack) | $0 (free tier) |
| Total | $19.15 |
Compare that to Vercel Pro ($20/user/month + overages), Railway ($5/service + usage), or Heroku ($25-250/dyno). The math is not even close.
We have been running client applications on Coolify for over two years. Across all projects, our aggregate uptime is 99.94%. The 0.06% downtime was caused by a Hetzner datacenter network issue, not Coolify. For a $20/month setup, that is remarkable.
Schlagwörter
Fametoll Team
Wir entwickeln digitale Lösungen, die Unternehmenswachstum vorantreiben. Folgen Sie unserem Blog für Einblicke in Webentwicklung, Technologietrends und Best Practices.
Artikel teilen
Bereit, etwas Großartiges zu bauen?
Lassen Sie uns besprechen, wie wir Ihr Projekt zum Leben erwecken können.
Projekt starten