An open-source deployment platform you run on your own servers: connect a git repository and it builds, runs and renews certificates for you.
Build me the deployment setup I actually need instead of paying for Coolify's hosted control plane: git push, build, run, renew certificates, on my own servers. Read this first: the product you are replacing is open source and self-hosting it is free. What the fee buys is a hosted control plane, so the thing that deploys your servers is not itself on one of them — which is a real concern the moment you have more than one. Build this when you have one or two servers and a handful of services, which is where most people are. STACK - Bash and systemd on the server, plus a small Node control process if you want a web interface - Docker or Podman for the services themselves - Caddy in front for TLS and routing - SQLite through better-sqlite3 for deploy history, if there is a control process THE SHAPE OF IT - A release directory per deploy: /srv/<app>/releases/<timestamp>, with /srv/<app>/current a symlink to the live one - Shared state — the database, uploads, .env — lives in /srv/<app>/shared and is symlinked into each release. Nothing that must survive a deploy is ever inside a release directory - Deploy is: fetch, build into a new release, run migrations, switch the symlink, restart, health check. If any step fails, the symlink never moves and the old release keeps serving - Rollback is moving the symlink back and restarting. It must be one command and it must be tested before it is needed - Keep the last five releases and delete the rest THE DEPLOY SCRIPT, WHICH IS THE WHOLE PRODUCT - Refuses to run on a dirty tree or the wrong branch - Builds, and if the build fails the running service is untouched. This is the single most important property: a failed deploy must be a non-event - Runs migrations before the switch, each once, in order, inside a transaction where the database allows it - Health check after restart against a real endpoint that touches the database, with a timeout and an automatic rollback if it does not come up - Logs what it did, with a timestamp, to a file that is kept - One command, no arguments, no decisions to make at three in the morning TLS AND ROUTING - Caddy with automatic certificates, which is a two-line configuration and the reason this part is not hard - One site block per service, reverse proxying to a local port - On-demand TLS if customer domains are involved, with an ask endpoint that checks the domain against your own database — without that check, anyone pointing a domain at you can make you request certificates on their behalf - Security headers and a content security policy set once, in Caddy, for everything SERVICES ALONGSIDE - Postgres, Redis, a database of some kind — each as a container with a named volume, a memory limit, a restart policy and a health check - Never expose their ports on the public interface. Bind to localhost or to a container network, and say why: an open database port is found by a scanner within the hour - Backups of every stateful service to a script that runs nightly, uploads off the machine, and is restored from once as a test WEBHOOKS AND AUTOMATION - A small endpoint that verifies a signature from the forge and triggers a deploy for a matching branch - Deploys serialised per app — two at once is how you get a half-built release - The result reported back, and a notification on failure - A manual deploy path that does not depend on the webhook working MONITORING THE BASICS - Systemd units with Restart=on-failure and a journal - Disk, memory and certificate expiry checked by a timer, alerting by email - An uptime check from somewhere that is not this machine — a free external service is fine, and it is the one thing that must not be self-hosted here - Log rotation configured before it is needed, not after the disk fills THE HONEST PART - Write in the README what this does not do: no cluster, no zero-downtime rolling deploy, no automatic scaling. A restart is a second of downtime, and for almost everything that is acceptable - Write down what breaks when the server dies, and how long the restore takes. If you have not timed it, you do not know it - The control plane, if you build one, should be reachable when the app is not — and ideally from a different machine WHAT MATTERS MOST The failed deploy and the rollback. Break the build deliberately, deploy, and confirm the site never went down; then roll back and time it. Everything else here is convenience, and this is the part that decides whether you deploy on a Friday. Give me the deploy script, the rollback script, the systemd units, the Caddy configuration, the backup and restore scripts, and a README that reads as a runbook rather than an introduction.
What you lose
- A hosted control plane, so the thing that deploys your servers is not itself on one of them
- Updates and support for the platform
- Templates for dozens of common services, one click each
If you would rather not build
- Docker Compose and Caddy, for one application
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $5/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Why this verdict
our own opinion · changed only by a person
86/100
Verdict yes at 86. The software is free; you are paying for a dashboard hosted elsewhere, which you can arrange with a second small server.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about Coolify
answered from the record above
Is Coolify free?
No — the plan we track is $5 a month. Cloud from around $5/month billed monthly; self-hosting the same software is free.
Can you replace Coolify by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 86 out of 100, build time one session. Read what you lose before you decide.
How much does Coolify cost?
$5 a month on Cloud — $60 a year. Recorded 10 Aug 2026.
What do you lose by replacing Coolify?
A hosted control plane, so the thing that deploys your servers is not itself on one of them; Updates and support for the platform; Templates for dozens of common services, one click each. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Coolify?
Yes: Coolify, Dokku. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

