Mohamed ARKID logo

Command Palette

Search for a command to run...

Command Palette

Search for a command to run...

Blog

Coolify vs Dokploy for Production (2026): What Breaks

Coolify vs Dokploy for production: backups, restores, upgrades and the panel itself. Which to pick, and how to test it before 3 AM tests it for you.

Updated 8 min read

When you buy a car, you take it for a test drive.

You check the cupholders. You adjust the seat. You nod at the engine like you know what you're looking at.

Nobody test-drives the airbag.

Which is funny, because the airbag is the only part that matters on the worst day you'll ever have in that car.

Coolify vs Dokploy is the same shopping trip. Both drive beautifully in the demo. Clean dashboard. One-click apps. Free SSL. Push to Git and it deploys. Lovely.

Then one night your server has a bad day, and none of that matters.

What matters is the airbag: backups, restores, upgrades, and what happens when the dashboard itself falls over.

So that's what this comparison is about. Not the cupholders.

Short on time? One server, a few business tools: pick Coolify. Several servers or zero-downtime deploys: pick Dokploy. Either way, the four checks below matter more than which one you choose.

Coolify vs Dokploy: the 30-second comparison

CoolifyDokploy
Best forOne server, several small apps, UI-firstMulti-service apps, replicas, CI-driven deploys
Minimum server2 GB RAM, 2 cores, 30 GB disk2 GB RAM, 30 GB disk
ProxyTraefik (Caddy optional)Traefik
Scaling modelExtra servers over SSH; Swarm support limitedDocker Swarm, multi-node built in
One-click templates280+Hundreds, growing fast
Database backupsScheduled, to S3-compatible storageScheduled, to S3-compatible storage
CommunityBigger and olderSmaller, newer, moves fast

Running n8n, a Ghost blog and a Metabase dashboard on one VPS? Either works. I'd lean Coolify for one boring reason: when something weird happens at midnight, more people have already posted about that exact weirdness.

Need two servers, replicas or zero-downtime deploys? Dokploy was built for that from day one.

Now the part nobody puts in the demo. Production dies in four places.

Coolify vs DokployWhat the demo shows vs where production diesBoth tools ace the test drive. These four parts only get tested in a crash.

moarkid.com — Self-Hosting in Production

The dashboard is not your app

Here's something that surprises people.

Both tools run your apps as ordinary Docker containers (Dokploy as Swarm services). If the dashboard crashes, your apps usually keep running. You just can't deploy anything, change anything, or see anything.

Your website is up. You're flying it blindfolded.

Panel down is not site downThe dashboard crashed. Your apps didn't notice.Apps run as plain Docker containers. The panel is a separate app with its own database.

Your VPS

Coolify / Dokploy panel healthy crashed: 502

n8n

serving

Ghost

serving

Metabase

serving

The panel's own database holds

  • Domains
  • Env variables
  • Secrets
  • Deploy settings

Back it up

Coolify: /data/coolify

Dokploy: /etc/dokploy

moarkid.com — Self-Hosting in Production

That makes the panel production infrastructure too. It has its own database holding every domain, environment variable and secret you ever typed into it. Lose it and your apps still run, but you get to rebuild the whole configuration from memory. Hope you wrote it down. (You didn't. Nobody does.)

Back up the panel, not only your app data:

  • Coolify keeps its data in /data/coolify
  • Dokploy keeps its data in /etc/dokploy

Simplest safety net: a nightly snapshot of the whole VPS from your hosting provider, plus a copy of that folder on storage that isn't the same server.

Database backups are not file backups

Both tools can dump Postgres or MySQL on a schedule to S3-compatible storage (Backblaze B2, Cloudflare R2, Wasabi and friends). Turn that on the first day. Not the day after the first incident, which is when most people discover the setting exists.

What it doesn't cover: files sitting in Docker volumes. Ghost's uploaded images. Anything an app writes to disk. And Metabase, which by default keeps its own settings in an embedded H2 file instead of Postgres, so your database backup job skips it completely unless you've moved Metabase onto Postgres.

Your dashboards, your saved questions, your carefully named charts. Not backed up. Surprise.

Backup coverageYour database backup job saves 1 thing out of 4Turning on scheduled backups feels like done. Here is what it leaves behind.
  • CoveredPostgres / MySQL dataYour app's tablesBuilt-in scheduled backup to S3
  • Not coveredDocker volumesGhost images, uploadsFix: tar each volume, ship off-server
  • Not coveredMetabase settingsEmbedded H2 fileFix: Move Metabase onto Postgres
  • Not coveredPanel configurationDomains, env vars, secretsFix: Nightly VPS snapshot + folder copy
Covered by default1 / 4

moarkid.com — Self-Hosting in Production

See what you actually have:

docker volume ls

Then back up each volume that matters. Replace ghost_content with your volume name:

docker run --rm \
  -v ghost_content:/data:ro \
  -v "$(pwd)":/backup \
  alpine tar czf /backup/ghost_content-$(date +%F).tgz -C /data .

Now get that file off the server with restic, rclone or whatever you like. A backup stored on the same disk as the thing it's protecting is a spare key taped to the car you just locked it in.

A backup you never restored is a rumor

This is the airbag test. Almost nobody does it. It's also the only step that tells you whether an outage costs you an hour or a week.

The airbag testFive steps from a rumor to a recovery timeRun it on a throwaway server. The stopwatch is the deliverable.
  1. 1FetchLatest dump from S3
  2. 2Spin upClean Postgres, same major version
  3. 3Restorepsql or pg_restore
  4. 4VerifyCount rows you know
  5. RecordWrite down the minutes

In your head

“About an hour, probably”

A guess.

On paper

Restored in

min

A plan.

moarkid.com — Self-Hosting in Production

On a throwaway server, or your laptop, restore the latest dump into a clean Postgres. Use the same major version as production:

docker run -d --name restore-test -e POSTGRES_PASSWORD=test postgres:16
sleep 5
 
# Plain SQL dump (.sql or .sql.gz)
time (gunzip -c backup.sql.gz | docker exec -i restore-test psql -U postgres)
 
# Custom-format dump (.dump / .dmp)
docker cp backup.dmp restore-test:/tmp/backup.dmp
time docker exec restore-test pg_restore -U postgres -d postgres --no-owner /tmp/backup.dmp

Then check your data actually came back:

docker exec restore-test psql -U postgres -c "\dt"

Count the rows in a table you know well. Write down how long the whole thing took.

That number is your real recovery time. The number in your head is a guess. The one on paper is a plan.

Upgrades are where the airbag goes off by itself

Both projects ship fast. Coolify has a reputation for changes that surprise people after big version bumps. Dokploy is younger, with fewer battle-tested edge cases and a smaller community to search when it does something odd.

Neither is a reason to avoid them. Both are reasons to upgrade on purpose:

Upgrade on purposeThe upgrade that can't ruin your weekendA snapshot turns a failed upgrade from an evening into a few minutes.
  1. Auto-updates offYou decide when
  2. Snapshot the VPSYour undo button
  3. Read release notesSearch "breaking"
  4. UpgradeTuesday morning

Broke? Roll back the snapshot

minutes

No snapshot? Untangle a half-upgraded panel

an evening

MonTueWedThuFri

moarkid.com — Self-Hosting in Production

  • Turn off automatic panel updates in production. Coolify has a setting for this. An upgrade should be something you decided to do, not something that happened to you while you slept.
  • Snapshot the VPS before every panel upgrade. Rolling back a snapshot takes minutes. Untangling a half-upgraded panel takes an evening and some language you won't use in front of clients.
  • Read the release notes and search them for the word "breaking".
  • Upgrade on a Tuesday morning. Never on a Friday afternoon. Friday deploys are how weekends become incident reports.

Coolify or Dokploy: which one should you pick?

Decision guideCoolify or Dokploy? Pick your situation.
  • PickCoolifyBiggest community and the most forum answers when something weird happens at midnight.
  • PickDokployDocker Swarm and multi-node were built in from day one, plus metrics and alerts in the dashboard.
  • PickA managed hostCosts more per month and a lot less per disaster.

Either way: a Coolify server with tested restores beats a Dokploy cluster with untested ones.

moarkid.com — Self-Hosting in Production

Coolify if you run one server with a handful of business tools and want the biggest pile of forum answers when you get stuck.

Dokploy if you need more than one server, replicas or zero-downtime deploys, or you want CPU, RAM and disk metrics with alerts built into the dashboard.

Neither if you have one app and nobody who'll look after the server. A managed host costs more per month and a lot less per disaster.

On licensing, both have open-source cores under Apache 2.0. Dokploy moved its core to Apache 2.0 in January 2026, with enterprise features under a separate source-available license. Check the current terms before you build a business on either.

Here's the honest bottom line: the choice between them matters less than the four boring checks above. A Coolify server with tested restores beats a Dokploy cluster with untested ones. Every time.

Don't want to do this yourself?

That's reasonable. You run a business, not a server farm.

I'll set up Coolify or Dokploy on your VPS for $200, fixed price. Here's exactly what you get:

  • The platform installed and locked down: firewall on, password logins off, automatic panel updates off
  • Your app live on your domain with SSL: n8n, Ghost, Metabase or similar
  • Nightly backups of your database and your files, stored off the server
  • A real restore test before handover, with the time it took written down. Your airbag, tested.
  • A one-page "where everything lives" note, so you're never locked in to me

Already running one, and it's throwing 502 errors, restarting in a loop or quietly eating the disk? Same fixed price to fix it.

The guarantee: if the restore test fails and I can't make it pass, you don't pay. Simple as that.

"Can I trust a stranger with my server?" Fair question. You give me a temporary SSH key, I snapshot the server before I touch anything, and you delete my key the minute I'm done. You can watch the whole thing if you like.

Why only $200? Because the scope is small and fixed, and I'd rather earn a great review than squeeze one invoice. Whatever I quote you in writing is the price you pay.

Who's doing the work: I'm Mohamed, a DevOps engineer. I've run AWS infrastructure for an EDI validation platform and built a production Kubernetes cluster from scratch on VMware. These days I help small teams keep their self-hosted tools alive. I work from Morocco (UTC+1), five to six hours ahead of New York depending on the season. Send me the problem at night, and it's often fixed before your coffee.

Tell me what you're running and what's wrong → You'll get a fixed quote in writing before I touch anything.

You'll never get to test your car's airbag. That's the deal with airbags.

Your backups are different. You can crash-test them any Tuesday, for free, and walk away without a scratch.

Or I can crash-test them for you. I promise to only crash the test copy.

P.S. Still stuck choosing? Send me what you plan to run and on how many servers. I'll reply with which one I'd pick and why, in one message. Free. No call, no sales pitch, no "quick 30-minute chat" that lasts an hour.

Frequently Asked Questions

Is Coolify or Dokploy better for production?
For one server running a few business tools, Coolify is the safer pick because its larger community means more answers when something breaks. For several servers, replicas or zero-downtime deploys, Dokploy fits better because Docker Swarm and multi-node support are built in. For either one, tested backups and restores matter more than the choice.
Do my apps go down if the Coolify or Dokploy dashboard crashes?
Usually not. Both tools run your apps as ordinary Docker containers (Dokploy as Swarm services), so they keep serving traffic when the panel is down. You just cannot deploy, change settings or see logs until the panel is back, and if its data is lost you must rebuild every domain, environment variable and secret by hand.
Where do Coolify and Dokploy store their own data?
Coolify keeps its data in /data/coolify and Dokploy keeps its data in /etc/dokploy. Back up that folder to storage that is not the same server, and take a nightly snapshot of the whole VPS from your hosting provider.
Do Coolify and Dokploy back up Docker volumes?
Their scheduled backups dump databases like Postgres and MySQL to S3-compatible storage. Files in Docker volumes, such as Ghost uploads or Metabase's embedded H2 settings file, are not included, so back up those volumes separately and copy the archives off the server.
How do I test that a Postgres backup actually restores?
On a throwaway server or your laptop, start a clean Postgres container on the same major version as production, restore the latest dump with psql or pg_restore, then check the tables and count rows in one you know well. Time the whole process: that number is your real recovery time.

Self-Hosting Setup or Fix · $200 fixed

Want it set up right the first time, with tested backups?

n8n, Ghost, Metabase, or Coolify / Dokploy on your own VPS. New install, or an existing one throwing 502s, restarting in a loop, or quietly filling the disk.

  • Platform installed and locked down: firewall on, SSH password logins off, automatic panel updates off
  • Your app live on your domain with SSL
  • Nightly backups of your database and your files, stored off the server
  • A real restore test before handover, with the time it took written down

If the restore test fails and I can't make it pass, you don't pay.

Not ready to buy? Send me what you plan to run and where. I'll reply with what I would do, in one message. Ask for a free recommendation. No call, no pitch.

Mohamed ARKID
Mohamed ARKID

DevOps & Cloud Consultant

I build systems that run reliably, scale efficiently, and deploy intelligently. See how I can help your team.