No description
Find a file
2026-06-13 10:24:54 +02:00
src Unraid Monitor for one-screen overview 2026-06-13 10:22:24 +02:00
.gitignore Unraid Monitor for one-screen overview 2026-06-13 10:22:24 +02:00
CMakeLists.txt Unraid Monitor for one-screen overview 2026-06-13 10:22:24 +02:00
README.md Added README.md 2026-06-13 10:24:54 +02:00

Unraid Monitor

Ein leichtgewichtiger Desktop-Monitor für Unraid-Server auf Basis von C++ und Qt6. Liest Live-Daten über die offizielle Unraid GraphQL API und zeigt sie in einem aufgeräumten Dark-Mode-Dashboard Festplatten, SMART-Werte, Docker-Container und Systemstatus auf einen Blick.

Funktionen

  • System Hostname, Unraid-/API-Version, Kernel, CPU, Uptime sowie CPU- und RAM-Auslastung mit Farbbalken
  • Array Status, Kapazität, freier Speicher und Fehlerzähler
  • Pools / Cache Belegung und Temperatur je Pool
  • Festplatten Parität und Daten-Disks mit Größe, Temperatur (inkl. Standby-Erkennung), Status, Fehlern und Belegung
  • SMART / Laufwerke Modell, Seriennummer, Schnittstelle, Temperatur und SMART-Status aller physischen Laufwerke
  • Docker Container mit Status-Anzeige (läuft / pausiert / gestoppt), Image, Laufzeit und Autostart
  • Anpassbar jedes Modul lässt sich einzeln ein- und ausblenden
  • Automatische Aktualisierung mit konfigurierbarem Intervall

Voraussetzungen

  • Qt 6 (Module Widgets und Network)
  • CMake ≥ 3.16
  • C++17-Compiler
  • Ein Unraid-Server mit aktivierter API (Unraid 7.x)

Bauen

cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)

Das fertige Binary liegt anschließend unter build/unraid-monitor.

Verwendung

./build/unraid-monitor

Beim ersten Start öffnet sich der Einstellungsdialog:

  1. API-Key erstellen in der Unraid-WebGUI unter Einstellungen → Management Access → API Keys (Lese-Rechte genügen)
  2. Server-URL eintragen, z. B. http://192.168.1.10
    • Bei HTTPS auf einem abweichenden Port den Port mit angeben: https://tower.local:8443
    • Bei selbstsigniertem Zertifikat die Option SSL-Zertifikatsfehler ignorieren aktivieren
  3. Intervall (3600 s) und die gewünschten Module wählen

Die Einstellungen werden über QSettings gespeichert (unter Linux in ~/.config/tronax/unraid-monitor.conf).

Hinweis zu HTTPS: Unraids nginx bedient bei aktiviertem SSL nur den passenden Hostnamen (SNI). Ein Zugriff über https://<IP> schlägt mit tlsv1 unrecognized name fehl in dem Fall den Hostnamen statt der IP verwenden (z. B. https://<hash>.myunraid.net oder https://tower.local).

Hinweis zur Sicherheit

Der API-Key wird unverschlüsselt in der Konfigurationsdatei abgelegt. Für eine gehärtete Speicherung (z. B. über den System-Schlüsselbund) müsste die Ablage auf QtKeychain / Secret Service umgestellt werden.

Projektstruktur

Datei Zweck
src/main.cpp Einstiegspunkt, Dark-Theme-Setup
src/MainWindow.* Hauptfenster, Karten-Layout, Auto-Refresh
src/UnraidClient.* GraphQL-Client und Antwort-Parsing
src/Cards.* Dashboard-Module (Karten)
src/SettingsDialog.* Konfigurationsdialog
src/Settings.h Laden/Speichern der Einstellungen
src/Theme.h Farbpalette und Stylesheet