Wenn mehrere Teammitglieder auf denselben Docker-Host zugreifen müssen, wird die Log-Verwaltung schnell unübersichtlich. Der klassische Weg über SSH oder kostenintensive Observability-Tools wie Loki oder Elasticsearch ist für kleine Umgebungen oft überdimensioniert. Genau hier setzt DockLog an: eine schlankes, selbstgehostetes Tool, das Docker-Logs und grundlegende Administration über eine intuitive Weboberfläche ermöglicht – ohne Agenten, ohne externe Telemetrie und mit minimalem Ressourcenbedarf.
Docker-Logs ohne Kompromisse
DockLog überwindet die typischen Hürden bei der Container-Log-Verwaltung:
- Echtzeit-Logs via WebSockets: Ständige Abfragen (Polling) gehören der Vergangenheit an. Die Lösung nutzt WebSockets für sofortige, verlustfreie Log-Streams direkt aus
stdoutundstderr. - Systemüberwachung integriert: Neben den Logs zeigt DockLog Host- und Container-spezifische Metriken wie CPU- und Speichernutzung an. Die Daten werden für etwa 30 Tage in einer SQLite-Datenbank gespeichert.
- Mehrbenutzerauthentifizierung: Teammitglieder können individuell auf bestimmte Container zugreifen – gesteuert durch Wildcard- oder Regex-Muster. Berechtigungen reichen von reiner Lese- bis hin zu Administrationsrechten.
- Praktische Container-Aktionen: Starten, stoppen, neu starten oder löschen von Containern sind direkt aus der Oberfläche möglich. Diese Funktionen lassen sich über Umgebungsvariablen und Benutzerrechte granular konfigurieren.
- Audit-Protokollierung: Bei aktivierter Authentifizierung wird jede Interaktion protokolliert – ideal für Compliance-Anforderungen.
Der Arbeitsspeicherbedarf liegt laut Entwickler bei lediglich 30 bis 40 MB. Das Docker-Image aimldev/docklog:latest ist für amd64- und arm64-Architekturen verfügbar und steht unter der MIT-Lizenz bereit.
Klare Grenzen für maximale Effizienz
DockLog ist bewusst kein All-in-One-Tool für große Kubernetes-Clusters oder Enterprise-Umgebungen. Die wichtigsten Einschränkungen im Überblick:
- Ein Docker-Host pro Instanz: Aktuell aggregiert DockLog nur Logs eines einzelnen Docker-Engines. Eine zentrale Übersicht über mehrere Hosts ist zwar geplant, aber noch nicht umgesetzt.
- Kein Loki- oder ELK-Ersatz: Für skalierbare, langfristige Log-Analysen bleibt der Einsatz spezialisierter Tools wie Grafana Loki oder Elasticsearch ratsam.
- Kein gehosteter Dienst: Sicherheit und Datenhoheit liegen in Ihrer Hand. DockLog wird lokal installiert und verwaltet.
- Sicherheitshinweis zum Docker-Socket: Die Berechtigungen des Docker-Sockets (
docker.sock) müssen mit der gleichen Sorgfalt behandelt werden wie ein Admin-Zugang. Unkontrollierter Zugriff sollte vermieden werden.
In drei Minuten einsatzbereit
Die Einrichtung von DockLog gelingt dank Docker-Compose oder einem einfachen docker run-Befehl in wenigen Schritten. Eine Beispiel-Konfiguration für docker-compose.yml:
services:
docklog:
image: aimldev/docklog:latest
container_name: docklog
ports:
- "8888:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
environment:
- SECRET_KEY=change-me-use-openssl-rand-base64-32
- DB_PATH=/app/data/docklog.db
- CLIENT_ACCESS=strict
- ENV=production
restart: unless-stoppedNach dem Start ist die Anwendung unter erreichbar. Bei der ersten Anmeldung wird automatisch ein Admin-Konto mit den Zugangsdaten admin / admin123` erstellt. Diese sollten umgehend geändert werden. Alternativ lässt sich DockLog auch mit einem einzelnen Kommando starten:
docker pull aimldev/docklog:latest
docker run -d \
--name docklog \
-p 8888:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/data:/app/data \
-e SECRET_KEY=your-secure-key-here \
-e DB_PATH=/app/data/docklog.db \
-e CLIENT_ACCESS=strict \
--restart unless-stopped \
aimldev/docklog:latestBerechtigungen, die über die Oberfläche hinausgehen
Ein häufiger Kritikpunkt bei Admin-Tools ist die oberflächliche Umsetzung von Rollenbasierter Zugriffskontrolle (RBAC). DockLog geht hier einen Schritt weiter:
- Serverseitige Prüfung: Berechtigungen werden nicht nur in der UI angezeigt, sondern serverseitig bei jeder Anfrage validiert – sei es beim Abrufen von Logs, Metriken oder beim Ausführen von Aktionen.
- Zweischichtige Berechtigungslogik: Neben den globalen Umgebungsvariablen (
ALLOW_*) können pro Benutzer individuelle Rechte in der SQLite-Datenbank hinterlegt werden. Beide Ebenen müssen für eine erfolgreiche Ausführung erfüllt sein, selbst für Admin-Konten. - Ohne Authentifizierung: In lokalen Umgebungen kann DockLog auch ohne Anmeldung betrieben werden. Die Zugriffskontrolle erfolgt dann ausschließlich über die Umgebungsvariablen.
Technischer Unterbau: Stabil, schlank und erweiterbar
DockLog besteht aus einer ausgereiften Kombination bewährter Technologien:
- Go-Backend: Kommuniziert direkt mit der Docker-API und stellt die Kernfunktionalität bereit.
- Vue 3-Frontend: Die Benutzeroberfläche ist in derselben Docker-Image enthalten und bietet eine responsive, moderne Benutzererfahrung.
- SQLite für Datenhaltung: Speichert Benutzerdaten, Berechtigungen, Audit-Logs und kurzfristige Metrikverläufe effizient.
- WebSockets für Echtzeit: Ermöglichen nicht nur Log-Streams, sondern auch Event-Benachrichtigungen und optionale Shell-Sessions.
- Flutter-Apps: Native Clients für Android, Windows und Linux ermöglichen eine bequeme Log-Verwaltung ohne Browser – inklusive der Möglichkeit, mehrere DockLog-Server zentral zu verwalten.
Zusätzlich enthält das Image ein Command-Line-Tool (docklog), das Funktionen wie Passwort-Reset, Konfiguration und zukünftige Fleet-Operationen unterstützt.
Einfach ausprobieren
Wer DockLog vor der Installation testen möchte, kann die öffentliche Demo-Seite nutzen:
- URL: demo.docklog.dev
- Zugangsdaten: demo / Demo@1106
Bitte beachten: Die Demo-Umgebung dient ausschließlich zu Testzwecken. Sensible Daten sollten hier nicht eingegeben werden.
Mobile Clients: Logs immer griffbereit
Die nativen Apps von DockLog fungieren als Clients für selbstgehostete Server. Nach der Anmeldung lassen sich Logs bequem verfolgen, ohne ständig ein Browser-Tab offenhalten zu müssen. Die Apps unterstützen das Speichern mehrerer Server – etwa für Produktiv-, Staging- und Homelab-Umgebungen – und ermöglichen ein schnelles Wechseln zwischen den Instanzen.
Die Clients sind für alle gängigen Plattformen verfügbar und können über die Projekt-Website heruntergeladen werden.
DockLog entstand aus der Notwendigkeit heraus, mehreren Teammitgliedern unterschiedlichen Zugriff auf Docker-Container zu ermöglichen – ohne teure Observability-Stacks oder unsichere SSH-Schlüsselverteilung. Die Lösung richtet sich an alle, die eine einfache, ressourcenschonende Alternative für kleine bis mittlere Docker-Umgebungen suchen. Wer DockLog ausprobiert, sollte Feedback zu den bisher verwendeten Tools geben und aufzeigen, welche Funktionen noch fehlen. Beiträge sind über das GitHub-Repository willkommen.
KI-Zusammenfassung
Docker konteyner loglarını SSH olmadan, sadece bir arayüz üzerinden kolayca takip edin. DockLog’un özellikleri, kurulumu ve avantajları hakkında detaylı bilgiye ulaşın.