Dokploy: a Vercel-style PaaS on your own VPS
3 min readInfrastructure · Docker · Self-hosting · VPS4 views
Vercel is the right default for a lot of projects — this site runs on it. But a real chunk of deployment work ends on a server the client already owns and already pays for. Dokploy is the reasonable middle ground in that situation: a self-hostable PaaS that makes one Ubuntu box feel like a small Heroku. It's the same tool called out in the Next.js on a VPS checklist on this site.
What Dokploy actually is
A free, self-hostable Platform-as-a-Service. You point it at a Git repository or a compose file; it builds, ships, routes and meters the app. It's open source at its core — most of the codebase is Apache-2.0, with a separate /proprietary slice under its own source-available license, so read LICENSE.MD before you bet a client's production on it. The mental model: your own Vercel, on one box, that you patch.
- Applications — Node.js, PHP, Python, Go, Ruby and more, built with Nixpacks, Railpack, Buildpacks or a plain Dockerfile.
- Databases — PostgreSQL, MySQL, MariaDB, MongoDB, Redis and libsql. One click, persistent volumes, credentials generated for you.
- Docker Compose — first-class. Paste an existing compose file and it runs, with domain routing and certificates on top.
- Templates — Plausible, Cal.com, PocketBase, Supabase and other open-source apps, one click.
- Routing & TLS — Traefik wired in automatically, Let's Encrypt certificates per domain.
- Ops — real-time CPU/memory/storage monitoring, scheduled database backups to S3-compatible storage, plus CLI, API and an MCP server for automation.
What the installer does
Run this as root on a fresh box. Ports 80, 443 and 3000 must be free. The script installs Docker, turns the box into a single-node Docker Swarm, creates an overlay network, starts PostgreSQL for the panel's own state, starts Traefik on 80/443, and publishes the dashboard on port 3000.
# fresh Ubuntu/Debian box, root shell
curl -sSL https://dokploy.com/install.sh | sh
# then open http://<server-ip>:3000 and create the admin accountFrom there: connect GitHub or GitLab (or a public repo URL), pick the build type, add env vars in the UI instead of a .env you'll forget, map a domain, deploy. Every app is still a normal container underneath — if you delete Dokploy tomorrow, docker ps still shows your workloads.
Where it shines
- One box, a handful of client apps — deploy dashboards, storefronts and APIs without writing systemd units or Nginx configs.
- Client-owned infrastructure — they keep the invoice and the data; you keep the repeatability.
- Compose migrations — the fastest path off a hand-rolled setup: paste the file, add a domain, done.
- Databases with guardrails — backups scheduled to S3 from day one, not a 'we should set that up' item.
Where it bites
- You are the on-call. Updates, backups, firewall, restores — the boring VPS checklist still applies; Dokploy automates deploys, not responsibility.
- Docker Swarm under the hood — fine if multi-node is in your future, but it's heavier and more opinionated than plain compose.
- Port 3000 for the panel, 80/443 for Traefik — check for conflicts before installing on a shared box.
- License mix — Apache-2.0 for most of it, source-available for the enterprise slice; legal wants to know.
- Moves fast — v0.31.0 landed in November 2026 with service transfers and a server security panel; read the release notes before upgrading production.
Dokploy or Coolify?
Same job, different shape. Dokploy leans on Docker Swarm with an apps-first dashboard — nicer when 'multi-node cluster' is in your future. Coolify leans on plain Docker with a huge one-click service catalog and SSH-first management — nicer when day one means Postgres, n8n and a static site on one $6 box. If you mostly ship apps, Dokploy is the calmer fit; if you want databases and little service UIs living next to your apps, Coolify's catalog wins. Neither holds you hostage — the containers are yours.
Who it's for
Freelancers and small teams shipping a few apps to infrastructure they or the client own. Not for fleets that need rolling canaries across many nodes — that's Kubernetes. Not for 'zero servers' — that's Vercel or Netlify. Everything in between, it's one of the cheapest sane control planes going. Docs at dokploy.com; source at github.com/Dokploy/dokploy.

Written by
Shihab Hossain — Full-Stack Developer
I build fast, thoughtful products end-to-end — web experiences with React & Next.js, Android apps with Flutter, and the infrastructure behind them.
Work with me