TiloBox
Back to directory
Dokku project preview

Dokku

Docker powered mini-Heroku for easy git-push deployments to your own server.

LicenseMIT
GitHub stars32.1k
Last commit1 weeks ago
Tags6 topics
GitPaasSelf HostedDeploymentHeroku AlternativeDocker
Overview

Why consider Dokku?

Dokku is the smallest PaaS implementation that lets you push applications to your own server via git. It handles container builds, routing, SSL certificates, and scaling.

Guided learning

Learn Dokku by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 10 sections
In this guide10 sections

What is Dokku?

Dokku is an open-source Platform as a Service (PaaS) that runs on your own server hardware or single VPS. Often described as a "mini-Heroku," Dokku uses Docker and Buildpacks to turn any clean Linux instance into a self-hosted cloud platform where you can deploy web applications simply by running git push dokku main.

Dokku automates container building (via Cloud Native Buildpacks or Dockerfiles), reverse proxy routing with Nginx, automated SSL certificate issuance with Let's Encrypt, environment variable management, and zero-downtime rolling restarts.

Who Is It For?

  • Full-Stack Developers: Deploying staging and production web apps (Node.js, Python, Ruby, Go, PHP) without paying high per-dyno SaaS fees.
  • Freelancers & Digital Agencies: Hosting dozens of client websites on a single VPS with isolated containers and automated SSL.
  • Indie Hackers & Startups: Bootstrapping SaaS products with Heroku-like workflow simplicity while retaining complete control over infrastructure costs.

Key Features

  • Direct git-push deployment workflow using standard Cloud Native Buildpacks or custom Dockerfiles.
  • Built-in Let's Encrypt plugin for automated zero-configuration SSL certificate generation and auto-renewal.
  • Extensive official plugin ecosystem for one-command database provisioning (PostgreSQL, MySQL, Redis, MongoDB).
  • Granular process scaling, port mapping, custom domain routing, and zero-downtime deployment checks.
  • Native integration with Docker storage volumes and persistent host mounts.

Installation and Quick Start

Install Dokku on an Ubuntu or Debian server (minimum 1 GB RAM):

bash
1# Install the latest stable Dokku release
2wget -NP . https://dokku.com/install/v0.38.27/bootstrap.sh
3sudo DOKKU_TAG=v0.38.27 bash bootstrap.sh
4
5# Configure your SSH public key and global domain
6cat ~/.ssh/authorized_keys | sudo dokku ssh-keys:add admin
7sudo dokku domains:set-global dokku.example.com

To create and deploy your first application:

bash
1# 1. Create the application container on the Dokku server
2dokku apps:create my-api
3
4# 2. Provision and link a PostgreSQL database
5dokku plugin:install https://github.com/dokku/dokku-postgres.git
6dokku postgres:create my-db
7dokku postgres:link my-db my-api
8
9# 3. Add remote on your local machine and deploy
10git remote add dokku dokku@dokku.example.com:my-api
11git push dokku main

Practical Use Cases

1. Multi-App Micro-PaaS

An engineering team runs 15 separate microservices (Next.js frontends, FastAPI backends, and Redis queues) on a single $20/month VPS, managing each with independent domain names and SSL.

2. Instant Database Provisioning

A developer tests a new web framework by running dokku postgres:create testdb && dokku postgres:link testdb my-app, which automatically injects DATABASE_URL into the container environment.

3. Staging and Review Environments

A continuous integration pipeline deploys pull requests to isolated preview URLs (pr-42.dokku.example.com) and tears them down after merging.

Troubleshooting and Limitations

  • Single Host Scope: Dokku is designed for single-node deployments; for multi-node clustering across a server fleet, consider Kubernetes or Nomad.
  • Build Memory Limits: Large Node.js or Rust builds can trigger out-of-memory (OOM) errors during compilation; configure server swap memory (fallocate -l 2G /swapfile) before heavy builds.

Official Resources

Related tools

More options with a similar category or technology profile.

Dokku FAQs

Dokku is listed as a Devops Infrastructure tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Dokku is listed under the MIT license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Dokku is listed as an alternative to Vercel. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.