How to Self-Host Coolify on a €5 VPS and Ditch Your Vercel Bills

TL;DR — Coolify gives you a Vercel-style deploy UI on any €5 VPS with Docker and Traefik doing the heavy lifting. For side projects and small SaaS, it saves you $20+/month and gives you full control — but you trade Vercel's edge network for single-VPS ops responsibility.

Vercel's Pro plan starts at $20/user/month and bandwidth overages add up fast. Coolify gives you the same push-to-deploy UX on a €5 Hetzner VPS — Docker Compose under the hood, Traefik handling SSL, GitHub webhooks wired in. This is the setup I use for side projects, and it's paid for itself ten times over.

Coolify: a self-hosted PaaS that wraps Docker, Traefik, and a GitHub integration in a Heroku-style UI. It's the closest thing to a real Vercel alternative you can run yourself.

  1. Provision a VPS with at least 2GB RAM and Docker-compatible OS (Ubuntu 22.04 or 24.04).
  2. Run the Coolify installer script over SSH — it handles Docker, Traefik, and the Coolify UI in one go.
  3. Point a wildcard DNS record (*.apps.yourdomain.com) at the VPS IP.
  4. Register the Coolify admin account and connect your GitHub via the built-in OAuth app.
  5. Create your first application, pick the repo, set the domain, and deploy.
  6. Verify Let's Encrypt SSL kicks in automatically via Traefik's ACME resolver.
rack server cables
rack server cables

What is Coolify and why should you use it?

Coolify is an open-source, self-hosted PaaS that replaces Vercel, Netlify, and Heroku with a Docker-based deploy pipeline you own end-to-end. You push to GitHub, Coolify pulls, builds a container, and Traefik routes the traffic with automatic HTTPS.

The pitch is simple: a €5/month VPS on Hetzner gives you unlimited deploys, unlimited bandwidth (within the VPS quota — usually 20TB), unlimited team seats, and unlimited preview environments. Compare that to Vercel Pro at $20/seat plus bandwidth overages once you cross 1TB, and the maths gets ugly fast for anything past a hobby project.

What Coolify actually does well: Node/Next.js/Astro builds work out of the box, PostgreSQL and Redis are one-click databases, and the GitHub PR preview flow is nearly identical to Vercel's. What it doesn't do: serverless functions, edge caching at CDN scale, or ISR that magically revalidates across a global network. If you need those specifically, stay on Vercel. Otherwise, read on.

How do you provision the VPS?

Grab a CX22 instance on Hetzner (2 vCPU, 4GB RAM, €4.51/month at the time of writing) or the equivalent on DigitalOcean. Coolify recommends 2GB minimum but 4GB gives you room for two or three small apps plus a database.

Pick Ubuntu 24.04 LTS. Add your SSH key at provisioning time — do not use password auth. When the VPS boots, SSH in and get the firewall opened:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 8000/tcp
ufw enable

Port 8000 is the Coolify dashboard. Once you've configured a proper domain for it, you can close 8000 again and access via HTTPS on your subdomain.

How do you install Coolify?

One curl command. The installer sets up Docker, pulls the Coolify images, wires Traefik, and starts the dashboard. Run it as root:

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Give it 3-5 minutes on a fresh VPS. When it finishes, hit http://your-vps-ip:8000 and register the admin account immediately — the first user to hit that URL becomes root. Don't leave the tab closed for an hour and give someone else the front door.

The install script drops everything under /data/coolify. That's where your app configs, database dumps, and Traefik certificates live. Back it up. My preference is Backblaze B2 with Restic running nightly — cheap and off-site.

How do you wire up GitHub and DNS?

Coolify ships a GitHub App integration under Sources. Click through the OAuth flow, install the app on your GitHub org, pick which repos it can see. This is nicer than Vercel's setup because you're not handing over blanket read access — you scope it per-repo.

For DNS, point *.apps.yourdomain.com (or whatever wildcard you like) at the VPS IP as an A record. Namecheap and Cloudflare both handle this in about ten seconds. When you create an app in Coolify, you specify the FQDN and Traefik generates the Let's Encrypt cert on first request.

One gotcha the docs bury: if you're behind Cloudflare with proxy mode on (the orange cloud), Let's Encrypt HTTP-01 challenges fail. Either use DNS-01 with an API token, or set the DNS record to grey-cloud (DNS only). I've spent 20 minutes debugging this more than once.

docker dashboard
docker dashboard

What does the cost breakdown actually look like?

Concrete numbers on real projects. A three-app setup — Next.js frontend, Node API, Postgres database — running on a Hetzner CX22:

  • VPS: €4.51/month
  • Domain: ~€10/year (roughly €0.83/month)
  • Backups to Backblaze B2: ~€0.50/month for 50GB
  • Total: ~€5.84/month

Same three apps on Vercel Pro with a Postgres database (Neon or Supabase free tier):

  • Vercel Pro: $20/month
  • Once you exceed the 1TB bandwidth: $40 per additional TB
  • Serverless function invocations past the included quota: pay-per-use
  • Total: $20+/month, scales with traffic

For side projects and small SaaS, the savings compound. For high-traffic B2C apps, Vercel's edge network is worth the premium. Know which side of that line you're on.

Is Coolify production-ready?

Yes for solo dev and small teams. Cautiously, for anything customer-facing with real SLAs.

The v4 release stabilised the Traefik integration and the deploy pipeline — I've had apps running for months without touching them. But it's a single VPS, so you're responsible for updates, backups, and monitoring. Pair it with Uptime Kuma or Beszel to catch outages before your users do, and pair it with a proper Traefik setup if you want to add non-Coolify services on the same host.

What Coolify doesn't give you: multi-region failover, automatic scaling under load spikes, or the operational hand-holding you'd pay AWS Fargate for. If your app going down at 3am is a career-limiting event, don't self-host it on a single VPS. If it's a portfolio piece or an internal tool, this setup is more than enough.

FAQs

Is Coolify a real Vercel alternative?

For most use cases, yes. It handles Git-based deploys, preview environments, automatic SSL, and one-click databases. What it can't replicate is Vercel's global edge network or serverless function scaling — if you need those specifically, stay on Vercel.

What VPS specs do I need for Coolify?

Minimum 2GB RAM and 2 vCPUs, but 4GB is more comfortable for running 2-3 apps plus a database. A Hetzner CX22 at €4.51/month or DigitalOcean $6 droplet both work well. Add storage if you're hosting databases with real data.

Does Coolify support Next.js and static sites?

Yes. It auto-detects Next.js, Astro, SvelteKit, Nuxt, and most Node frameworks via Nixpacks buildpacks. Static sites work too — you can point it at any repo with a build command and output directory.

How do I back up a Coolify installation?

Back up /data/coolify for configs and Traefik certs, and use Coolify's built-in database backup feature for Postgres/MySQL/MongoDB. Restic or Duplicati to Backblaze B2 nightly is the cheap standard setup — under €1/month for most homelabs.

Can I run Coolify behind Cloudflare?

Yes, but use DNS-01 challenges for Let's Encrypt instead of HTTP-01, or set your DNS records to DNS-only (grey cloud) during initial cert issuance. Cloudflare's proxy blocks the HTTP-01 challenge and cert generation silently fails.

H
Hiten

Senior Frontend Engineer & Architect. 15+ years building fast, accessible web platforms. More at hiten.dev