Dokploy: a self-hosted PaaS that runs on your own VPS
Dokploy is a free, self-hostable PaaS alternative to Vercel, Netlify, and Heroku, deploying apps and databases with Docker Compose, backups, and multi-node scaling.
At a glance
- What is it?
- Dokploy is a free, self-hostable platform as a service for deploying applications and databases on a VPS, with Traefik routing, Docker Compose support and one-click templates. The licence situation is the part to check before you commit.
- Who is it for?
- Dokploy fits teams that already run a VPS and want Vercel-style deploys without per-seat billing, and it is the wrong choice if you need a fully permissive licence or a managed control plane you never touch. Before adopting it, read LICENSE.MD and LICENSE_PROPRIETARY.md in the repository root and confirm which terms apply to your use, then verify that the install script's Docker and Traefik assumptions match your host.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Dokploy replaces, and for whom
The README describes Dokploy as "a free, self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases." The audience is anyone who has a VPS and wants the deploy experience of a hosted PaaS without the hosted PaaS. The repository name in the description says the quiet part out loud: it positions itself as an alternative to Vercel, Netlify and Heroku.
That framing matters because those three products are not the same shape. Vercel and Netlify are oriented around frontend and serverless builds. Heroku is a container platform with add-ons. Dokploy's feature list covers the Heroku side more than the Vercel side: applications in Node.js, PHP, Python, Go or Ruby, managed databases across MySQL, PostgreSQL, MongoDB, MariaDB, libsql and Redis, scheduled database backups to external storage, and Docker Compose for multi-service stacks.
The person this is aimed at runs infrastructure already. If you have never administered a Linux server, Dokploy does not remove that requirement. It runs on a VPS and manages Docker on that host, so the host is still yours to keep alive.
The mechanism: Docker, Traefik and a Next.js control plane
The repository layout shows a pnpm workspace with apps/ and packages/ directories, and the root package.json defines scripts that filter into a dokploy app and a server package. The Dockerfile builds both: it runs pnpm --filter=@dokploy/server build and pnpm --filter=./apps/dokploy run build, then deploys the Next.js app into a runtime image. So the control panel is a Node application, and the thing it controls is Docker on the same machine.
Routing is where Traefik comes in. The feature list states Dokploy "automatically integrates with Traefik for routing and load balancing," which means the panel does not hand-roll a reverse proxy per app; it writes Traefik configuration as applications are created. This is why the install script can be a single command: it is provisioning a known stack rather than asking you to assemble one.
Scaling beyond one machine goes through Docker Swarm. The feature list describes "Multi Node" as scaling applications to multiple nodes using Docker Swarm to manage the cluster, and separately lists "Multi Server" for deploying to external servers. Those are two different capabilities with confusingly similar names: Swarm is clustering, multi server is remote management. Both depend on Docker being reachable, so neither works if the host's Docker daemon is down.
The Dockerfile also installs Nixpacks, which is the build system for language detection, and rclone, which is what backs the database backup feature. Both are baked into the image rather than fetched at deploy time.
Installing Dokploy on a VPS
The README gives exactly one installation path, and it is a piped shell script. It states: "To get started, run the following command on a VPS." The command is:
curl -sSL https://dokploy.com/install.sh | bashThe README does not document what the script does step by step, so read it before piping it into bash if the host holds anything you care about. After it finishes, the panel is reachable and you create the first admin account. The README points to docs.dokploy.com for detailed documentation, which is where the port and access details live; the README itself does not state a port.
If you would rather not run the installer at all, the README offers a hosted option: "Want to skip the installation process? Try the Dokploy Cloud" at app.dokploy.com. That is a different product decision, not an installation shortcut.
For a first real deployment, the lowest-friction path is a template rather than a blank application. The feature list names Plausible, Pocketbase and Calcom as one-click templates. Using one gives you a running service plus a Traefik route without writing a Dockerfile, which is the fastest way to confirm the routing layer works on your host before you debug your own build.
Building from source is a separate exercise. The root package.json requires Node ^24.4.0 and pnpm >=9.12.0, and the Dockerfile pins node:24.4.0-slim with [email protected] activated through corepack. The workspace scripts are:
pnpm install
pnpm dokploy:setup
pnpm dokploy:buildThat path is for contributing or running a custom build, not for the normal install.
Where Dokploy is the wrong tool
The licence is the first thing to resolve, and the README does not resolve it. The repository root contains both LICENSE.MD and LICENSE_PROPRIETARY.md. Two licence files at the top level is not a normal open source arrangement, and the README's feature list does not mention licensing at all. The description calls Dokploy an open source alternative to Vercel, Netlify and Heroku, but a proprietary licence file sitting next to the main one means you should read both before you build a business on it. This article cannot tell you which terms apply to your situation, and neither file is reproduced here.
Operationally, the single-VPS model is the constraint. Dokploy manages Docker on the host it runs on, so the blast radius of a host failure is every application and every database it manages. The backup feature covers databases to external storage; the README does not describe backing up the control plane itself, its configuration, or the Traefik state. If the panel's own data is lost, the README is silent on restore.
Multi-node scaling through Docker Swarm is a real limitation for some workloads. Swarm is a smaller ecosystem than Kubernetes, and teams that already run Kubernetes will find Dokploy's clustering a step down rather than sideways. If your organisation has platform engineers and existing cluster tooling, adopting Dokploy means adopting a second, simpler model alongside it.
Finally, the last push to the repository was on 2026-08-18, and the most recent release listed is v0.30.2 on the same date. The project is not archived, but a version number below 1.0 with a canary default branch tells you the interface and behaviour can still move.
Dokploy compared with Coolify
Coolify is the comparison people search for, and the difference is mostly in scope and self-description. Both are self-hosted panels that deploy applications to your own server, and both lean on Docker. Dokploy's README frames the product against Vercel, Netlify and Heroku, and its feature list is explicit about the pieces: Traefik for routing, Docker Swarm for multi-node, Nixpacks for builds, rclone for backups.
Dokploy's distinguishing choices in this material are the Docker Swarm path for scaling to multiple nodes and the CLI/API surface. The feature list states you can "manage your applications and databases using the command line or through the API," and the repository root carries an openapi.json plus a generate:openapi script, so the API is generated from a defined schema rather than hand-written. If you want to drive deployments from CI, that matters more than any feature checklist.
What this material does not contain is any Coolify documentation, so it cannot support a claim about which is faster, more stable or easier. The honest difference available here is architectural: Dokploy documents Swarm-based multi-node scaling and a generated OpenAPI spec, and you should compare those two specifics against Coolify's own documentation rather than against a summary.
Maintenance, upgrades and what the licence files imply
The last push was on 2026-08-18, and the release history shows v0.30.0 on 2026-08-14, v0.30.1 on 2026-08-18 and v0.30.2 later the same day. That cadence, with patch releases landing hours apart, suggests fixes ship quickly. It also means you should not treat any single version as a long-term target.
The README does not document an upgrade procedure or a rollback path. There is no upgrade command in the README, no version pinning guidance, and no migration notes. The Dockerfile is the only place that shows how the application is assembled, and it pins node:24.4.0-slim, [email protected] and Docker 28.5.2. Those pins tell you the runtime expectations, not how to move between Dokploy versions.
Because the panel manages Docker on the host, an upgrade touches the thing that runs your applications. There is no documented staging story in this material. If you adopt Dokploy, the practical question to answer before you upgrade is what your own snapshot of the host looks like, because the project does not describe one for you.
On licensing, the presence of LICENSE.MD and LICENSE_PROPRIETARY.md together is the fact to act on. The repository also carries TERMS_AND_CONDITIONS.md and SECURITY.md at the root. Read the licence files directly; nothing in the README substitutes for them, and this is not legal advice.
Editorial conclusion
Dokploy fits teams that already run a VPS and want Vercel-style deploys without per-seat billing, and it is the wrong choice if you need a fully permissive licence or a managed control plane you never touch. Before adopting it, read LICENSE.MD and LICENSE_PROPRIETARY.md in the repository root and confirm which terms apply to your use, then verify that the install script's Docker and Traefik assumptions match your host.
Frequently asked questions
What is Dokploy used for?
It is a self-hostable PaaS for deploying and managing applications and databases. The README lists applications in Node.js, PHP, Python, Go and Ruby, databases including MySQL, PostgreSQL, MongoDB, MariaDB, libsql and Redis, plus Docker Compose, backups and Traefik routing.
Is Dokploy free?
The README describes it as a free, self-hostable PaaS, and it also offers a hosted Dokploy Cloud at app.dokploy.com if you skip installation. The repository root contains both LICENSE.MD and LICENSE_PROPRIETARY.md, so read those files to see which terms apply to your use.
Is Dokploy open source?
The project describes itself as an open source alternative to Vercel, Netlify and Heroku, and the source is in the repository. The root also carries LICENSE.MD alongside LICENSE_PROPRIETARY.md, and the README does not explain how the two relate, so check both files directly.
How to install Dokploy?
The README gives one command to run on a VPS: curl -sSL https://dokploy.com/install.sh | bash. It then points to docs.dokploy.com for detailed documentation. The README does not describe the script's individual steps.
How to use Dokploy templates?
The feature list describes templates as open-source applications such as Plausible, Pocketbase and Calcom that deploy with a single click. The README does not walk through the template flow; docs.dokploy.com is where the detailed documentation lives.
How to access Dokploy?
After running the install script on a VPS, the panel is reachable and you create the first admin account. The README does not state a port or URL, so the access details are in the documentation at docs.dokploy.com.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dokploy-dokploy)
Community notes