Dokku - Mini-PaaS für eigene App-Deployments
Dokku - Mini-PaaS für eigene App-Deployments
Dokku ist ein selbstgehostetes Mini-PaaS, das Apps per git push deployt und dabei Buildpacks, Plugins und automatisches SSL unterstützt.
Was ist Dokku?
Dokku implementiert das Heroku-Deployment-Modell auf dem eigenen Server: Ein git push dokku main löst automatisch den Build-Prozess aus, startet den Container und stellt die App unter einer konfigurierten Domain bereit. Dokku unterstützt Heroku-Buildpacks für Node.js, Python, Ruby, PHP und weitere Sprachen sowie eigene Dockerfiles. Plugins erweitern die Plattform um Datenbanken (PostgreSQL, MySQL, Redis), Let's-Encrypt-SSL und viele weitere Dienste. Dokku eignet sich hervorragend für Einzelentwickler und kleine Teams, die Heroku-ähnlichen Komfort ohne die Kosten wollen.
Voraussetzungen
- Docker 20.10+ oder Docker Compose
- Ubuntu 20.04+ oder Debian 11+ als Host-OS
- Öffentliche IP und Domain für App-Deployments
Compose-Beispiel
services:
dokku:
image: dokku/dokku:latest
container_name: dokku
restart: unless-stopped
ports:
- "22:22"
- "80:80"
- "443:443"
volumes:
- /var/lib/dokku:/mnt/dokku
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DOKKU_HOSTNAME=apps.example.com
- DOKKU_HOST_ROOT=/var/lib/dokku/home/dokku
Hinweise
- Für den Produktiveinsatz empfiehlt Dokku die direkte Installation auf dem Host via
aptstatt Docker-in-Docker, da der Docker-Socket-Zugriff komplex ist. - Apps werden per
dokku apps:create <name>erstellt und anschließend pergit push dokku maindeployt. - Das Let's-Encrypt-Plugin (
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git) richtet HTTPS vollautomatisch ein. - Datenbank-Plugins (z. B.
dokku-postgres) erstellen eigene Container und verknüpfen sie automatisch mit der App.