← Journal
28 Jun 2026 · 11 min read

Coolify: the self-hosted PaaS that replaces Vercel, Netlify, and your DevOps anxiety

After running Coolify in production for months, here is what it actually does well, where it breaks, and why I recommend it to startups who are not ready for Kubernetes but have outgrown Docker Compose.

A founder asked me last month what I thought about Coolify. He had been using Vercel for his Next.js frontend and Railway for his Python backend. The combined bill was €180/month for a product with 200 daily users. He wanted to cut costs without adding operational complexity.

I told him to try Coolify. He did. Three weeks later his bill was €12/month on a Hetzner VPS and he was deploying more often than before, not less. This is not a sponsored post. Coolify does not know I am writing this. It is a tool I have been running in production for months, and the experience has been honest enough to write about.

What Coolify actually is

Coolify is an open-source, self-hosted PaaS. You install it on a server, connect your Git repository, and it builds and deploys your application every time you push. It handles SSL certificates, environment variables, databases, preview deployments, and rollbacks. It is what Vercel and Netlify do, except it runs on your own infrastructure and costs whatever your server costs.

The simplest description: it is Heroku for your own server. But that undersells it, because Heroku never had the deployment flexibility Coolify has.

What it does well

One-click databases

PostgreSQL, MySQL, Redis, MongoDB, ClickHouse, KeyDB, MariaDB. You click, it deploys, it gives you a connection string. No Helm chart, no StatefulSet, no PersistentVolumeClaim YAML. For a startup that needs a database in 10 minutes, this is the fastest path I know.

The databases are not toys. They run as Docker containers with persistent volumes, automated backups, and connection pooling. I have run a Postgres instance through Coolify for three months with no issues. The backup system sends dumps to any S3-compatible storage. Set it once, forget it.

Git-based deployments

Connect a GitHub or GitLab repository. Every push to your main branch triggers a build and deploy. Coolify detects the framework (Next.js, Nuxt, SvelteKit, Django, FastAPI, Laravel, Rails, static sites) and builds accordingly. You can also use a Dockerfile or a nixpacks-based build if you have custom requirements.

The deployment is atomic. Coolify builds the new container, starts it, waits for health checks, and then switches traffic. If the health check fails, the old container keeps running. No downtime, no half-deployed states.

Preview deployments

This is the feature that surprises people. Coolify can deploy a preview environment for every pull request. Your designer can see the change before it merges. Your QA can test against a real environment, not a local one. This is a Vercel Pro feature that Coolify gives you for free on your own server.

Cost

A Hetzner CX22 (2 vCPU, 4GB RAM) costs €4.5/month. It runs Coolify, a Next.js app, a Python API, a Postgres database, and a Redis cache. The same setup on Vercel + Railway + managed Postgres would cost €60-180/month depending on traffic. At 200 daily users, the Vercel bill alone was €80 because of bandwidth and function execution.

Coolify’s economics are simple: you pay for the server, not per request. For startups with steady traffic, this is dramatically cheaper. For startups with spiky traffic, it is even cheaper, because you are not paying for per-request execution spikes.

Where it breaks

I am not going to pretend Coolify is perfect. It is not. Here are the things that have bitten me.

Multi-server setups are still rough

Coolify can manage multiple servers, but the experience is not as smooth as single-server. If you want to run your database on one server and your application on another, you can do it, but the networking between them is on you. Coolify does not provision private networks or VPNs between servers. You need to handle that with WireGuard or a cloud provider’s private networking.

For most startups, this does not matter. One server is enough until you have real traffic. When you do need multi-server, you are probably ready for Kubernetes, and Coolify has served its purpose.

No built-in observability

Coolify shows you container logs and resource usage (CPU, memory, disk). That is it. There is no Prometheus, no Grafana, no distributed tracing. If you want real observability, you need to set it up yourself.

This is not a flaw. Coolify is a deployment platform, not a monitoring platform. But it means you still need to solve observability separately. I usually install a lightweight Prometheus + Grafana stack alongside Coolify on the same server for small setups. It works, but it is not one-click.

Backup reliability

The backup system works, but I have seen it silently fail when the S3 credentials expired. There was no alert. The dashboard showed “backup successful” because the job ran, not because the upload succeeded. Check your backups by restoring them periodically. Trust nothing automated until you have verified the restore.

Upgrades can be disruptive

Coolify updates frequently, which is good for features but means you should expect occasional breaking changes. I have had an upgrade reset my environment variables once. The team fixed it within hours, and the data was not lost, but it was a stressful 30 minutes. Pin your version in production and test upgrades on a staging server first.

When to use Coolify vs when to move on

The decision tree I use with clients:

Use Coolify if:

  • You have 1-5 services to deploy.
  • Your traffic fits on a single server (most startups up to 10K daily users).
  • You want Git-based deployments without Kubernetes.
  • Your team does not have a dedicated DevOps engineer.
  • You are paying more than €50/month to Vercel, Railway, Render, or similar.
  • You want to own your infrastructure without operating it.

Move to Kubernetes if:

  • You need multi-region failover.
  • You have more than 10-15 services with complex dependencies.
  • You need autoscaling that responds to traffic in seconds.
  • You have a team that can operate Kubernetes (or you hire someone who can).
  • You need service mesh, advanced network policies, or multi-tenant isolation.

The transition from Coolify to Kubernetes is not painful because Coolify uses Docker containers. Your Dockerfiles move with you. Your applications do not change. What changes is the orchestration layer. Coolify orchestrates Docker on one server. Kubernetes orchestrates Docker across many servers. The application code is the same.

The honest comparison

FeatureVercelRailwayCoolify
Cost at 200 daily users€60-180/mo€30-60/mo€4.5/mo (server)
Self-hostedNoNoYes
Database supportManaged (separate)ManagedOne-click
Preview deploymentsYes (Pro)NoYes (free)
Custom backend (Python, Go, Rust)LimitedYesYes
Vendor lock-inHighMediumNone
ObservabilityBasicBasicBasic (bring your own)
Multi-serverYes (edge)YesRough
Open sourceNoNoYes

The lock-in point matters more than people realise. Vercel and Railway are excellent platforms. But when your bill hits €500/month and you start looking for alternatives, migrating is painful. With Coolify, your infrastructure is a server you own. If you want to move, you back up your containers and move them. No migration project, no vendor relationship to unwind.

What I actually deploy

For a typical startup client, the setup looks like this:

  1. A Hetzner CX32 or CX42 (4-8GB RAM, €7-15/month).
  2. Coolify installed via their one-line script.
  3. GitHub connected, auto-deploy on push to main.
  4. Postgres and Redis deployed via Coolify’s one-click database.
  5. A Cloudflare tunnel in front for DDoS protection and caching.
  6. A lightweight Prometheus + Grafana for monitoring (10 minutes to set up).
  7. Backups to Backblaze B2 (€0.005/GB/month).

Total cost: €10-20/month for infrastructure that would cost €100-300 on managed platforms. The tradeoff is that you own the server, which means you are responsible for security updates and disk space. Coolify handles the rest.

Who should not use Coolify

If you are an enterprise with compliance requirements, multi-region needs, and a team of SREs, Coolify is not for you. You should be on Kubernetes with a proper platform engineering team.

If you are a solo developer who wants zero operational responsibility and is happy to pay €100/month for that convenience, Vercel is a better choice. Coolify requires you to care about your server. Not much, but some.

If you are a funded startup that needs to ship fast, control costs, and own your infrastructure without hiring a DevOps engineer, Coolify is the tool I recommend without hedging. It is the right answer for the stage between “Docker Compose on a laptop” and “Kubernetes in production.”

If you are a startup reading this and recognizing the pattern, Basecamp exists for exactly this reason: digitalaultis.com/basecamp