Panel-API (/api/v1)
Die Panel-API richtet sich an die Browser-UI und verwendet Benutzersitzungs-JWT + RBAC-Authentifizierung.
Authentifizierung
- Die Anmeldeschnittstelle
POST /auth/login gibt access- und refresh-Token zurück
- Folgeanfragen tragen
Authorization: Bearer <access_token>
- Nach Ablauf des Access-Tokens wird es per refresh erneuert
- Anmelde-Begrenzung (Schutz vor Brute-Force); bei aktiviertem 2FA muss nach der Anmeldung zuerst
POST /auth/mfa/verify den dynamischen Code prüfen
Einheitliche Antwort
{ "code": 0, "message": "ok", "data": { } }
code ungleich 0 bedeutet einen Geschäftsfehler.
Endpunkt-Übersicht
Authentifizierung & Benutzer
| Methode |
Pfad |
Beschreibung |
| POST |
/auth/login |
Anmelden (mit Begrenzung) |
| POST |
/auth/refresh |
Token erneuern |
| POST |
/auth/logout |
Abmelden |
| POST |
/auth/mfa/verify |
MFA-Dynamikcode bei der Anmeldung prüfen |
| GET |
/auth/mfa/status |
MFA-Bindungsstatus des aktuellen Benutzers abfragen |
| POST |
/auth/mfa/setup |
MFA-Bindungs-QR-Code/Geheimnis erzeugen |
| POST |
/auth/mfa/enable |
MFA prüfen und aktivieren |
| POST |
/auth/mfa/disable |
MFA lösen |
| GET |
/profile |
Persönliches Profil (Spitzname/Avatar/E-Mail) |
| PUT |
/profile |
Persönliches Profil ändern |
| POST |
/profile/password |
Passwort ändern |
| GET/POST/PUT/DELETE |
/users |
Benutzer-CRUD |
| GET/POST/PUT/DELETE |
/roles |
Rollen-CRUD |
| GET |
/roles/groups |
Berechtigungsgruppen |
| GET |
/permissions |
Berechtigungen des aktuellen Benutzers |
Panel-Einstellungen
| Methode |
Pfad |
Beschreibung |
| GET |
/settings |
Alle nicht-sensiblen Einstellungen lesen (settings.view) |
| PUT |
/settings |
Einstellungen stapelweise aktualisieren (settings.edit) |
Sensible Elemente (jwt_secret, metrics_pass) werden nicht zurückgegeben; schreibgeschützte Elemente (jwt_secret) können nicht überschrieben werden. Details siehe Panel-Einstellungen.
Monitoring & Alarme
| Methode |
Pfad |
Beschreibung |
| GET |
/dashboard/overview |
Dashboard-Überblick |
| GET |
/dashboard/metrics |
Dashboard-Metriken |
| GET |
/system/monitor |
Monitoring-Zusammenfassung |
| CRUD |
/alert-rules |
Alarmregeln |
| GET |
/alert-events |
Alarmereignisse |
Benachrichtigungen
| Methode |
Pfad |
Beschreibung |
| GET |
/notifications |
Benachrichtigungsliste |
| GET |
/notifications/unread-count |
Anzahl ungelesener |
| PUT |
/notifications/read-all |
Alle als gelesen markieren |
| PUT |
/notifications/:id/read |
Als gelesen markieren |
| DELETE |
/notifications/:id / /notifications |
Einzelne löschen / leeren |
Ressourcenverwaltung
| Methode |
Pfad |
Beschreibung |
| CRUD |
/websites |
Websites |
| CRUD |
/databases |
Datenbanken |
| GET/POST |
/apps /app-categories |
App-Store und Kategorien |
| GET/POST |
/containers /images /volumes /networks |
Die vier Container-Ressourcen |
| GET/POST |
/files |
Dateien |
| CRUD |
/cron-jobs |
Geplante Aufgaben |
| GET |
/logs /logs/tail |
Logs |
System & Sicherheit
| Methode |
Pfad |
Beschreibung |
| GET |
/system/info /processes /ports /disks /network /users /groups /firewall |
Systemressourcen |
| GET/POST |
/security/... |
Host-Sicherheit (Baseline / FIM / Bedrohung / Firewall / Anmeldesicherheit) |
| GET |
/audit-logs /access-logs |
Audit- / Zugriffslogs |
AI & Integration
| Methode |
Pfad |
Beschreibung |
| POST |
/ai/chat |
AI-Dialog (Funktionsaufruf) |
| POST |
/ai/chat/stream |
AI-Dialog (Streaming SSE) |
| GET/POST/PUT/DELETE |
/mcp |
MCP-Konfiguration |
| GET/POST/DELETE |
/skills u. a. |
AI-Skills (SkillHub-Suche/Installation/Upload) |
Terminal
| Methode |
Pfad |
Beschreibung |
| GET |
/terminal |
WebSocket-Terminal (Authentifizierung per query token) |
| GET |
/containers/:id/exec |
Container-WebSocket-Terminal |
Hinweise
- Alle Schreiboperationen werden durch RBAC-Berechtigungspunkte gesteuert (z. B.
website.create, container.edit, settings.edit)
- Kritische Operationen werden im Audit-Log protokolliert, angemeldete Anfragen im Zugriffslog