Coolify

coolify.iocontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

An open-source deployment platform you run on your own servers: connect a git repository and it builds, runs and renews certificates for you.

Promptfree, for everyone, and the only version there is
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

PlanBilled monthlyBilled yearlyLast 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

Coolify

$0

The product itself, free to self-host.

coollabsio/coolifyfree · open source

Dokku

$0

A far smaller platform for a single server, driven by git push.

dokku/dokkufree · open source

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

Interest · last 30 dayspeak 1/day
views0130 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

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

All 21 in Hosting & databases

Not sending yet

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

Esc