Zum Inhalt springen

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 8080

CLI-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 exit

REST API & Server-Sent Events ​

MethodPathBeschreibung
GET/api/v1/pingHealth-Check & Docker-Erreichbarkeit
GET/api/v1/containersContainerliste (?all=true, ?stats=true)
GET/api/v1/containers/{id}/statsLive CPU%, RAM, Netzwerk Rx/Tx
GET/api/v1/containers/{id}/logsDemuxed Logs (?tail=150)
POST/api/v1/containers/{id}/restartContainer neu starten
GET/api/v1/liveServer-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 via X-Docklite-Token Header.