What all five have in common
Each replaces a usage-metered platform bill with the fixed cost of a server you rent. Each deploys containers, issues certificates, and redeploys when you push. And each transfers responsibility for uptime, backups and patching to you. That last point is identical across all five, so it is not a differentiator, it is the price of admission, and it should be weighed once rather than five times.
Coolify: the broad catalogue
Apache-2.0 licensed and free to self-host with no feature restrictions, with an optional hosted control plane from $5 a month for two servers. It has the widest one-click catalogue, the largest community of the five, and the most complete documentation, which matters more than any feature when you are debugging something unusual. Best for: someone who wants the self-hosted experience to feel like a platform, on one well-tended machine.
Dokploy: compose as the source of truth
Free to self-host, with a hosted option from $4.50 a month per server. It treats Docker Compose as a first-class input rather than an import path, surfaces its Traefik routing layer rather than abstracting it, and handles multiple servers without requiring a cluster. Check the licensing, since the repository ships both an open and a proprietary licence file. Best for: a stack that is already composed and a team that wants several machines managed together.
CapRover: dependable and unglamorous
Apache 2.0, free, and built on Docker, Docker Swarm, nginx and Let's Encrypt. It has been doing the same job the same way for years, which means its awkward cases are already documented by somebody who hit them first, worth more at an inconvenient hour than a nicer interface. The dashboard shows its age. Best for: freelancers, agencies and nonprofits running several small applications on one modest server.
Dokku: the original, still the leanest
MIT licensed and described by its own repository as a Docker-powered platform as a service. It reproduces the git-push deploy workflow that a generation of applications was built around, with a mature plugin ecosystem covering databases and certificates, and it runs comfortably on a very small machine. It is command-line first with no built-in dashboard, which is a genuine barrier for some teams and precisely the appeal for others. Best for: a developer comfortable in a terminal who wants the smallest possible moving parts.
Kamal: no platform at all
Open source, published by 37signals, and deliberately not a platform: you give it a list of your own servers and it performs zero-downtime container deploys from a single configuration file. There is no control plane, no dashboard and no catalogue, because there is nothing running between you and your machines. Best for: a team that wants deploys to be a readable process and is content to own everything else.
Preparing the application, which is the same work for all five
Emit standalone output so your runtime image contains only what it needs. Ensure the image optimization library is installed, or disable optimization deliberately. Give incremental regeneration a shared cache if you will run more than one instance. Set up off-machine database backups and restore one to prove it works. That list is the real migration, and it does not change based on which of the five you pick.
The arithmetic that decides it
Take your current invoice and separate the fixed subscription from the usage-metered lines. Then price the server you would actually need. If the metered lines are small, stay where you are, because the operational work will cost you more than it saves. If the metered lines dominate, which is typical for content-heavy sites, image-rich catalogues and anything with a long tail of pages, the difference is permanent and compounds every month, and any of these five will capture most of it.
A note on picking wrong
These platforms all deploy containers from a Git repository, which means switching between them later is far cheaper than the original migration was. The expensive, irreversible step is containerising your application and taking on operational responsibility. Once you have done that, the specific choice among the five is a preference you can revisit, so choose the one whose documentation you find clearest and start.
Reader comments
No account needed. Share what worked, what did not, and what you would add.
Add a quick note with the form below. Short, specific tips help the next reader most.