What Is Dokku?
Dokku is the smallest PaaS implementation, powered by Docker. It gives you a Heroku-like experience on your own Breeze -- deploy apps with git push, manage SSL certificates, link databases, and configure environment variables, all from the command line.
Prerequisites
- A Breeze with at least 1 GB RAM running Ubuntu 22.04
- A domain name pointed to your Breeze
- Root access
Install Dokku
wget -NP . https://dokku.com/bootstrap.sh
sudo DOKKU_TAG=v0.34.8 bash bootstrap.sh
After installation, visit http://your-breeze-ip in a browser to complete web setup: add your SSH public key and set the global domain.
Create and Deploy an App
# On the Breeze
dokku apps:create myapp
dokku domains:set myapp myapp.yourdomain.com
From your local development machine, add the Dokku remote and push:
git remote add dokku dokku@your-breeze-ip:myapp
git push dokku main
Dokku detects the language via buildpacks and deploys automatically.
Add a Database
sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git
dokku postgres:create mydb
dokku postgres:link mydb myapp
The DATABASE_URL environment variable is injected into your app automatically.
Enable SSL
sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
dokku letsencrypt:set myapp email admin@yourdomain.com
dokku letsencrypt:enable myapp
Useful Commands
dokku logs myapp --tail # Stream application logs
dokku ps:scale myapp web=2 # Scale to 2 web processes
dokku config:set myapp KEY=val # Set environment variables