The question comes up in every Dokploy thread: can I run paying customers on this? The project is young (first release in 2024), the version number still starts with zero (v0.30.x at the time of writing), and the software sits between your users and your code. The answer is yes, with conditions that have more to do with the server underneath and your own preparation than with Dokploy, and this post sets out the evidence, the failure modes the Dokploy docs themselves document, and a checklist.
The maturity signals
- Adoption: 38,200 GitHub stars on 31 October 2026, up from about 26,000 in early 2026; an active Discord; a template catalogue of 500+ apps maintained in a separate repository.
- Release cadence: frequent minor releases (v0.30.0 added Docker network management, Cloudflare and Route53 DNS integration and per-server build queues; v0.30.1 and v0.30.2 followed with fixes). Point releases ship in days, which is what you want from a project you depend on.
- A business behind it: Dokploy Cloud ($4.50 per server per month) and an Enterprise tier with SSO, SCIM, custom roles and audit logs mean the maintainers are paid to keep the core working.
- Operational documentation: a production hardening guide, troubleshooting pages for the instance, domains, networking and volumes, and an instance backup and restore feature, all of which exist because people run it in production and hit real problems.
Against that: 0.x versioning means breaking changes are allowed, so pin a version and read release notes before updating; and the default install puts the control plane and your workloads on one machine.
What keeps running when Dokploy itself is down
This is the point most evaluations miss. Dokploy is a control plane. Your applications are Docker containers (Swarm services) with Traefik in front of them, and they keep serving traffic if the Dokploy dashboard container stops. What you lose while it is down is the ability to deploy, roll back, read logs in the UI or run scheduled jobs and backups that Dokploy triggers. Traefik keeps routing and renewing certificates on its own, PostgreSQL and Redis keep answering their apps, and a restart of the dokploy service brings the dashboard back with its state intact in the dokploy-postgres volume.
The exception is the machine itself. If the server dies, dashboard and apps die together. That is a hosting question, and it is the main reason to run the manager on a server that fails over at the hypervisor level, as the MassiveGRID servers on the Dokploy hosting page do through Proxmox HA with Ceph storage, rather than on a single-host VPS.
The documented failure modes
Dokploy's troubleshooting pages are a good map of what actually goes wrong. In rough order of frequency:
- Disk full. Build layers and images accumulate until the Dokploy database enters recovery mode and the UI stops loading. Fix: prune (
docker system prune -a,docker builder prune -a) and turn on scheduled cleanup; prevention: start with 64 GB or more and monitor disk. - Start-order race after a reboot. Dokploy comes up before its PostgreSQL and logs
ENOTFOUND dokploy-postgres;docker service scale dokploy=0then=1fixes it. - Domain problems. Wrong container port, an app bound to 127.0.0.1 instead of 0.0.0.0, a domain added before DNS pointed at the server (recreate the domain or restart Traefik), Compose services that publish host ports and collide, and Compose domain changes that only apply after a redeploy. Our certificate troubleshooting post walks through them.
- Networking on unusual hosts. Docker's default address pools run out after about 31 networks (one per Compose project), DNS inside builds fails on some providers' resolvers, Swarm needs an advertise address on multi-IP hosts, and minimal kernels lack IPVS. Each has a documented fix.
- Slow or failed builds. CPU steal on shared hosts and memory exhaustion during builds, covered in our slow builds post.
None of these is a Dokploy bug in the usual sense; they are the operational realities of running Docker on one server, which Dokploy exposes rather than hides.
The go-live checklist
- Size the server for builds, not idle. 4 vCPU and 8 GB for a small team's stack; dedicated cores if deploys are frequent. See the requirements guide.
- Pin the Dokploy version and update deliberately with
curl -sSL https://dokploy.com/install.sh | sh -s updateafter reading the release notes; take an instance backup first. - Instance backups to S3 under Web Server, Backups, on a schedule, and a restore drill once.
- Database backups to S3 for every database service, with server-side encryption on the bucket and credentials scoped to it.
- Volume backups for named volumes that hold uploads.
- Firewall: only SSH, 80 and 443;
ufw-dockerinstalled so Docker cannot bypass UFW; port 3000 closed and the dashboard behind Traefik. - 2FA or passkeys on every dashboard account; least-privilege members; API tokens with expiry.
- Docker daemon limits: log rotation (
max-size,max-file),live-restore, anddefault-address-poolssized for the number of Compose projects you expect. - Scheduled Docker cleanup and a disk alert at 80 percent.
- Health checks on every application so rolling updates never route to a container that is not ready.
- Notifications (Slack, Discord, Telegram or email) for failed deployments and server thresholds, and logs shipped off the server.
- Hosting with failover. A server that migrates to healthy hardware and stores disks with three replicas turns the single-machine risk into a log entry. The MassiveGRID Dokploy presets include that, 24/7 support, and installation on request.
When Dokploy is the wrong tool
Choose something else if you need autoscaling on custom metrics, multi-team namespaces with strict RBAC, a service mesh, or a platform that must survive the loss of its own control-plane server without intervention. Those are Kubernetes problems, and our Swarm vs Kubernetes post is candid about where the line is. For the common case, a few to a few dozen services run by a small team on one or a handful of servers, Dokploy on well-provisioned, failover-capable infrastructure is as production-ready as the team operating it.
Frequently Asked Questions
Is Dokploy stable enough for a business?
Yes, with the preparation in the checklist above: pin versions, back up the instance and databases to S3, harden the host and run it on a server with hardware failover. The project ships frequent releases, has a paid Cloud and Enterprise business behind it and documents its failure modes; the version number still starts with 0, so read release notes before each update.
What happens to my apps if the Dokploy dashboard crashes?
They keep running. Applications are Docker Swarm services behind Traefik, which continues routing and renewing certificates without Dokploy. You lose deployments, UI logs and Dokploy-triggered jobs until the dokploy service restarts; its state is in the dokploy-postgres volume. If the whole server fails, everything on it fails, which is why hypervisor-level failover matters.
Does Dokploy have high availability?
Not for its own control plane: the dashboard and its database run on one manager. Applications can be spread across Swarm worker nodes with replicas, and the usual way to protect the manager is infrastructure failover (MassiveGRID servers migrate to a healthy node on hardware failure) plus scheduled instance backups that restore to a new server in minutes.
Production Dokploy on a server that fails over
The MassiveGRID Growth preset, 4 vCPU, 8 GB RAM and 128 GB NVMe on dedicated cores, is $39.60 a month on a Proxmox HA cluster with Ceph storage, 12 Tbps DDoS protection, a 100% uptime SLA and a 15-day money-back guarantee. Open a ticket after ordering and we install Dokploy for you.
Configure a production Dokploy server