Eine Webanwendung, eine relationale PostgreSQL-Datenbank und ein kleiner Redis-Cache zu deployen ist auf dem Papier die einfachste Architektur der Softwareentwicklung.
Wenn du diese drei Bausteine aber heute auf modernen Managed-Cloud-Plattformen hochziehst, ein paar Gigabyte RAM, automatische Backups und einen zusätzlichen Team-Platz dazunimmst, kann aus einer 20-$-Rechnung schnell jeden Monat 150 bis 300 $ werden, noch bevor dein Produkt nennenswerten Umsatz macht.
Der größte Teil dieses Aufpreises bezahlt weder rohe CPU-Zyklen noch NVMe-Speicher. Du zahlst die „Cloud-Steuer“ für die Developer Experience: den Luxus, auf dem Laptop git push einzutippen und zuzusehen, wie dein Code live geht, ohne mit Bash-Skripten zu kämpfen.
Was wäre, wenn du einen einfachen Linux-VPS für 5 €/Monat mieten, kein schweres Web-Dashboard installieren und trotzdem genau denselben git push-Workflow ohne Downtime bekommen könntest? Willkommen bei Dokku.
1. Was genau ist Dokku? (Und warum „kein Dashboard“ wichtig ist)
Dokku beschreibt sich selbst als „die kleinste PaaS-Implementierung (Platform as a Service), die du je gesehen hast“. Auf Basis von Docker macht es jeden schlichten Ubuntu- oder Debian-Server zu deinem persönlichen Mini-Heroku.
Von neueren Self-Hosted-Control-Panels unterscheidet Dokku seine Philosophie beim Ressourcenverbrauch:
- Viele webbasierte Server-Panels betreiben ein eigenes schweres Node-/PHP-Dashboard, eine interne Datenbank und Metrik-Daemons und verbrauchen 1,5 GB bis 2 GB RAM, bevor du die erste App deployt hast.
- Dokku hat standardmäßig keine Weboberfläche. Es ist eine hauchdünne Orchestrierungsschicht auf vier bewährten Linux-Bausteinen: SSH, Git, Docker und Nginx.
- Solange kein Deployment läuft, verbraucht Dokku im Leerlauf praktisch 0 MB RAM.
2. Unter der Haube: Was passiert bei git push dokku main?
Sobald Dokku auf deinem Server installiert ist, brauchst du zum Deployen von deinem Laptop nur ein Git-Remote hinzuzufügen:
git remote add dokku dokku@your-server-ip:my-api
git push dokku mainSobald du Enter drückst, läuft auf deinem Server eine vierstufige Pipeline ab:
[Laptop: git push] ──(SSH Tunnel)──▶ [1. sshcommand & Git Hook]
│
▼
[2. Build Phase]
(Dockerfile OR Cloud Native Buildpacks)
│
▼
[3. Zero-Downtime Verification]
(Spin up v2 alongside v1 ➔ Run CHECKS)
│
▼
[4. Nginx Upstream Switch]
(Route traffic to v2 in <1ms ➔ Retire v1)Stufe 1 & 2: SSH-Abfangen & automatischer Build
Dokku fängt den eingehenden Git-Push über SSH ab und untersucht dein Repository:
- Enthält dein Projekt ein
Dockerfile, baut Dokku exakt dein Image, ohne einzugreifen. - Gibt es kein
Dockerfile, ruft Dokku Cloud Native Buildpacks / Herokuish auf. Es erkennt automatischpackage.json(Node.js),requirements.txt(Python),composer.json(PHP/Laravel),go.mod(Go) oder.csproj(.NET) und baut daraus einen isolierten Produktions-Container.
Stufe 3 & 4: Echtes Zero-Downtime-Deployment
Wenn du auf einem VPS manuell mit docker compose up -d --build deployst, verursacht der Neustart des Containers 5 bis 15 Sekunden gefürchtete 502 Bad Gateway-Fehler für aktive Nutzer.
Dokku beseitigt das vollständig:
- Dein bestehender Container (
v1) läuft weiter und bedient den Live-Traffic. - Der neue Container (
v2) wird parallel auf einem internen Port gestartet. - Dokku führt Readiness-Probes (
CHECKS) gegenv2aus, um zu prüfen, ob der Server hochgefahren ist und sich mit der Datenbank verbunden hat. - Erst wenn
v2200 OKzurückgibt, lädt Dokku den Upstream des Nginx-Reverse-Proxys neu, verschiebt den Live-Traffic in Millisekunden aufv2und stopptv1anschließend geordnet.
3. Datenbanken in einer Zeile, verschlüsselte Backups und kostenloses SSL
Über sein offizielles Plugin-System verwaltet Dokku zustandsbehaftete Backing Services und TLS-Zertifikate mit einzelnen Befehlen:
# 1. Create a PostgreSQL instance and link it to your app
dokku postgres:create prod-db
dokku postgres:link prod-db my-api
# -> Automatically injects DATABASE_URL=postgres://... into my-api!
# 2. Schedule nightly encrypted backups to AWS S3 / Cloudflare R2
dokku postgres:backup-schedule prod-db "0 3 * * *" my-backup-bucket
# 3. Provision and auto-renew free Let's Encrypt HTTPS certificates
dokku letsencrypt:enable my-api
dokku letsencrypt:cron-job --add4. Dokku vs. Coolify vs. Kubernetes vs. Managed PaaS
| Kriterium | Dokku | Coolify / CapRover | Kubernetes (K8s) | Vercel / Render / Heroku |
|---|---|---|---|---|
| Bedienoberfläche | Reine CLI & Git über SSH | Vollständiges Web-Dashboard | kubectl + YAML-Manifeste | Gemanagtes Cloud-Dashboard |
| RAM-Overhead im Leerlauf | ~0 MB (vernachlässigbar) | ~1,2 GB – 2 GB RAM | Hoch (Control Plane) | k. A. (gemanagt) |
| Am besten für | 1–15 Apps auf einem schnellen, schlanken Single-VPS | Teams, die eine visuelle Self-Hosted-Oberfläche wollen | Multi-Node-Cluster & dedizierte DevOps-Teams | Zero-Ops-Teams, die einen Aufpreis zahlen wollen |
Info: Fazit für Entwickler
Gute Architektur heißt nicht, den komplexesten Orchestrator zu benutzen, sondern deine Workload mit möglichst wenigen beweglichen Teilen zu lösen. Für 90 % aller SaaS-Produkte, APIs und Startups liefert ein Linux-VPS für 5–10 € mit Dokku Hunderttausende Anfragen pro Tag, ganz ohne Plattform-Lock-in.
Interaktive Roadmap & Tool
System Design: Skalierung auf eine Million Nutzer
Mehr Server reichen nicht: eine Schritt-für-Schritt-System-Design-Karte dazu, warum Systeme an großen Tagen ausfallen und wie die Last reduziert wird, bevor sie die Datenbank erreicht.
SQL oder NoSQL?
Beantworte sechs Fragen, und ich sage dir, welche Art von Datenbank zu deinem Projekt passt und warum.
Als Nächstes lesen
- CZDEDurch den Dschungel: Welche Backend-Sprache und welches Framework solltest du 2026 wählen?
Durch den Dschungel: Welche Backend-Sprache und welches Framework solltest du 2026 wählen?
25. Oktober 2026 · 3 Min. Lesezeit - CZDEWas bedeutet 0.1.0? Versionierung in der Softwareentwicklung: SemVer, CalVer und ZeroVer erklärt
Was bedeutet 0.1.0? Versionierung in der Softwareentwicklung: SemVer, CalVer und ZeroVer erklärt
25. Oktober 2026 · 4 Min. Lesezeit