Zum Inhalt

Glances per Docker installieren: Alles System-Monitoring auf einen Blick

Veröffentlicht am 11. Oktober 2026 · Geschätzte Lesezeit: 6 Minuten

Glances zeigt CPU, RAM, Festplatten, Netzwerk, Docker-Container und Temperatursensoren auf einem einzigen Live-Dashboard – im Terminal und im Browser. Anders als Netdata (hunderte Diagramme) oder Beszel (zeitbasierte Graphen) konzentriert sich Glances auf die aktuelle Momentaufnahme mit farblichen Warnungen: Werte über 70 % leuchten gelb, über 90 % rot.[1][2] Für die Einrichtung mit Docker brauchst du etwa 10 bis 20 Minuten.

Diese Anleitung folgt der offiziellen Glances-Docker-Dokumentation und der Docker-Compose-Referenz im GitHub-Repository.[1][2] Eine visuelle Einführung zeigt das Video Glances, a free, open source, self hosted System Stats at a Glance! auf YouTube.[5]

Voraussetzungen

  • Ein Linux-Server mit Docker und Docker Compose (plugin)
  • Terminal-Zugriff mit sudo-Rechten
  • Ein freier TCP-Port 61208 im Heimnetz
  • Etwa 50 MB freier Festplattenplatz für das Docker-Image

1. Projektverzeichnis anlegen

Erstelle ein eigenes Verzeichnis für Glances. Die Konfigurationsdatei liegt später direkt in diesem Ordner:

mkdir -p ~/docker/glances
cd ~/docker/glances

Glances selbst speichert keine Daten auf Dauer – es ist ein Live-Monitor. Persistente Konfiguration legst du über eine glances.conf-Datei fest, die du gleich im nächsten Schritt erstellst.

2. Docker-Compose-Datei erstellen

Erstelle die Datei compose.yaml im Verzeichnis ~/docker/glances:

services:
  glances:
    image: nicolargo/glances:latest-full
    container_name: glances
    restart: unless-stopped
    pid: host
    network_mode: host
    read_only: true
    volumes:
      - /:/rootfs:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./glances.conf:/glances/conf/glances.conf:ro
      - /etc/os-release:/etc/os-release:ro
    environment:
      - GLANCES_OPT=-C /glances/conf/glances.conf -w
      - TZ=Europe/Berlin

Die wichtigsten Einstellungen auf einen Blick:

Einstellung Bedeutung
image: latest-full Vollständiges Image mit allen Abhängigkeiten (Web-UI, Docker-Support, Sensoren)
pid: host Teilt den Prozessraum des Hosts – nötig für die Prozess- und Containeransicht
network_mode: host Erlaubt Zugriff auf Netzwerkschnittstellen und Container-Netzwerke des Hosts
read_only: true Container-Dateisystem schreibgeschützt – erhöht die Sicherheit
/var/run/docker.sock Lese-Zugriff auf Docker-Container-Listen und deren Ressourcen
GLANCES_OPT Startparameter: Konfigurationsdatei (-C) und Webserver-Modus (-w)

Sicherheitshinweis

pid: host und network_mode: host heben die Container-Isolation weitgehend auf. Glances benötigt diese Rechte, um den gesamten Host zu überwachen. Setze den Container daher nur auf Servern ein, denen du vertraust. Das Tag latest-full enthält die aktuellste stabile Version mit allen Python-Abhängigkeiten.[1][3]

3. Konfigurationsdatei erstellen (optional)

Glances funktioniert auch ohne eigene Konfiguration sofort. Wer das Verhalten anpassen möchte, legt eine glances.conf an:

[global]
refresh=3
check_update=False
history_size=600

[outputs]
max_processes_display=30

Bedeutung der Optionen:

  • refresh=3 – Aktualisiert die Anzeige alle 3 Sekunden (Standard: 2)
  • check_update=False – Deaktiviert die Versionsprüfung bei jedem Start
  • history_size=600 – Behält die letzten 600 Messwerte (etwa 30 Minuten bei 3‑Sekunden-Intervall)
  • max_processes_display=30 – Zeigt maximal 30 Prozesse im Web-UI an

Ohne diese Datei verwendet Glances die built-in-Standardwerte – auch das ist völlig in Ordnung.

4. Glances starten

Starte den Container im Hintergrund:

docker compose up -d

Docker lädt das Image nicolargo/glances:latest-full herunter (etwa 50 MB) und startet den Container.

Prüfe, ob der Container läuft:

docker compose ps

Erwartete Ausgabe (Auszug):

NAME      IMAGE                         ...  STATUS       PORTS
glances   nicolargo/glances:latest-full  ...  Up 2 minutes

5. Dashboard aufrufen

Öffne die Weboberfläche im Browser unter http://192.168.1.100:61208 (ersetze 192.168.1.100 durch die IP-Adresse deines Servers). Das Dashboard zeigt sofort:

  • CPU – Auslastung pro Kern, Durchschnitt, Frequenz und Temperatur
  • Arbeitsspeicher – RAM und Swap in absoluten Zahlen und Prozent
  • Festplatten – Belegung, I/O-Raten, freier Platz
  • Netzwerk – Upload/Download-Bandbreite, Verbindungen, Fehler
  • Docker-Container – Name, Status, CPU- und RAM-Verbrauch jedes Containers
  • Sensoren – Kern-Temperaturen, Lüfterdrehzahlen (sofern vom System unterstützt)
  • Prozesse – Sortierbare Liste der laufenden Prozesse nach CPU- oder RAM-Verbrauch

Jeder Wert färbt sich automatisch: grün (OK, unter 70 %), gelb (Achtung, 70–90 %), rot (kritisch, über 90 %).[1][4]

6. Container-Logs prüfen

Bei Problemen hilft ein Blick in die Logs:

docker compose logs glances

Glances protokolliert dort, ob der Docker-Socket erreichbar ist, welche Plugins geladen wurden und ob Fehler beim Start auftreten.

7. Glances aktualisieren

Docker-Container aktualisieren sich nicht von selbst. Führe für ein Update diese Schritte aus:

docker compose pull
docker compose up -d

Der erste Befehl lädt das neue Image, der zweite startet den Container mit der neuen Version neu – die Konfiguration in glances.conf bleibt erhalten.

Alte ungenutzte Images entfernst du mit:

docker image prune -f

Passwortschutz einrichten (für dauerhaften Betrieb)

Glances bietet ab Werk keinen Login-Schutz. Wer den Webzugang langfristig im Heimnetz bereitstellt, sollte entweder einen Reverse-Proxy mit Authentifizierung vorschalten oder das integrierte Passwort-Feature nutzen.[1]

Gehe dazu wie folgt vor:

  1. Erstelle eine Passwort-Datei auf dem Host:
mkdir -p ~/docker/glances/secrets
cd ~/docker/glances
  1. Starte einen temporären Container und erzeuge den Passwort-Hash:
docker run --rm -it nicolargo/glances:latest-full glances -w --password

Das Programm fragt nach einem Passwort (Standard-Benutzername: glances). Nach der Eingabe mit STRG+C und exit den Container beenden.

  1. Kopiere die erzeugte Passwort-Datei aus dem Container:
docker cp $(docker ps -lq):/root/.config/glances/glances.pwd ./secrets/glances_password
  1. Ergänze die compose.yaml um den Secret-Mechanismus:
services:
  glances:
    image: nicolargo/glances:latest-full
    container_name: glances
    restart: unless-stopped
    pid: host
    network_mode: host
    read_only: true
    volumes:
      - /:/rootfs:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./glances.conf:/glances/conf/glances.conf:ro
      - /etc/os-release:/etc/os-release:ro
    environment:
      - GLANCES_OPT=-C /glances/conf/glances.conf -w --password
      - TZ=Europe/Berlin
    secrets:
      - source: glances_password
        target: /root/.config/glances/glances.pwd

secrets:
  glances_password:
    file: ./secrets/glances_password
  1. Container neu starten:
docker compose up -d

Das Web-UI fragt jetzt nach Benutzername (glances) und dem eingegebenen Passwort, bevor es die Dashboard-Seite anzeigt.

Docker-Konfiguration sichern und wiederherstellen

Da Glances keine benutzerspezifischen Daten speichert, beschränkt sich das Backup auf die compose.yaml und die optionale glances.conf:

cp ~/docker/glances/compose.yaml ~/docker/glances/compose.yaml.backup
cp ~/docker/glances/glances.conf ~/docker/glances/glances.conf.backup 2>/dev/null || true

Zur Wiederherstellung kopierst du die Sicherung zurück und startest den Container neu:

cp ~/docker/glances/compose.yaml.backup ~/docker/glances/compose.yaml
docker compose up -d

Die Passwort-Datei in secrets/glances_password sicherst du separat, da sie sensible Daten enthält. Ohne diese Datei startet Glances zwar, verweigert dann aber den Web-Zugriff. In dem Fall löschst du einfach den --password-Parameter aus GLANCES_OPT und startest den Container ohne Passwortschutz neu.

Risiken und typische Fehler

Port 61208 bereits belegt. Ein anderer Dienst verwendet bereits den Port. Glances benötigt network_mode: host, daher kannst du den Port nicht über ports: ändern. Stattdessen stoppst du den anderen Dienst oder betreibst Glances auf einem separaten Server.

Fehlende Docker-Container im Dashboard. Ohne die Volume-Mounts für docker.sock, /proc und /sys sieht Glances nur Container-Ressourcen, die explizit freigegeben wurden. Ohne pid: host fehlen die Host-Prozesse.

Keine Temperatursensoren. Sensordaten benötigen Hardware-Unterstützung und Leserechte auf /sys. Nicht jeder Server oder jede VM stellt Temperaturwerte bereit – das ist kein Fehler von Glances.

GLANCES_OPT in Anführungszeichen. In manchen Docker-Beispielen steht GLANCES_OPT="-w --password" in der docker-compose.yml. Die Anführungszeichen können bei manchen Versionen dazu führen, dass die Optionen nicht korrekt geparst werden. Schreibe GLANCES_OPT=-w --password ohne Anführungszeichen.

Fertig

Glances läuft und zeigt dir auf einen Blick, was auf deinem Server passiert. Öffne http://192.168.1.100:61208 (ersetze 192.168.1.100 durch deine Server-IP) und prüfe folgende Punkte:

  • Die CPU-Auslastung pulsiert in Echtzeit und färbt sich bei hoher Last gelb oder rot
  • Unter den Docker-Containern siehst du alle laufenden Container mit CPU- und RAM-Werten
  • Die Netzwerk-Graphen steigen beim Herunterladen einer Datei oder beim Streamen sichtbar an
  • Das System-Load zeigt die durchschnittliche Auslastung der letzten 1, 5 und 15 Minuten

Glances benötigt nach dem Start keine weitere Konfiguration. Wer die Werte zusätzlich aufzeichnen oder in Grafana darstellen will, aktiviert das --export prometheus oder --export influxdb Flag in GLANCES_OPT und trägt die Ziel-URL in der glances.conf ein.[1]

Sources

[1] https://glances.readthedocs.io/en/latest/docker.html — Glances Docker Documentation (official) [2] https://github.com/nicolargo/glances — Glances GitHub Repository [3] https://hub.docker.com/r/nicolargo/glances — Glances Docker Hub Image Tags [4] https://jacar.es/en/how-to-install-glances-with-docker — How to Monitor Your Server with Glances in Docker [5] https://www.youtube.com/watch?v=lQ34yOAhjZ8 — Glances, a free, open source, self hosted System Stats at a Glance! (YouTube)