Dockge: Benutzerfreundliche Alternative zu Portainer?

Die faszinierende Welt der containerisierten Workloads hat mich vollkommen in ihren Bann gezogen. In meinem Homelab bevorzuge ich die Nutzung von Docker-Compose-Dateien, um nicht nur einfache Container, sondern auch komplexe Stacks zu erschaffen. Die Bearbeitung dieser Compose-Dateien erfolgt dabei auf die altmodische Art und Weise – mithilfe des Vim-Editors auf der Konsole.

Natürlich ist dies nicht unbedingt der eleganteste Ansatz, weshalb ich nach neuen Möglichkeiten gesucht habe. Zunächst experimentierte ich mit einer VS Code Erweiterung, die es ermöglichte, sich über SSH mit dem Docker-Host zu verbinden und die Dateien direkt zu bearbeiten. Doch trotz seiner praktischen Anwendbarkeit konnte mich dieser Ansatz nicht vollends überzeugen.

Also machte ich mich auf die Suche nach einer grafischen Oberfläche für Docker. Überall sah und las man nur von Portainer. Mit seiner komplexen Oberfläche konnte ich mich jedoch nie so recht anfreunden. Insbesondere das Erstellen von Containern erwies sich als zeitaufwändig und wenig intuitiv. Obendrein ist Portainer für Homelabber ein wahrer Overkill. Doch dann entdeckte ich Dockge.

Was ist Dockge?

Es handelt sich um eine intuitiv gestaltete Oberfläche, die speziell auf das Management von Compose-Dateien ausgerichtet ist. Alles, was ein Container-Enthusiast benötigt, steht auf einer einzigen Seite zur Verfügung und ist somit leicht und unmittelbar nutzbar. Das Besondere an Dockge ist, dass es reibungslos sowohl mit Docker als auch mit Podman funktioniert.

Wer bereits mit dem beliebten Monitoring-Tool Uptime Kuma vertraut ist, wird beim Anblick von Dockge ein Déjà-vu-Erlebnis haben. Und das aus gutem Grund: Dockge stammt nämlich vom selben Entwickler. Dieser ist bestens vertraut mit den Herausforderungen im Bereich der Container-Technologie. Daher vereint diese Applikation geschickt alle wichtigen Funktionen, ohne dabei überladen zu wirken.

Das Open-Source-Tool wartet mit folgenden Features auf:

  • Erstellen, bearbeiten, starten, stoppen, neu starten & löschen von Containern
  • Aktualisieren von Docker-Images mit einem einzigen Klick
  • Alle docker run Befehle können in eine compose.yaml umgewandelt werden
  • Interaktiver Editor für Compose-Dateien mit Syntax-Highlighting
  • Interaktives Web-Terminal für Container mit Echtzeit-Ausgabe
  • Dateibasierte Struktur – jederzeit können die Compose-Dateien im Dateisystem bearbeitet oder gesichert werden.

Portainer hatte ein Alleinstellungsmerkmal, nämlich die Agenten. Diese ermöglichen die gleichzeitige Verwaltung mehrerer Docker-Instanzen oder genauer gesagt deren Workloads. Doch seit Version 1.4 bietet auch Dockge diese Funktionalität an. Selbstredend gibt es auch eine simple Benutzerverwaltung. Branchenprimus Portainer erhält damit einen ernstzunehmenden Konkurrenten.

Nicht zuletzt, da bereits Images für die Architekturen armv7, arm64 sowie amd64 veröffentlicht worden sind. Und keine Sorge bei der Migration, im Unterschied zu Portainer kannst du hier auch bereits vorhandene Compose-Dateien verwalten. Du musst diese lediglich in das angegebene Stack-Verzeichnis verschieben. Doch wo viel Licht ist, existiert natürlich auch eine Menge Schatten.

Dockge ist ein bescheidenes Tool, welches speziell für die Arbeit mit Compose-Files entwickelt wurde. Falls jedoch die Verwaltung einzelner Container mittels docker run erforderlich ist, musst du zu Tools wie Portainer oder Cockpit greifen. Diese decken wirklich jedes nur erdenkliche Docker-Feature ab und das noch dazu auf Enterprise-Niveau.

Wie wird Dockge deployt?

Die Inbetriebnahme des Tools gestaltet sich kinderleicht. Wenn du unserer Anleitung folgst, kannst du die Admin-Oberfläche unter Port 5001 aufrufen. Das Standardverzeichnis für alle Stacks wurde auf /opt/stacks festgelegt, während Dockge selbst in /opt/dockge zu finden ist. Natürlich kannst du die Pfade je nach Bedarf anpassen.

# Erstelle ein Verzeichnis für das Compose-File von Dockge:
mkdir -p opt/dockge

# Lege einen Ordner für alle anderen Compose-Dateien an:
mkdir -p /opt/stacks

# Lade die offizielle Compose-Datei herunter:
cd /opt/dockge && curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

# Starte den Dockge-Container in Docker:
docker compose up -d

# Starte den Container mit Podman oder dem Compose-Plugin V1:
docker-compose up -d

Als Alternative zu unserer Anleitung besteht auch die Möglichkeit, die Compose.yaml-Dateien auf der offiziellen Webseite zu erstellen. Dort findest du natürlich auch immer die neuesten Informationen zum Deployment der App via Docker oder Podman. So oder so musst du im letzten Schritt noch deinen neuen Admin-Account anlegen und schon kann es losgehen.

Wenn du mehrere Standalone Docker Hosts betreibst, kannst du diese mithilfe des Agenten miteinander verknüpfen. Dadurch erhältst du die Möglichkeit, die Workloads von deinem Haupt-Dockge-Server aus zu steuern. Auf der Startseite findest du einen Button mit der Bezeichnung „New Agent“. Ein einfacher Klick darauf führt dich durch den weiteren Prozess.

Dockge Agent Modus

Dockge geht davon aus, dass du Docker auf deinen anderen Servern bereits installiert hast und Dockge ebenso voll eingerichtet am Start ist. In der Benutzeroberfläche musst du an dieser Stelle lediglich die IP-Adresse samt Port, sowie den zuvor hinterlegten Admin-Benutzer und das Passwort der neuen Dockge-Instanz angeben. Mehr ist zur Einrichtung des Agent-Moduls nicht nötig.

Nach dem Verknüpfen dient dein Haupt-Docker-Host als Proxy und routet sämtliche Anfragen an die anderen Docker-Instanzen weiter. Die Anzahl der aktiven Dockge Agents kannst du zudem bequem in der Web-Oberfläche einsehen. Du befindest dich dabei auf dem Host mit dem Label Current. In Zukunft sind weitere faszinierende Features in Planung – wir sind bereits gespannt darauf!

Was sollte man noch wissen?

FAQ

Der Compose-Manager Dockge scheint eine bedeutsame Marktlücke gefunden zu haben. Wir erhalten kontinuierlich spannende Fragen von unserer Leserschaft rund um die Anwendung. Gerne beantworten wir all diese interessanten Fragen. Um sicherzustellen, dass jeder von unseren Antworten profitiert, haben wir beschlossen, den Beitrag um eine FAQ zu erweitern.

Wie kann man Dockge per HTTPS erreichbar machen?

Derzeit besteht im Admin-Backend keine Möglichkeit, ein SSL-Zertifikat hochzuladen. Daher ist es erforderlich, vor der Verwendung von Dockge einen Reverse-Proxy zu platzieren, der die SSL-Terminierung übernimmt. Ideal ist es, dort Wildcard-Zertifikate mit einer Gültigkeitsdauer von einem Jahr zu hinterlegen oder mit kostenlosen Let’s Encrypt Zertifikaten zu arbeiten.

Da Dockge normalerweise nicht direkt über das Internet erreichbar sein sollte, bietet sich dafür eine DNS-Challenge an. Auch Self Signed Zertifikate sind eine praktikable Lösung, falls man keine eigene Domain besitzt. Falls man nicht selbst einen Reverse Proxy von Grund auf einrichten möchte, kann man den Docker-Container Nginx Proxy Manager in Betracht ziehen.

Kann ich einen einzelnen Container ohne compose.yaml verwalten?

Das Hauptziel von Dockge besteht darin, für alles das Compose-Plugin zu benutzen. Gearbeitet wird daher mit der docker-compose.yaml Datei. Wenn du einen einzelnen Container verwalten möchtest, kannst du dazu einfach Portainer oder die Docker-Befehlszeilenschnittstelle (CLI) verwenden. Alternativ dazu kann man das docker run Kommando in ein Manifest umwandeln lassen.

Kann ich bestehende Stacks verwalten?

Ganz im Unterschied zu anderen Lösungen auf dem Markt geht das hier problemlos. Du musst lediglich deine Compose-Datei in den von dir definierten Stacks-Ordner verschieben:

1. Stoppe deinen Stack mittels docker compose down.
2. Verschiebe deine Compose-Datei nach /opt/stacks/, falls du unserer Anleitung 1 zu 1 gefolgt bist.
3. Klicke auf den Button Scan Stacks Folder im Dropdown-Menü oben rechts.

Jetzt solltest du deinen Stack in der Dockge-Liste sehen können. Ab diesem Punkt musst du nicht mehr auf Vim oder Nano zurückgreifen, sondern kannst sämtliche Aufgaben bequem über die Benutzeroberfläche von Dockge erledigen.

Von Fabian Wüst

Er ist leidenschaftlicher Open-Source-Benutzer und ein begeisterter Technologie-Enthusiast. Als kreativer Kopf hinter Homelabtopia bringt Fabian hier seine umfangreiche Erfahrung als Linux-Admin ein. Um sicherzustellen, dass du aus seinen Beiträgen den größtmöglichen Nutzen ziehen kannst, führt er ausgiebige Tests durch und errichtet dafür immense Setups.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert