Lets users create containers from the WebUI (image/name/ports/volumes/ env/network mode/restart policy/privileged) instead of only managing existing ones, and adds a Templates panel to save/reuse those configs as Unraid-Docker-compatible template XML, including browsing and importing the host's own existing Docker Manager templates directly. Also fixes bugs found via live testing along the way: container names with spaces/invalid characters now get a clear client- and server-side error with a suggested fix instead of podman's raw API error, the New Container modal's backdrop no longer renders transparent (was being appended outside the .podman-plugin CSS scope), and modal buttons now have real visual hierarchy (ghost/primary/danger) after Unraid's own site-wide button theme was found to override plain single-class rules. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4.9 KiB
Unraid Podman Plugin – Anforderungen an die WebUI
Du bist ein Senior UX Designer und Senior Full-Stack Entwickler mit Erfahrung in Unraid, Podman und Self-Hosting.
Entwirf eine moderne, performante und vollständig in Unraid integrierte WebUI für ein natives Podman-Plugin.
Die Oberfläche soll sich optisch und funktional wie ein offizieller Bestandteil von Unraid anfühlen und keine Fremdanwendung darstellen.
Ziel
Die WebUI soll alle Funktionen bieten, die Administratoren für die Verwaltung von Podman benötigen, ohne auf die Kommandozeile angewiesen zu sein.
Die Bedienung soll sowohl für Einsteiger als auch für erfahrene Nutzer geeignet sein.
Allgemeine Anforderungen
- Responsives Design
- Dark-Mode kompatibel
- Passend zum Unraid-Design
- Sehr schnelle Ladezeiten
- Modular aufgebaut
- Erweiterbar
- AJAX/WebSocket statt kompletter Seitenreloads
- Suchfunktion auf allen Listen
- Sortierung aller Tabellen
- Filtermöglichkeiten
- Mehrfachauswahl
- Kontextmenüs
- Bestätigungsdialoge
- Benachrichtigungen (Success, Warning, Error)
- Ladeanimationen
- Fortschrittsanzeigen
- Automatische Aktualisierung wichtiger Statusinformationen
- Mehrsprachigkeit vorbereiten
Dashboard
Das Dashboard soll auf einen Blick den Zustand der gesamten Podman-Umgebung zeigen.
Anzeigen:
- Anzahl Container
- Laufende Container
- Gestoppte Container
- Pods
- Images
- Netzwerke
- Volumes
- CPU-Auslastung
- RAM-Auslastung
- Storage-Auslastung
- Schreib-/Lese-I/O
- Netzwerkdurchsatz
- Podman-Version
- Conmon-Version
- crun-Version
- Netavark-Version
- Plugin-Version
Zusätzlich:
- Letzte Ereignisse
- Fehler
- Warnungen
- Updates verfügbar
- Container mit Problemen
- Container ohne Healthcheck
- Nicht verwendete Images
- Nicht verwendete Volumes
- Nicht verwendete Netzwerke
Containerverwaltung
Für jeden Container:
- Start
- Stop
- Restart
- Pause
- Resume
- Kill
- Löschen
- Umbenennen
- Duplizieren
- Exportieren
- Commit als Image
- Snapshot (falls unterstützt)
Informationen:
- Name
- Image
- Status
- Uptime
- CPU
- RAM
- PID
- IP-Adresse
- Netzwerk
- Ports
- Volumes
- Labels
- Environment
- Health Status
- Restart Policy
Tabs:
- Übersicht
- Logs
- Konsole (TTY)
- Ressourcen
- Netzwerke
- Volumes
- Environment
- Mounts
- Labels
- Events
- Inspect (JSON)
- Healthcheck-Verlauf
Pod-Verwaltung
- Pod erstellen
- Pod löschen
- Container hinzufügen
- Container entfernen
- Pod starten
- Pod stoppen
- Neustarten
- Logs
- Portübersicht
- Netzwerkübersicht
Image-Verwaltung
- Images anzeigen
- Pull
- Push
- Taggen
- Löschen
- Prune
- Registry auswählen
- Größe anzeigen
- Erstellungsdatum
- Layer anzeigen
- Historie anzeigen
- Sicherheitsinformationen (wenn verfügbar)
Registry-Unterstützung
Unterstützung für:
- Docker Hub
- GitHub Container Registry
- Quay.io
- GitLab Registry
- Harbor
- Eigene Registries
Funktionen:
- Login
- Logout
- Zugangsdaten speichern
- TLS-Konfiguration
- Unsichere Registry optional aktivieren
Netzwerke
- Netzwerke erstellen
- Löschen
- Bearbeiten
- Verbundene Container anzeigen
- Treiber anzeigen
- Subnetz
- Gateway
- DNS
- MTU
- VLAN (falls unterstützt)
Volumes
- Erstellen
- Löschen
- Mountpunkte anzeigen
- Speicherverbrauch
- Zugeordnete Container
- Backup starten
- Wiederherstellen
- Exportieren
Compose-Unterstützung
Unterstützung für:
- podman compose
Funktionen:
- Compose-Datei importieren
- Stack erstellen
- Start
- Stop
- Neustart
- Logs
- Bearbeiten
- Aktualisieren
- Löschen
- YAML-Editor mit Syntax-Highlighting
- Validierung vor dem Speichern
Template-Unterstützung
Kompatibilität mit Unraid-Templates.
Unterstützung für:
- XML importieren
- XML exportieren
- Template erstellen
- Template bearbeiten
- Icons
- Kategorien
- Repository-Links
Container-Erstellung
Wizard mit mehreren Schritten:
- Name
- Image auswählen
- Registry auswählen
- Ports
- Volumes
- Environment
- Labels
- Geräte
- GPU
- USB
- Netzwerk
- Ressourcen
- Healthcheck
- Restart Policy
- Zusammenfassung
- Validierung
- Container erzeugen
Logs
- Live-Logs
- Suchfunktion
- Filter
- Zeitfilter
- Auto-Scroll
- Download
- Kopieren
- ANSI-Farben korrekt darstellen
Konsole
Browser-Terminal mit:
- Vollbildmodus
- Kopieren/Einfügen
- Mehrere Sitzungen
- Größenanpassung
- UTF-8-Unterstützung
Ressourcenverwaltung
Container-Limits bearbeiten:
- CPU
- RAM
- Swap
- PIDs
- Block-I/O
- Geräte
- HugePages (falls unterstützt)
Visualisierung:
- CPU
- RAM
- Netzwerk
- Festplatten-I/O
Ereignisse
Live-Event-Ansicht:
- Container gestartet
- Container gestoppt
- Image geladen
- Fehler
- Netzwerkänderungen
- Volumeänderungen
Filter nach:
- Container
- Typ
- Zeitraum
- Schweregrad
Einstellungen
Plugin-Einstellungen:
- Storage-Pfad
- API
- Socket
- Registry-Einstellungen
- Standardnetzwerk
- Standard-Runtime
- Logging
- Autostart
- Updates
- Debugmodus