Replace Deck video generation with selected external service lifecycle

This commit is contained in:
Mikei386
2026-09-29 14:24:52 +02:00
parent 71e8345606
commit badc7701fa
23 changed files with 219 additions and 636 deletions
+24
View File
@@ -77,3 +77,27 @@ einem frischen Debian-Host steht noch aus; auf Athena wird dafür nichts ersetzt
API: `GET /api/v1/docker`, `POST /api/v1/docker/install` mit `{"confirm": true}`.
Referenz: https://docs.docker.com/engine/install/debian/
## Videodienste
Zusätzlich zum labelgefilterten Inventar kann der root-eigene Helfer explizit registrierte Videodienste starten und stoppen. Registrierung erfolgt einmalig in `/var/lib/athena-deck-docker/video-services.json` (root-eigen, 0600). Beispiel ohne Zugangsdaten:
```json
[
{
"id": "ltx",
"name": "LTX Desktop",
"container_id": "VOLLSTAENDIGE_64_STELLIGE_DOCKER_ID",
"api_url": "http://127.0.0.1:41955",
"health_url": "http://127.0.0.1:41955/health",
"token_file": "/etc/mike-ai/secrets/ltx-remote-token",
"message": "Originale LTX-API über den vorhandenen LTX-Athena-SSH-Tunnel."
}
]
```
Keine Secrets werden an Deck übertragen. Der Helfer akzeptiert nur `video-status`, `video-start` und `video-stop` für registrierte IDs. Container-Neuerstellung erfordert bewusste Aktualisierung der ID. Healthchecks folgen keinen Redirects. Die GUI erlaubt nur die Auswahl registrierter Dienste, keine freien Containerbefehle, Zieladressen oder Secret-Dateipfade.
Deck speichert lediglich die aktive Dienst-ID. Ein Wechsel ist nur bei gestoppten Videodiensten möglich. API-Adresse und Protokoll gehören zum Dienst; beim Wechsel auf eine andere Engine ändert sich auch deren Original-API. Client-Kompatibilität wird nicht übersetzt. Die Integration setzt einen vorhandenen, eingerichteten Dienst voraus; sie installiert keine beliebige Video-Engine automatisch.
Interne Verwaltungs-API: GET `/api/v1/video`, POST `/api/v1/video/service` mit `{ "id": "ltx" }`, POST `/api/v1/video/mode` mit `{ "mode": "video" }` oder `llm`. Bestehender Sitzungsschutz gilt. Start/Stop laufen asynchron und zeigen Phase sowie API-Bereitschaft.