editorconfig-checker correctly flagged this in CI (Lint workflow, run 107) — every other tracked file already ends with one per .editorconfig. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
355 lines
4.9 KiB
Markdown
355 lines
4.9 KiB
Markdown
# 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
|
||
|
||
---
|