Dokploy

A deploy dashboard on your own VPS, with Swarm underneath it.

2guides Feed

Dokploy puts a deployment dashboard on a server you rent. Push to a branch, it builds an image and replaces the running service. Underneath, applications are Docker Swarm services routed by Traefik.

That architectural choice is what distinguishes it. Swarm already knows how to replace tasks one at a time, wait for health, and roll back when a new version fails — so rolling updates are configuration rather than a feature someone has to build.

Reach for Dokploy when deploy-time downtime matters, when you expect to add a second node to the same cluster, or when your applications are already described by Compose files. Reach for something simpler when you have one application and a five-line deploy script would do; a control plane you have to maintain is only worth it once it saves more time than it costs.

The debugging surface is Swarm’s, and that is the main learning cost. When a deploy misbehaves you are reading docker service ps, looking at task states like Pending and Rejected, and checking UpdateStatus on the service. Those are learnable, but they are a second system on top of plain Docker.

Two problems account for most of the reports. Missing health checks, which turn every deploy into a few seconds of failed requests. And Traefik labels placed on the container rather than under deploy.labels, where the Swarm provider cannot see them — which produces a deployed, healthy application that answers 404.

Start here

Dokploy vs Coolify: Choosing a Self-Hosting Platform

Both put a Heroku-style deploy UI on your own VPS, but on different container primitives. What that means for zero-downtime deploys, multi-server growth and the day the control plane breaks.

Intermediate · 6 min read

Beginner to advanced

A reading order that builds Dokploy knowledge in the sequence it is actually needed.

  1. Build Dokploy vs Coolify: Choosing a Self-Hosting Platform 6 min
  2. Operate Zero-Downtime Deploys in Dokploy with Docker Health Checks 4 min

Common problems

Failure modes that come up repeatedly with Dokploy, and where each one is solved.

Deploys still drop requests
Without a health check, Swarm treats a started process as healthy and shifts traffic before the application can serve it.
The app deploys but Traefik returns 404
Under Swarm, Traefik reads labels from the service. Labels under the container instead of `deploy.labels` are invisible to it.
An update pauses halfway and never finishes
`failure_action` defaults to pause. Set it to rollback, and unstick the current one with `docker service update --force`.

Latest Dokploy guides

Browse the archive
  • intermediate

    Dokploy vs Coolify: Choosing a Self-Hosting Platform

    Both put a Heroku-style deploy UI on your own VPS, but on different container primitives. What that means for zero-downtime deploys, multi-server growth and the day the control plane breaks.

    6 min AI-assisted

Recently updated

  • intermediate

    Dokploy vs Coolify: Choosing a Self-Hosting Platform

    Both put a Heroku-style deploy UI on your own VPS, but on different container primitives. What that means for zero-downtime deploys, multi-server growth and the day the control plane breaks.

    6 min AI-assisted

Frequently asked questions

Do my applications keep running if Dokploy itself goes down?

Yes. The control plane schedules containers, it does not sit in the request path — Traefik and your app containers are independent of it. You lose deploys, logs and configuration changes until it is back.

Why does Dokploy use Docker Swarm?

Swarm gives it a scheduler that already knows how to do rolling updates, drain a node and reschedule work. That is what makes zero-downtime deploys and multi-node placement available without extra machinery.

Is Swarm a dead technology?

It is in maintenance rather than active feature development, and it works. For a one- to three-node self-hosted setup it does the job with far less operational surface than the alternatives.

Sources

  1. Dokploy documentation Dokploy Primary source
  2. Dokploy source repository Dokploy Primary source
  3. Swarm mode key concepts Docker Primary source