Wer IT-Infrastrukturen auf Basis von Proxmox betreibt, kennt das Problem: Man hat den Proxmox VE (PVE) Cluster für die virtuellen Maschinen, einen Proxmox Backup Server (PBS) für die Datensicherung und oft noch ein Proxmox Mail Gateway (PMG) für den sauberen E-Mail-Verkehr. Das bedeutet im Alltag: Drei verschiedene Web-Interfaces, drei Logins und ständiges Wechseln zwischen den Tabs.
Um diesen Workflow zu optimieren, habe ich die Proxmox Unified Console (PUC) entwickelt. Es handelt sich um ein leichtgewichtiges, komplett in Docker containerisiertes Dashboard, das alle drei Proxmox-Welten über ihre nativen REST-APIs in einer einzigen, rasend schnellen Oberfläche vereint.
1. Die Architektur: Nativ, sicher & modular
Viele "Custom Dashboards" machen den Fehler, einfach die originalen Proxmox-Oberflächen per <iframe> einzubinden. Das führt unweigerlich zu massiven CORS-Problemen, ablaufenden Cookies und Sicherheitswarnungen im Browser. Die PUC geht einen anderen Weg:
- PHP 8.2 API-Router: Ein maßgeschneidertes Backend kommuniziert über nativen Ticket-Grant direkt mit den Proxmox-Servern.
- SQLite-Datenbank: Nodes, User, Berechtigungen und Logs werden lokal in einer ausgelagerten SQLite-Datenbank gespeichert.
- Vanilla JS & Tailwind: Das Frontend kommt komplett ohne schwere Frameworks wie React oder Vue aus und rendert Live-Metriken per Chart.js in Echtzeit.
2. Features, die den Admin-Alltag retten
Das Dashboard ist nicht nur "Read-Only", sondern eine echte Kommandozentrale. Hier ein Auszug der Funktionen:
- PVE Lifecycle & Hardware: VMs starten, stoppen, klonen oder löschen. Virtuelle Festplatten on-the-fly erweitern, neue Netzwerkkarten (NICs) zuweisen und direkt über eine smarte NoVNC-Popout-Konsole auf die Maschinen zugreifen.
- PBS Management: Datastore-Auslastungen live überwachen, Snapshots (inkl. Namespace-Support) verwalten und System-Jobs (Garbage Collection, Prune, Verify) sowie Sync-Tasks im Auge behalten.
- PMG Mail Gateway: Eine node-übergreifende Spam-Quarantäne, Live-Einsicht in die Postfix-Warteschlangen (Active, Deferred, Hold) und ein aufgeräumtes Syslog-Tracking-Center. Zusätzlich lassen sich Relay-Domains, Trusted Networks und SSL-Zertifikate direkt im Dashboard konfigurieren.
- Mandantenfähigkeit & Audit Log: Neben dem Admin lassen sich "VM-Manager" und "Viewer" anlegen. Man kann Usern exakt zuweisen, welche VMs sie sehen und steuern dürfen. Jede Aktion wird in einem nicht-löschbaren Audit-Log manipulationssicher dokumentiert.
- Task Scheduler: Ein eigener Cron-Daemon im Docker-Container erlaubt es, zeitgesteuerte Aktionen (wie z. B. den nächtlichen Reboot bestimmter Nodes oder VMs) zu automatisieren.
3. Quickstart: Installation via Docker
Die Installation ist auf jedem Linux-Host mit Docker innerhalb von Sekunden erledigt. Das Image generiert beim ersten Start automatisch ein 10 Jahre gültiges Self-Signed SSL-Zertifikat für Port 443 (intern), welches wir für NoVNC und allgemeine Sicherheit benötigen.
Erstelle ein Verzeichnis und lege diese docker-compose.yml an:
version: '3.8'
services:
pve-dashboard:
image: stessmann/proxmox-unified-console:latest
container_name: puc_dashboard
restart: unless-stopped
ports:
- "8080:80"
- "8443:443" # HTTPS Port (Wichtig für NoVNC!)
volumes:
- ./data:/var/www/data
environment:
- TZ=Europe/Berlin
⚠️ Wichtig: Datenbank-Rechte setzen
Da Docker den gemappten ./data-Ordner auf dem Host oft als root anlegt, der Webserver im Container aber als www-data (User-ID 33) läuft, müssen wir dem Ordner auf dem Host-System kurz die passenden Rechte für SQLite geben. Führe nach dem Starten (docker compose up -d) diese beiden Befehle aus:
sudo chown -R 33:33 ./data
sudo chmod -R 775 ./data
Anschließend erreichst du das Dashboard unter https://<DEINE-IP>:8443. Login: admin / admin.
Tipp: Bitte ändere das Passwort direkt nach dem ersten Login über das Schlüssel-Symbol oben rechts!
4. Open Source auf GitHub
Das Projekt ist komplett Open Source und kann nach Belieben erweitert, geforkt und an eigene Bedürfnisse angepasst werden. Den kompletten Quellcode, die Dockerfiles und eine ausführliche Anleitung zur Erstellung der API-Tokens in Proxmox findet ihr in meinem GitHub-Repository:
👉 Zum GitHub Repository: Proxmox Unified Console
Viel Spaß beim Ausprobieren und Administrieren!
💬 Feedback & Diskussion 0
Kommentar hinterlassen
Noch keine Kommentare zu diesem Guide vorhanden. Sei der Erste!