What is Dokku and how to deploy an application with Git Push
Published on 2026-10-26 by frfrand
Dokku as a self-hosted PaaS: commands, deployment, plugins and examples

Dokku is for those who look at Heroku and think: “I want something similar, but running on my own server.” The main interface is usually the terminal, and the flow revolves around Git, applications, and plugins.
A platform is not chosen for its logo or for how easy the first demo looks. It is chosen thinking about what happens when you need to update it, recover data, or hand over the project to a client.
What Dokku is and what it is really for
It is a lightweight self-hosted PaaS, designed to deploy applications on your own infrastructure. The convenience of git push does not eliminate the initial Dokku installation, DNS and TLS configuration, or Linux maintenance.
A concrete case, without smoke
An appointment API changes every week. The developer wants to be able to do a git push and not touch Nginx again for every deploy. Dokku can cover that flow. The reservation database, however, still needs backup and controlled migrations.
How to get started step by step
- Prepare a compatible Ubuntu VPS, a domain or subdomain, and secure SSH access.
- Install Dokku according to the documentation and choose how domains will be associated with apps.
- Create an application, link the remote repository, and declare necessary variables.
- Configure PostgreSQL and storage via plugins or compatible external services.
- Push, check logs, and test recovery after restarting the server.
Test everything with a test user, from an external device. Don't just load the home screen: perform an operation that persists data, restart the process, and query it again. If it depends on emails or webhooks, simulate an external provider failure and check what happens.
The point that usually causes problems
Don't delete an app thinking its data always lives outside the container; check volumes and plugins. A Git backup is not a PostgreSQL backup.
It's also a good idea to separate quick tasks from background jobs. A reservation API shouldn't block the response because it's generating a PDF or sending an email; a worker can handle those operations with retries and logs.
How would you solve it in ArduMaker?
ArduMaker offers GitHub-connected deployments from the panel and access to services and processes on the VPS. If you prefer to work visually and manage domains, databases, and teams from the same place, you don't necessarily need to install Dokku. If your team enjoys Dokku's CLI flow, it's still valid.
For example, for a FastAPI + PostgreSQL project, you could set up a VPS on ArduMaker, connect the Git repository, prepare the backend service, configure the database with restricted access, and associate a domain with SSL. If you also use Redis or n8n, you can integrate them into the architecture, always respecting the memory and CPU of the contracted plan.
The comparison that really matters
| Question | Dokku | ArduMaker |
|---|---|---|
| What do you contract? | It is a lightweight self-hosted PaaS, designed to deploy applications on your own infrastructure | VPS and integrated management tools |
| Who configures the app? | The team, with the product's facilities | The team, with Git deployment and VPS tools |
| Can you use PostgreSQL and workers? | Depending on the product and architecture | Yes, within the environment's resources and services |
| Do you need to review backups and security? | Yes, with different responsibilities | Yes, equally important |
What costs should you take into account?
Dokku is attractive for teams comfortable with SSH and terminal; ArduMaker prioritizes integrated server and resource management. To compare fairly, add not only the base price but the functions your application really needs: RAM, disk, persistent storage, backups, transfer, licenses, separate databases, and maintenance hours. Plans and prices change, so you should always review current conditions.
A rule to avoid surprises: if tomorrow you need to move your application, make sure you can export the database, your files, and domain configuration. Git code does not automatically include data.
Mistakes to avoid when starting out
- Hiring too many resources blindly. Measure the load before scaling.
- Opening the database to the Internet. Use private networks or authenticated tunnels when appropriate.
- Confusing snapshot with validated backup. Restoration is tested, not assumed.
- Publishing without logs or a rollback plan. A green deploy can hide a broken API.
So, what do I choose?
Dokku is attractive for teams comfortable with SSH and terminal; ArduMaker prioritizes integrated server and resource management.
Instead of discussing brands for days, build the same small application in the chosen environment. If you can publish it, diagnose a failure, and recover it without turning every step into an odyssey, you found a reasonable option.
Sources: Official Dokku documentation · Comparison with ArduMaker · What is a VPS.
In one sentence: what matters is how much control you need and who takes care of keeping the application running. The rest are tools to achieve it.