Zum Inhalt

Festplatten mit Scrutiny und Docker überwachen

Veröffentlicht am 7. August 2026 · Geschätzte Lesezeit: 5 Minuten

Scrutiny liest die SMART-Daten angeschlossener Festplatten und SSDs aus und zeigt Temperatur, Betriebsstunden sowie auffällige Werte in einer Weboberfläche. So erkennst du mögliche Laufwerksprobleme früher, bevor ein Ausfall überrascht. Für Installation und ersten Test solltest du etwa 20 bis 30 Minuten einplanen.

Die Anleitung wurde am 3. August 2026 mit der offiziellen Scrutiny-Dokumentation und der aktuellen Veröffentlichung v0.9.2 abgeglichen. Das deutschsprachige Video Festplattengesundheit mit Scrutiny überwachen bietet einen zusätzlichen Überblick.

Voraussetzungen

  • Ein Linux-Server mit installiertem Docker und Docker Compose
  • Mindestens ein direkt am Docker-Server angeschlossenes Laufwerk mit SMART-Unterstützung
  • Zugriff auf das Terminal mit sudo-Rechten
  • Eine feste IP-Adresse oder ein lokaler DNS-Name

1. Laufwerksnamen ermitteln

Zeige im Terminal des Docker-Servers nur die physischen Laufwerke an:

lsblk -d -o NAME,MODEL,SIZE,TYPE

Notiere die Gerätenamen der zu überwachenden Laufwerke, zum Beispiel /dev/sda und /dev/sdb. Partitionen wie /dev/sda1 werden nicht eingetragen.

Danger

Kontrolliere die Namen sorgfältig. Scrutiny liest SMART-Daten und löscht keine Nutzdaten, erhält dafür aber direkten Zugriff auf die eingetragenen Geräte.

2. Arbeitsordner anlegen

Erstelle Ordner für Scrutiny-Konfiguration und Messwerte:

mkdir -p ~/scrutiny/config ~/scrutiny/influxdb

Wechsle anschließend in den Arbeitsordner:

cd ~/scrutiny

3. Compose-Datei erstellen

Öffne eine neue Compose-Datei:

nano compose.yaml

Füge die folgende Konfiguration ein. Ersetze die Beispiele /dev/sda und /dev/sdb durch deine tatsächlichen Laufwerke. Entferne nicht benötigte Zeilen oder ergänze weitere Geräte im selben Format.

services:
  scrutiny:
    image: ghcr.io/analogj/scrutiny:v0.9.2-omnibus
    container_name: scrutiny
    restart: unless-stopped
    cap_add:
      - SYS_RAWIO
    ports:
      - "8084:8080"
    volumes:
      - ./config:/opt/scrutiny/config
      - ./influxdb:/opt/scrutiny/influxdb
      - /run/udev:/run/udev:ro
    devices:
      - /dev/sda:/dev/sda
      - /dev/sdb:/dev/sdb

Speichere mit Strg+O, bestätige mit der Eingabetaste und beende Nano mit Strg+X.

SYS_RAWIO erlaubt dem SMART-Werkzeug die nötigen Abfragen. Die eingetragenen Geräte werden einzeln an den Container weitergereicht; der Container erhält nicht pauschal Zugriff auf alle Geräte des Hosts.

4. NVMe-Laufwerk bei Bedarf ergänzen

Wenn du ein NVMe-Laufwerk wie /dev/nvme0 überwachst, ergänze es unter devices:

    devices:
      - /dev/nvme0:/dev/nvme0

Ergänze bei NVMe außerdem SYS_ADMIN unter cap_add, wie es die offizielle Scrutiny-Dokumentation verlangt:

    cap_add:
      - SYS_RAWIO
      - SYS_ADMIN

Diese beiden Ausschnitte werden in den vorhandenen Dienstblock eingefügt und ersetzen nicht die komplette Compose-Datei. Nutzt du kein NVMe-Laufwerk, bleibt es bei SYS_RAWIO.

Warning

Zusätzliche Linux-Fähigkeiten erweitern die Rechte des Containers. Füge SYS_ADMIN nur hinzu, wenn es für ein NVMe-Laufwerk wirklich erforderlich ist.

5. Scrutiny starten

Starte den Container im Hintergrund:

docker compose up -d

Prüfe anschließend den Zustand:

docker compose ps

In der Spalte STATUS sollte Up stehen. Der Omnibus-Container enthält Weboberfläche, Datenbank und SMART-Sammler.

6. SMART-Daten manuell einlesen

Führe den Sammler einmal manuell im Container aus, damit das Dashboard sofort Daten erhält:

docker compose exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run

Der Befehl wird im Ordner ~/scrutiny ausgeführt. Er liest nur die in compose.yaml freigegebenen Geräte ein und sendet die Werte an die lokale Scrutiny-Webanwendung.

Öffne danach auf einem Gerät im selben Netzwerk diese Adresse:

http://<server-ip>:8084

Ersetze <server-ip> durch die IP-Adresse des Docker-Servers, zum Beispiel 192.168.178.50.

7. Laufwerkswerte prüfen

Kontrolliere, ob Modell, Kapazität und Temperatur zu deinen Laufwerken passen. Öffne jedes Laufwerk und achte besonders auf Warnungen, neu zugewiesene Sektoren und nicht korrigierbare Fehler.

Warning

SMART-Werte sind ein Frühwarnsystem, aber keine Garantie. Ein Laufwerk kann auch ohne vorherige Warnung ausfallen. Scrutiny ersetzt deshalb niemals ein geprüftes Backup.

Die offizielle Omnibus-Konfiguration sammelt standardmäßig einmal täglich neue Werte. Der manuelle Befehl aus Schritt 6 kann jederzeit erneut ausgeführt werden.

8. Zugriff absichern

Scrutiny besitzt in dieser einfachen Installation keinen eigenen Anmeldeschutz. Leite Port 8084 nicht im Router ins Internet weiter. Nutze die Oberfläche nur im Heimnetz oder über ein VPN.

Prüfe am Router, dass keine automatische oder manuelle Freigabe für Port 8084 besteht.

9. Backup und Rückweg vorbereiten

Stoppe Scrutiny, damit sich die Datenbank während der Sicherung nicht ändert:

cd ~/scrutiny
docker compose down

Sichere den vollständigen Projektordner:

tar -czf "$HOME/scrutiny-backup-$(date +%F).tar.gz" -C "$HOME" scrutiny

Starte Scrutiny danach wieder:

docker compose up -d

Für den Rückweg stoppst du den Container, stellst den Ordner ~/scrutiny aus dem Archiv wieder her und prüfst vor dem Start erneut alle Gerätenamen in compose.yaml.

Danger

Laufwerksnamen können sich nach Hardwareänderungen verschieben. Starte eine wiederhergestellte Compose-Datei erst, nachdem du die Namen mit lsblk abgeglichen hast.

10. Scrutiny aktualisieren

Erstelle zuerst ein Backup und prüfe die Veröffentlichungshinweise. Ändere danach die Versionsnummer hinter ghcr.io/analogj/scrutiny: in compose.yaml auf die gewünschte geprüfte Omnibus-Version.

Lade das neue Abbild:

cd ~/scrutiny
docker compose pull

Ersetze anschließend den Container mit den vorhandenen Daten:

docker compose up -d

Prüfe nach dem Update alle Laufwerke und führe den Sammler einmal manuell aus. Bei Problemen trägst du die vorherige Versionsnummer wieder ein und stellst das Backup wieder her.

11. Typische Fehler beheben

Wenn keine Laufwerke erscheinen, lies die letzten Protokollzeilen:

docker compose logs --tail=150 scrutiny

Prüfe danach, ob die eingetragenen Gerätenamen noch vorhanden sind:

lsblk -d -o NAME,MODEL,SIZE,TYPE

Bei Operation not permitted fehlt meist SYS_RAWIO, bei NVMe gegebenenfalls zusätzlich SYS_ADMIN. USB-Gehäuse und RAID-Controller können SMART-Abfragen anders weiterreichen oder vollständig blockieren; nutze dann die gerätespezifische Scrutiny-Dokumentation, statt unbekannte Berechtigungen hinzuzufügen.

Ist die Weboberfläche nicht erreichbar, prüfe Port 8084:

sudo ss -ltnp | grep ':8084'

Fertig

Scrutiny überwacht jetzt die freigegebenen Laufwerke und speichert ihre SMART-Verläufe dauerhaft. Die Einrichtung ist erfolgreich, wenn jedes erwartete Laufwerk mit plausibler Temperatur und einem aktuellen Messzeitpunkt im Dashboard erscheint.