The Self-Hosting Question
Vercel is excellent. The DX is unmatched — push to GitHub and your Next.js app is live in 60 seconds with global edge distribution.
But at $20/user/month (Pro) plus bandwidth and function invocation charges, costs add up fast. The question isn't "is Vercel good?" — it's "is it worth 10-50x more than the alternative?"
Cost Comparison
Scenario: 3 Next.js apps, 2 developers, moderate traffic
| Item | Vercel | Coolify + Hetzner |
|---|---|---|
| Platform | $40/mo (2 Pro seats) | $0 (open source) |
| Hosting | Included | $22/mo (CPX42) |
| Bandwidth | ~$40/mo (100GB overage) | Included (20TB) |
| Build minutes | Free tier usually sufficient | Unlimited |
| Serverless functions | ~$10/mo | N/A (runs as server) |
| **Total** | **~$90/mo** | **~$22/mo** |
At 5 apps and 5 developers: Vercel jumps to ~$200-300/mo. Hetzner stays at $22/mo.
Feature Comparison
| Feature | Vercel | Coolify |
|---|---|---|
| Git-push deployments | Yes | Yes |
| Preview deployments | Yes (every PR) | Yes |
| Custom domains + SSL | Yes | Yes |
| Environment variables | Yes | Yes |
| Rollbacks | Yes | Yes |
| Edge functions | Yes | No |
| Global CDN | Yes (built-in) | No (add Cloudflare) |
| Serverless functions | Yes | No (use server processes) |
| Image optimization | Yes (built-in) | Manual setup |
| Analytics | Yes (paid addon) | Self-hosted (Plausible/Umami) |
| Database hosting | Yes (Neon/Vercel Postgres) | Yes (one-click PostgreSQL) |
When Vercel Wins
1. Global edge is critical: If your users are worldwide and latency matters at the edge level
2. Zero-ops requirement: Your team has no Linux/Docker experience and doesn't want to learn
3. Next.js-specific features: ISR, Edge Middleware, Image Optimization are deeply integrated
4. Solo developer: At $0/mo (Hobby) for personal projects, Vercel is free
When Coolify Wins
1. Multiple apps: The per-app marginal cost on Coolify is essentially $0
2. Team scaling: No per-seat pricing
3. Data sovereignty: Everything stays on your server
4. Non-Next.js apps: Django, Rails, Go, static sites — Coolify handles them all equally
5. Database hosting: Run PostgreSQL on the same server at no extra cost
6. Budget-conscious: You want predictable, flat monthly costs
The Hybrid Approach
Many teams use both:
- Vercel for their primary customer-facing marketing site (where global CDN matters)
- Coolify for internal tools, staging environments, client projects, and backend services
Migration Path
Moving from Vercel to Coolify is straightforward:
1. Set up a Hetzner VPS with Coolify
2. Connect your GitHub repos
3. Configure environment variables
4. Update DNS to point to your server
5. Done
The reverse is equally easy, so there's low risk in trying Coolify.
Want to set up Coolify on Hetzner? Our guide walks through the complete process, including production configuration and the Mailcow coexistence setup.
Want the Complete Setup Guide?
This blog post covers the basics. Our premium guide includes step-by-step commands, exact configurations, and the solutions to every gotcha we encountered.