The deployment methods are somewhat different too. With dokku, you need to add a new origin to your local repo and push to that origin whenever you want to deploy, Heroku a-like. For Coolify, you have an option to deploy on push via a webhook like Vercel or Fly.io
As the Dokku maintainer said in another comment it is possible to deploy directly from an image instead of from a repo.
For one of my project I build and store the image on GitHub and deploy it on Dokku.
Our UI is admittedly a paid product (Dokku itself and it's large ecosystem is already free, I gotta justify my time _somehow_), but:
- We otherwise largely adopted the heroku CLI, so if you use heroku on the CLI, you can probably use Dokku just fine.
- Dokku is 100% more flexible than almost everything else out there. You can extend it with custom plugins in your own language, targeting hundreds of plugin triggers[1]. Thats how the bulk of Dokku works, and how we support various types of builders, schedulers, and proxy implementations.
- We deploy "docker containers", same as Coolify. If you mean "docker images", we support that via `git:from-image`, in addition to deploying tarballs, remote git repositories, or even something else (I was once sent a plugin that integrates with Mercurial). I'll get the docs updated on that since maybe its not apparent.
- We support a variety of builders too, such as Heroku v2a, Cloud Native Buildpacks, Nixpacks, and AWS Lambda-compatible functions.
I'd say the two things Coolify beats us out on is a native swarm integration and a free UI. For the former, we have official plugins for Kubernetes and Nomad (Swarm is coming), while Dokku Pro is paid (as I mentioned before).
All that said, Coolify is cool, and this space is large enough for lots of players to exist :)