Coolify deploys. Pilae operates — advisory tracking per app, updates staged and applied in your window, restores drilled and recorded, and an agent that makes the change when you ask for it.
- What they sell
- An open-source panel you install and run yourself
- What we sell
- The operated estate, on servers you own
- Licence
- Apache-2.0
- Who operates it
- You do, including the panel itself
- Who operates ours
- We do, and the panel is never on your estate
- Migration included
- Yes, at a fixed price agreed before it starts
What each one actually covers
Thirteen things an open-source estate needs done. Their column is filled in from coolify.io.
| Capability | Coolify | Pilae |
|---|---|---|
| Deploy | ||
| One-click deploy from a curated cataloguePick the app, name the users, and it is sized, provisioned and running. | Yes | Yes |
| Migration onto the platform, run for youYour data out of the system it is in today, rehearsed before it is cut over. | No | Yes |
| SSO and identity wired into each appKeycloak, Entra ID, Google Workspace or Okta, configured on the app itself. | No | Yes |
| Keep it current | ||
| Updates applied for you, not just announcedThe release is read, staged and applied. You are not the one doing it. | No | Yes |
| Per-app CVE and advisory trackingThe advisory, the affected version and the fix version, per app you run. | No | Yes |
| Changes land in a window you approvedYour timezone, your hours, agreed before anything is touched. | No | Yes |
| Staged and checked before productionThe upgrade runs somewhere safe first, and the checks have to pass. | No | Yes |
| Prove it | ||
| Restore drills, not just backupsThe backup is restored on a schedule, because an untested backup is a hope. | No | Yes |
| A record of every restoreWho restored what, from which file, into which service, and whether it worked. | No | Yes |
| A change log an auditor can readEvery action, the person who took it, the outcome, inside your perimeter. | Partly | Yes |
| See it | ||
| Monitoring and alerting on the appsNot just the host: the application, its checks, and someone who answers. | Partly | Yes |
| Logs and metrics exported to your stackOpenTelemetry, or straight into the SIEM your security team already runs. | No | Yes |
| Run it | ||
| An agent that operates the estate with youAsk for a change in words; it plans it, shows you, and waits for approval. | No | Yes |
Pilae vs Coolify, in words
A tick says whether something is covered. These say how.
| What is being compared | Coolify | Pilae |
|---|---|---|
| What you are buying | Software. You install it, you run it, and it does what you configure. | An operating commitment. Which panel runs underneath is our problem, not a line in your contract. |
| Keeping up with security | The panel can watch an image for a new tag. Reading the advisory and deciding is yours. | Every app tracked against its upstream advisories, with the CVE, the affected version and the fix version named before the change is proposed. |
| Applying an update | You do it, when you get to it, straight at production. | Staged first, checks green, then applied inside a maintenance window you approved, with a restore drilled either side. |
| Who patches the panel | You do. It is another production service on your estate. | Nobody on your side. It is not on your estate. |
| Proving a restore works | Backups are configurable per resource. Whether one has ever been restored is a question you answer yourself. | Drilled on a schedule and recorded — who restored what, from which file, into which service, and whether it worked. |
| What your security team gets | Container logs, and whatever you build around them. | Logs and metrics exported to OpenTelemetry or into your SIEM, plus a change log naming every action and who took it. |
| When the person who set it up leaves | The panel keeps running. Knowing why it was configured that way leaves with them. | The runbook is written down and handed to you, the configuration is in a repository you can read, and the knowledge sits with a company rather than with one person. |
You ask for the change. The agent does the work.
Pilae Agent runs inside your perimeter and proposes each change as a plan you read before it runs. Nothing lands without your approval, and every action goes into the same change log as ours.
“Patch everything with an open advisory this week”
Checks each app and its base image against the advisories, stages the fixes, and queues them for your window, one approval per change.
“Who changed the Mattermost configuration last month?”
Answers from the change log: who asked, what the plan said, who approved it and what was applied.
A panel moves the work. It does not remove it.
Coolify is good software and it is free, and if you install it you get most of what a PaaS gives you on hardware you own. That is a real thing to have.
What comes with it is another production service. The panel needs patching, and so does the host under it, the proxy in front of it, and every application you deployed through it. The panel can tell you a new image tag exists. It will not read the advisory, work out whether the release is safe against your configuration, rehearse it, land it at an agreed hour, or prove afterwards that your backups still restore.
That work did not disappear. It moved to whoever installed the panel, and it is usually one person.
What Pilae operates instead
Advisory tracking per application. Every app in your estate is watched against its upstream security advisories. You get the CVE, the affected version and the fix version — not a notification that a tag changed.
Updates that are staged, approved and reversible. The upgrade runs somewhere safe first and the checks have to pass before it goes near production. It lands in a maintenance window in your timezone that you agreed. A restore is drilled against the snapshot either side of it.
Restores that are proven, and written down. A backup nobody has restored is a hope. Ours are restored on a schedule, and every restore is recorded: who ran it, from which file, into which service, and whether it worked. That record is the thing an auditor actually asks for.
Your logs in your stack. Application monitoring and alerting, with logs and metrics exported to OpenTelemetry or straight into the SIEM your security team already runs. Plus a change log that names every action and the person who took it.
Migration in, at a fixed price. Your existing estate comes across — data, domains, volumes, identity — rehearsed before it is cut over, and priced before it starts.
And the agent
The reason none of this means more console time: you ask for the change in a sentence and Pilae Agent plans it, shows you the plan and waits for approval. Change an environment variable across the estate. Ask why a service got slow this morning and get the answer, not a dashboard. Stand up a new app for a team, sized from the headcount, with SSO already wired to your directory.
Moving from Coolify
A migration is a service, not a support article. This is the sequence we run, and it is in the fixed price.
Read the panel
What is deployed, which versions, what the compose files really say, and which of it still matters.
Keep the estate, drop the panel
The compose definitions, the volumes and the domains come across. The panel does not.
Rebuild on your own servers
Same apps, same versions, under a control plane nobody on your side has to operate.
Move volumes and prove them
Data across, checks run, and a restore proven from the new backups before anything is switched off.
Cut over app by app
One at a time, in windows you pick, with the old panel standing until each has settled.
Coolify still fits when
- You have a platform engineer whose job this is, with the time to do it.
- The estate is small, the apps are yours, and nothing on it would hurt if it broke.
Everywhere else, Pilae
The moment the estate has to stay patched, stay proven and stay auditable without someone in your building doing it by hand, the comparison stops being close.