🧪 Tech-Lab & How-To Base von Sebastian Teßmann • Zu den Produktivservices: tessmann-digital.de

📚 Archiv

Supply Chain Security: Docker-Updates absichern mit Trivy und Watchtower CVE-2026-98432: Warum ein Kernel-Update allein nicht reicht (und echtes System-Hardening) Home Assistant vs. Alexa: Das echte Smart Home (inkl. Pi-Setup, HACS & FRITZ!Box) Zero-Day abgewehrt: Die Anatomie der PHP-Lücke (CVE-2026-109618) und der ultimative Docker-Schutz Zero-Bloat Hosting: Nginx Proxy Manager, Apache & Fail2ban sicher unter Docker vereinen Checkmk Community Edition auf Debian 13: Der ultimative Guide (Installation, Distributed Monitoring, Custom Plugins & Gotify) Debian 13 vs. Windows Server im Enterprise-Einsatz: Performance, Härtung & Top 20 CLI-Befehle Cyberkrieg gegen den Mittelstand: Unsere Migration auf Proxmox, OPNsense & Zero-Trust Open Source vs. Payware: Der ehrliche Vergleich für KMU & IT-Infrastrukturen Bye-bye VMware: Mein Weg über Hyper-V zu Proxmox VE Tutorial: High-Performance Cloud mit Seafile auf Debian 13 & Proxmox VE Tutorial: Portainer EE auf CE downgraden & sicherer Host-Umzug Tutorial: CorePlan via Docker deployen (HTTPS out-of-the-box) Tutorial: Eigenes Docker Image bauen (Apache, PHP, Auto-SSL & HTTP zu HTTPS Redirect) Proxmox Unified Console (PUC): Das All-in-One Dashboard für PVE, PBS & PMG Eigener Bitcoin Solo Pool: Full Node (bitcoind), public-pool Backend & individuelles PHP-Dashboard im Docker-Stack OPNsense: HAProxy als Reverse Proxy mit Let's Encrypt SSL-Offloading & SNI / ACL-Routing Mobiles Arbeiten & Kanzlei-Zugriff: WireGuard VPN auf der FRITZ!Box, Windows & iPhone inkl. NAS-SMB-Mount Tschüss Windows, hallo Pinguin: Der ehrliche Leitfaden für den Linux-Umstieg (und warum CachyOS mein Gaming rettete) Eigener Bitcoin Solo-Mining-Pool: Public-Pool & Pruned Full Node im Docker-Homelab Gaming auf Linux: Kompletter Umstieg von Windows zu CachyOS (Kernel, Steam, Heroic & MangoHud) Docker Container absichern: Rootless, Read-Only Filesystems & Linux Capabilities Portainer CE auf Docker: Schritt-für-Schritt Setup mit persistenten Volumes & Hardening Docker Engine & Compose V2 auf Debian/Ubuntu: Saubere Installation via Official Repository E-Mail Deliverability: SPF, DKIM & DMARC richtig konfigurieren (Schritt-für-Schritt) Proxmox VE & OPNsense: IPv6 /64 Subnetting (/80 WAN Transit & /96 LAN Segmentierung) OPNsense auf Proxmox VE: Vollständiges Setup von ISO-Download bis Hardening & DNSmasq Proxmox VE auf Debian 12 (Bookworm) installieren & Routed Network (vmbr0/vmbr1) einrichten

Proxmox Unified Console (PUC): Das All-in-One Dashboard für PVE, PBS & PMG

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.

Proxmox Unified Console Dashboard

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!