Zum Inhalt

PLANKA als Kanban-Board mit Docker installieren

Veröffentlicht am 27. August 2026 · Geschätzte Lesezeit: 5 Minuten

PLANKA ist ein selbst gehostetes Kanban-Board für Projekte, Aufgaben und Checklisten. Karten lassen sich auf Spalten verteilen, Personen zuweisen und mit Terminen oder Anhängen ergänzen. Docker Compose startet PLANKA zusammen mit der benötigten PostgreSQL-Datenbank. Plane etwa 30 Minuten für Installation, Administratorkonto und Backup ein.

Voraussetzungen

  • Ein Linux-Server mit Docker und Docker Compose
  • Port 3000 im Heimnetz oder ein vorhandener Reverse Proxy
  • Mindestens ein aktuelles Backup-Ziel außerhalb des Docker-Servers
  • Zugriff auf das Terminal mit einem normalen Benutzerkonto

1. Arbeitsordner anlegen

Erstelle im Benutzerordner einen eigenen Ordner für PLANKA:

mkdir -p "$HOME/planka"

Wechsle anschließend in diesen Ordner:

cd "$HOME/planka"

2. Offizielle Compose-Datei herunterladen

Lade die aktuelle Produktionsdatei direkt aus dem offiziellen PLANKA-Projekt:

curl -fL https://raw.githubusercontent.com/plankanban/planka/master/docker-compose.yml -o compose.yaml

Prüfe, dass die Datei vorhanden und nicht leer ist:

ls -lh compose.yaml

Warning

Verwende nicht die als Nightly gekennzeichnete Ausgabe. Sie ist laut Projekt nicht für den Produktionsbetrieb vorgesehen und kann Datenverlust verursachen.

3. Geheimen Schlüssel erzeugen

Erzeuge einen zufälligen Schlüssel mit OpenSSL:

openssl rand -hex 64

Kopiere die Ausgabe vorübergehend in einen Passwortmanager. Der Schlüssel darf nicht öffentlich geteilt werden und wird im nächsten Schritt anstelle des unsicheren Beispielwerts eingetragen.

4. Basis-Adresse und Schlüssel eintragen

Öffne die heruntergeladene Datei:

nano compose.yaml

Suche in der Umgebung des Dienstes planka nach BASE_URL. Für den reinen Heimnetzbetrieb ersetzt du den vorhandenen Wert durch die lokale Adresse. <server-ip> steht für die IP-Adresse deines Docker-Servers:

- BASE_URL=http://<server-ip>:3000

Ersetze danach den vorhandenen unsicheren Beispielwert notsecretkey hinter SECRET_KEY= durch den gerade erzeugten Schlüssel. Der Aufbau der Zeile bleibt so, wobei <zufallsschluessel> durch die tatsächliche geheime Ausgabe ersetzt wird:

- SECRET_KEY=<zufallsschluessel>

Speichere in Nano mit Strg+O, bestätige mit der Eingabetaste und beende mit Strg+X.

Danger

Veröffentliche den echten SECRET_KEY niemals in einer Anleitung, einem Screenshot oder einem öffentlichen Git-Repository. Ändere ihn nach der Inbetriebnahme nicht ohne Migrationsplan, da bestehende Sitzungen und signierte Daten davon abhängen können.

5. Compose-Datei prüfen

Lass Docker Compose die vollständige Konfiguration prüfen:

docker compose config --quiet

Wenn der Befehl ohne Ausgabe endet, ist die YAML-Struktur gültig. Eine Fehlermeldung nennt normalerweise die betroffene Zeile oder eine falsche Einrückung.

6. Administratorkonto erstellen

Starte das offizielle interaktive Werkzeug zur Erstellung des ersten Administrators:

docker compose run --rm planka npm run db:create-admin-user

Gib E-Mail-Adresse, ein starkes Passwort, Anzeigename und optional einen Benutzernamen erst bei der verdeckten Abfrage ein. Trage keine echten Zugangsdaten in die Compose-Datei ein.

7. PLANKA starten

Starte PLANKA und PostgreSQL im Hintergrund:

docker compose up -d

Prüfe den Zustand beider Dienste:

docker compose ps

Bei einem Fehler zeigen die letzten Protokollzeilen meist die Ursache:

docker compose logs --tail=100

8. Oberfläche einrichten

Öffne http://<server-ip>:3000 im Browser und ersetze <server-ip> durch die lokale IP-Adresse des Docker-Servers. Melde dich mit dem zuvor erstellten Administratorkonto an.

Lege ein erstes Projekt, ein Board und drei Listen wie Offen, In Arbeit und Erledigt an. Erstelle anschließend eine Testkarte und verschiebe sie zwischen den Listen.

Warning

Veröffentliche Port 3000 nicht direkt im Internet. Für den Fernzugriff verwendest du ein VPN oder einen vorhandenen Reverse Proxy mit HTTPS und setzt BASE_URL auf die endgültige HTTPS-Adresse.

9. Offizielle Backup-Werkzeuge laden

Lade das Backup-Skript in den PLANKA-Ordner:

curl -fL https://raw.githubusercontent.com/plankanban/planka/master/docker-backup.sh -o docker-backup.sh

Lade auch das Wiederherstellungs-Skript:

curl -fL https://raw.githubusercontent.com/plankanban/planka/master/docker-restore.sh -o docker-restore.sh

Beschränke die Ausführungsrechte auf deinen Benutzer:

chmod 700 docker-backup.sh docker-restore.sh

10. Vollständiges Backup erstellen

Führe das offizielle Backup-Skript im PLANKA-Ordner aus:

cd "$HOME/planka" && ./docker-backup.sh

Das Skript exportiert Datenbank, Anhänge, Avatare und Hintergründe in ein Archiv mit der Endung .tgz. Zeige die erzeugten Archive an:

ls -lh "$HOME/planka"/*.tgz

Kopiere das neueste Archiv anschließend auf ein NAS oder einen getrennten Datenträger. Ein Backup auf demselben Server schützt nicht vor einem Laufwerksausfall.

11. Aktualisieren und Rückweg sichern

Erstelle vor jeder Aktualisierung ein neues Backup. Stoppe danach die Dienste:

cd "$HOME/planka" && docker compose down

Lade die aktuellen Produktions-Images:

docker compose pull

Starte PLANKA wieder:

docker compose up -d

Prüfe Anmeldung, Board und Anhänge. Wenn eine Aktualisierung fehlschlägt, stoppe PLANKA und verwende das offizielle Wiederherstellungs-Skript. Ersetze <backup-archiv> durch den vollständigen Namen der .tgz-Datei:

cd "$HOME/planka" && ./docker-restore.sh <backup-archiv>

Danger

Eine Wiederherstellung überschreibt den aktuellen Datenstand. Sichere deshalb auch den fehlerhaften Stand, bevor du ein älteres Archiv einspielst.

12. Typische Fehler beheben

  • Die Webseite ist nicht erreichbar: Prüfe docker compose ps, Port 3000 und die lokale Firewall.
  • PLANKA startet nicht: Kontrolliere BASE_URL, SECRET_KEY und die Ausgabe von docker compose logs --tail=100.
  • Die Anmeldung funktioniert nicht: Erstelle das Administratorkonto erneut nur dann, wenn es beim ersten Lauf nicht erfolgreich angelegt wurde.
  • Anhänge fehlen nach einer Wiederherstellung: Nutze das vollständige offizielle .tgz-Backup und nicht nur einen Datenbankexport.
  • Weiterleitungsschleife hinter dem Reverse Proxy: Prüfe die endgültige HTTPS-Adresse in BASE_URL und die Proxy-Einstellungen aus der offiziellen Dokumentation.

Grundlage dieser Anleitung sind die aktuelle offizielle PLANKA-Produktionseinrichtung, die Anleitung zu Backup und Wiederherstellung und die Update-Schritte, geprüft am 26. August 2026. Eine deutschsprachige Ergänzung ist das Video PLANKA – OpenSource-Trello-Alternative.

Fertig

PLANKA läuft jetzt zusammen mit PostgreSQL im Docker-Compose-Projekt. Die Funktionsprüfung ist erfolgreich, wenn du dich als Administrator anmelden, eine Testkarte zwischen Listen verschieben und anschließend ein vollständiges .tgz-Backup erzeugen kannst.