Proxmox VM und LXC Container Festplatten-Überwachung (Docker Dashboard)
  • HTML 78.7%
  • Python 20.3%
  • Dockerfile 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-09 17:04:32 +02:00
templates feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00
.env.example feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00
.gitignore feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00
app.py feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00
docker-compose.yml feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00
Dockerfile feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00
README.md feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00
requirements.txt feat: initial release of proxmox-disk-monitor dashboard 2026-09-09 17:04:32 +02:00

Proxmox Disk Monitor (Web-Dashboard & Docker)

Ein leichtgewichtiges Web-Dashboard, das über die offizielle Proxmox REST-API den Festplattenspeicher aller VMs (KVM) und CTs (LXC) überwacht und visuell hervorhebt, wenn der freie Speicherplatz unter 15% (oder kritisch unter 5%) fällt.


🚀 Features

  • Modernes Web-Dashboard: Übersicht über alle VMs und LXC Container inklusive Speicherbelegung, freiem Speicher, Status und Uptime.
  • Speicher-Schwellenwerte:
    • 🟢 Normal: \ge 15% freier Speicher
    • 🟡 Warnung: < 15% freier Speicher (oder frei konfigurierbar via .env)
    • 🔴 Kritisch: < 5% freier Speicher
  • Filter & Suche: Filtern nach Warnungen, nur VMs, nur CTs oder laufenden Systemen; Live-Suchfeld.
  • Auto-Refresh: Aktualisiert Daten alle 30 Sekunden automatisch im Hintergrund via AJAX.
  • Sicher: Authentifizierung über Proxmox API Tokens (kein Passwort im Klartext erforderlich).
  • Vorbereitet für Benachrichtigungen: Saubere Python-Struktur, an die später Alerts (Mail, Telegram, Gotify, Webhook, n8n) angebunden werden können.

🛠️ Schritt 1: Proxmox API-Token erstellen (im Proxmox Web-UI)

  1. Proxmox Web-UI aufrufen: https://<DEINE-PROXMOX-IP>:8006
  2. Unter Datacenter (Rechenzentrum) \rightarrow Permissions (Rechte) \rightarrow API Tokens:
    • Klicke auf Add (Hinzufügen).
    • User: z.B. root@pam (oder ein separater User wie monitor@pve).
    • Token ID: monitoring
    • Privilege Separation: Haken entfernen (oder sicherstellen, dass der Token Leserechte hat: PVEAuditor auf /).
    • Klicke auf Add.
  3. Kopiere dir den angezeigten Secret Value (Token-Wert, UUID). Er wird nur ein einziges Mal angezeigt!

📦 Schritt 2: Auf dem Docker-Host (z.B. CT/VM 107) einrichten

Option A: Ordner auf 107 kopieren

Kopiere den Ordner proxmox-disk-monitor auf deinen Docker-Server 107 (z.B. nach /opt/proxmox-disk-monitor oder ~/proxmox-disk-monitor):

mkdir -p /opt/proxmox-disk-monitor
cd /opt/proxmox-disk-monitor

Erstelle die Dateien (docker-compose.yml, Dockerfile, requirements.txt, app.py, templates/index.html) oder lade sie hoch.

Option B: .env Datei anlegen

Erstelle eine .env Datei im Projektverzeichnis auf 107:

cp .env.example .env
nano .env

Trage deine Proxmox-Daten ein:

PROXMOX_HOST=192.168.178.10
PROXMOX_PORT=8006
PROXMOX_USER=root@pam
PROXMOX_TOKEN_NAME=monitoring
PROXMOX_TOKEN_VALUE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
PROXMOX_VERIFY_SSL=false
WEB_PORT=5050
WARN_FREE_PERCENT=15.0
CRIT_FREE_PERCENT=5.0

▶️ Schritt 3: Container starten

Starte den Docker-Container einfach mit Docker Compose:

docker compose up -d --build

Logs prüfen:

docker compose logs -f

🌐 Schritt 4: Dashboard aufrufen

Öffne im Browser:

http://<IP-VON-107>:5050

🔔 Spätere Warnungen / Alerting

Die Datenverarbeitung in app.py ermittelt bereits für jeden Gast den health_status ("warning" oder "critical"). Sobald du Benachrichtigungen (Telegram, Gotify, Discord, E-Mail oder Webhooks z.B. an n8n) aktivieren möchtest, können wir ein Scheduler-Modul (z.B. alle 10 Minuten prüfen und Benachrichtigung senden) nahtlos ergänzen.