Go to file
2026-09-10 11:05:46 +02:00
.idea Umbau vom TUI zu NiceGUI. Kenn mich besser aus. 2026-09-10 11:05:46 +02:00
gui Umbau vom TUI zu NiceGUI. Kenn mich besser aus. 2026-09-10 11:05:46 +02:00
rust_workers Umbau vom TUI zu NiceGUI. Kenn mich besser aus. 2026-09-10 11:05:46 +02:00
.gitignore init 2026-09-07 15:47:31 +02:00
main.py Umbau vom TUI zu NiceGUI. Kenn mich besser aus. 2026-09-10 11:05:46 +02:00
README.md init 2026-09-08 19:40:48 +02:00
requirements.txt Umbau vom TUI zu NiceGUI. Kenn mich besser aus. 2026-09-10 11:05:46 +02:00
setup.sh johhh .... ne.... 2026-09-09 15:57:33 +02:00

Homelab Watchdog

Überwacht Server, Container und Netzwerkgeräte im Homelab. Eine Liste von Hosts wird zyklisch geprüft, nicht erreichbare dienste werden rot markiert und in MariaDB geloggt.

Architektur: Hybrid Python + Rust

Nach Evaluation wurde eine hybride Architektur gewählt, um die steile Lernkurve von Rust (async, TUI, DB-Handling) zu vermeiden und trotzdem Rust zu lernen.

Layer Sprache Aufgabe
Manager Python TUI (textual/rich), Timer, Config, MariaDB, ruft Worker auf
Worker Rust Kleine, synchron CLI-Binaries (z.B. ping_worker). IP als Arg, JSON auf stdout.
Datenbank MariaDB Zentrale Wahrheit für Status, Fehler, Zeitstempel

Datenfluss

  1. Python Manager liest Host-Liste (JSON/DB).
  2. Alle X Minuten: subprocess.run(["./ping_worker", "<ip>"]) pro Host.
  3. Rust Worker pingt synchron, gibt {"address":"...","reachable":true,"rtt_ms":12} aus.
  4. Python parst JSON, schreibt in MariaDB, aktualisiert TUI.

Projektstruktur (geplant)