Tools: Dokku Has a Free API You've Never Heard Of

Tools: Dokku Has a Free API You've Never Heard Of

What Makes Dokku Special?

The Hidden API: Plugin System

Deployment API

Network and Domain API

Storage and Backup API

Quick Start

Why Startups Choose Dokku Dokku is the smallest PaaS implementation you've ever seen. It's essentially your own Heroku on a $5 VPS. But what most developers miss is Dokku's powerful plugin API and CLI interface that lets you automate entire deployment pipelines. Dokku's plugin API lets you create custom deployment hooks: A startup CTO shared: "We run 12 microservices on a single $20/mo Hetzner VPS with Dokku. Our hosting bill went from $500/mo on Heroku to $20/mo. Same git-push deployment experience." Need deployment automation or scraping tools? Email [email protected] or check my toolkit. Self-hosting your apps? Have you tried Dokku? Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Command

Copy

# Install database plugins dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-postgres.-weight: 500;">git postgres dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-redis.-weight: 500;">git redis dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-letsencrypt.-weight: 500;">git letsencrypt # Create and link services dokku postgres:create mydb dokku postgres:link mydb myapp dokku redis:create cache dokku redis:link cache myapp # Install database plugins dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-postgres.-weight: 500;">git postgres dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-redis.-weight: 500;">git redis dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-letsencrypt.-weight: 500;">git letsencrypt # Create and link services dokku postgres:create mydb dokku postgres:link mydb myapp dokku redis:create cache dokku redis:link cache myapp # Install database plugins dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-postgres.-weight: 500;">git postgres dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-redis.-weight: 500;">git redis dokku plugin:-weight: 500;">install https://github.com/dokku/dokku-letsencrypt.-weight: 500;">git letsencrypt # Create and link services dokku postgres:create mydb dokku postgres:link mydb myapp dokku redis:create cache dokku redis:link cache myapp # Create app dokku apps:create myapp # Configure environment dokku config:set myapp DATABASE_URL=postgres://... dokku config:set myapp REDIS_URL=redis://... dokku config:set myapp NODE_ENV=production # Deploy -weight: 500;">git remote add dokku dokku@your-server:myapp -weight: 500;">git push dokku main # Scale dokku ps:scale myapp web=2 worker=1 # Zero-downtime deploy dokku checks:-weight: 500;">enable myapp # Create app dokku apps:create myapp # Configure environment dokku config:set myapp DATABASE_URL=postgres://... dokku config:set myapp REDIS_URL=redis://... dokku config:set myapp NODE_ENV=production # Deploy -weight: 500;">git remote add dokku dokku@your-server:myapp -weight: 500;">git push dokku main # Scale dokku ps:scale myapp web=2 worker=1 # Zero-downtime deploy dokku checks:-weight: 500;">enable myapp # Create app dokku apps:create myapp # Configure environment dokku config:set myapp DATABASE_URL=postgres://... dokku config:set myapp REDIS_URL=redis://... dokku config:set myapp NODE_ENV=production # Deploy -weight: 500;">git remote add dokku dokku@your-server:myapp -weight: 500;">git push dokku main # Scale dokku ps:scale myapp web=2 worker=1 # Zero-downtime deploy dokku checks:-weight: 500;">enable myapp # Custom domains dokku domains:add myapp api.example.com dokku domains:add myapp www.example.com # SSL with Let's Encrypt dokku letsencrypt:-weight: 500;">enable myapp dokku letsencrypt:cron-job --add # Docker networking dokku network:create backend dokku network:set myapp attach-post-deploy backend # Custom domains dokku domains:add myapp api.example.com dokku domains:add myapp www.example.com # SSL with Let's Encrypt dokku letsencrypt:-weight: 500;">enable myapp dokku letsencrypt:cron-job --add # Docker networking dokku network:create backend dokku network:set myapp attach-post-deploy backend # Custom domains dokku domains:add myapp api.example.com dokku domains:add myapp www.example.com # SSL with Let's Encrypt dokku letsencrypt:-weight: 500;">enable myapp dokku letsencrypt:cron-job --add # Docker networking dokku network:create backend dokku network:set myapp attach-post-deploy backend # Persistent storage dokku storage:mount myapp /var/lib/dokku/data/storage/uploads:/app/uploads # Database backup dokku postgres:export mydb > backup.sql dokku postgres:import mydb < backup.sql # Persistent storage dokku storage:mount myapp /var/lib/dokku/data/storage/uploads:/app/uploads # Database backup dokku postgres:export mydb > backup.sql dokku postgres:import mydb < backup.sql # Persistent storage dokku storage:mount myapp /var/lib/dokku/data/storage/uploads:/app/uploads # Database backup dokku postgres:export mydb > backup.sql dokku postgres:import mydb < backup.sql # Install on Ubuntu -weight: 500;">wget -NP . https://dokku.com/-weight: 500;">install/v0.34.8/bootstrap.sh -weight: 600;">sudo DOKKU_TAG=v0.34.8 bash bootstrap.sh # Add your SSH key cat ~/.ssh/id_rsa.pub | dokku ssh-keys:add admin # Install on Ubuntu -weight: 500;">wget -NP . https://dokku.com/-weight: 500;">install/v0.34.8/bootstrap.sh -weight: 600;">sudo DOKKU_TAG=v0.34.8 bash bootstrap.sh # Add your SSH key cat ~/.ssh/id_rsa.pub | dokku ssh-keys:add admin # Install on Ubuntu -weight: 500;">wget -NP . https://dokku.com/-weight: 500;">install/v0.34.8/bootstrap.sh -weight: 600;">sudo DOKKU_TAG=v0.34.8 bash bootstrap.sh # Add your SSH key cat ~/.ssh/id_rsa.pub | dokku ssh-keys:add admin - Self-hosted Heroku — -weight: 500;">git push to deploy on your own server - Buildpacks — supports Heroku buildpacks out of the box - Plugin system — extend with databases, caching, SSL, and more - CLI API — fully scriptable deployment automation