Docklite Handbuch & Referenz
Docklite ist eine lokale Oberfläche für Docker in Go und Astro. Eine einzelne native Binärdatei für Linux und Windows, direkte Kommunikation mit dem Docker-Socket (docker.sock), ohne externe Datenbank. Die tatsächliche Ressourcennutzung hängt von Umgebung und Last ab.
Stand-Alone Binary: Das gesamte Web-Cockpit wird per go:embed direkt in das Go-Kompilat eingebettet. Kein Node.js, kein Nginx und keine externe Datenbank erforderlich.
Warum Docklite? Vergleich mit Portainer
Docklite wird als einzelne Binärdatei mit eingebetteter Weboberfläche ausgeliefert und liest den Docker-Zustand direkt über Socket oder Named Pipe. Portainer ist ein separates Produkt mit anderen Betriebs- und Speicheroptionen. Frühere RAM- und Startzeitvergleiche wurden nicht belastbar gemessen und werden deshalb nicht als Leistungsversprechen übernommen.
Kernfunktionen & Architektur
Direkter Docker Socket
Kommuniziert nativ über HTTP-over-Unix-Socket (/var/run/docker.sock) unter Linux bzw. Named Pipe (//./pipe/docker_engine) unter Windows.
In-Browser Terminal
Interaktive Shell via WebSockets direkt in jeden laufenden Container (/bin/sh, /bin/bash) mit PTY-Fenstergrößen-Synchronisation.
Docker Compose Stacks
Automatische Gruppierung nach Compose-Projekten mit 1-Klick-Aktionen zum Neustarten, Stoppen und Protokoll-Inspektion.
Volume & Network Pruning
Schnelles Bereinigen ungenutzter Volumes und verwaister Netzwerke per Klick oder REST-API.
Installation & CLI-Optionen
Schnellstart mit Go
go install github.com/benzjeremy/docklite@latest
docklite --port 8080CLI-Optionen
Usage of docklite:
-docker-host string
Docker socket path or URI (default: unix:///var/run/docker.sock)
-host string
Host address to bind to (default: "127.0.0.1")
-open
Automatically open the default browser upon launch
-port int
HTTP port for dashboard and REST API (default: 8080)
-token string
Optional security token for API authentication (X-Docklite-Token)
-version
Show version and exitREST API & Server-Sent Events
| Method | Path | Beschreibung |
|---|---|---|
GET | /api/v1/ping | Health-Check & Docker-Erreichbarkeit |
GET | /api/v1/containers | Containerliste (?all=true, ?stats=true) |
GET | /api/v1/containers/{id}/stats | Live CPU%, RAM, Netzwerk Rx/Tx |
GET | /api/v1/containers/{id}/logs | Demuxed Logs (?tail=150) |
POST | /api/v1/containers/{id}/restart | Container neu starten |
GET | /api/v1/live | Server-Sent Events (SSE) Stream aller Container |
Sicherheitsarchitektur
Der Quellcode enthält folgende Schutzmaßnahmen. Der Docker-Socket verleiht weitreichende Rechte; geben Sie die Oberfläche nicht ohne zusätzliche Zugriffskontrolle im Netzwerk frei:
- Anti-DNS-Rebinding: Strikte Validierung des
Host-Headers. Unbefugte Domain-Anfragen werden sofort verworfen. - Anti-CSRF & Anti-CSWSH: Origin- und Sec-WebSocket-Origin-Prüfung für alle schreibenden Aktionen und WebSocket-Verbindungen.
- Sicherheits-Header:
X-Content-Type-Options: nosniff,X-Frame-Options: DENY, strikte CSP. - Token-Authentifizierung: Optionaler
--token-Schutz viaX-Docklite-TokenHeader.