fix(admin): Phase 0 — Log & Restart reparieren, Status auf Wahrheit
Wurzel-Ursache: Dienst läuft als System-Dienst, Code nutzte aber systemctl/journalctl --user → Log leer, Restart wirkungslos. - Log-WS (admin.py): --user → System-journalctl. Erfordert voice in Gruppe systemd-journal (siehe DEPLOYMENT.md 2.7.1). - Restart (admin_llm.py): --user → sudo -n systemctl restart über eng begrenzte sudoers-Regel; is-active ebenfalls auf System-Dienst. - Status (app.js): irrelevante Ollama/llama.cpp-Karte + Backend-Wechsel entfernt; zeigt jetzt echtes aktives LLM-Modell (aus Runtime-Config); Neustart in eigener "Wartung"-Karte (zieht in Phase 3 nach Konfiguration). - DEPLOYMENT.md 2.7.1: sudoers-Regel + journal-Gruppe dokumentiert. Live verifiziert: Log lesbar, Restart ohne Passwort, /health nach 3s zurück. Tests: 214 passed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7a0cf0abb4
commit
f3f9151894
4 changed files with 58 additions and 90 deletions
|
|
@ -932,6 +932,32 @@ sudo systemctl daemon-reload
|
|||
sudo systemctl enable --now voice-assistant
|
||||
```
|
||||
|
||||
#### 2.7.1 Admin-Rechte: Log lesen & Gateway neu starten
|
||||
|
||||
Der Dienst läuft als **System**-Dienst unter dem User `voice`. Damit das Admin-Panel
|
||||
(a) den Live-Log anzeigen und (b) das Gateway neu starten kann, braucht `voice` zwei
|
||||
eng begrenzte Rechte. **Ohne diese beiden Schritte bleiben der Log-Tab leer und der
|
||||
Neustart-Button wirkungslos.**
|
||||
|
||||
```bash
|
||||
# (a) Log lesen: voice darf das System-Journal lesen
|
||||
sudo usermod -aG systemd-journal voice
|
||||
|
||||
# (b) Neustart: voice darf AUSSCHLIESSLICH den eigenen Dienst neu starten
|
||||
sudo tee /etc/sudoers.d/voice-assistant > /dev/null <<'SUDO'
|
||||
# Erlaubt dem voice-User ausschließlich den Neustart des eigenen Dienstes
|
||||
# (für den "Gateway neu starten"-Button im Admin-Panel). Sonst nichts.
|
||||
voice ALL=(root) NOPASSWD: /usr/bin/systemctl restart voice-assistant.service
|
||||
SUDO
|
||||
sudo chmod 0440 /etc/sudoers.d/voice-assistant
|
||||
sudo visudo -cf /etc/sudoers.d/voice-assistant # validieren
|
||||
|
||||
# Dienst neu starten, damit der Prozess die neue Gruppe übernimmt
|
||||
sudo systemctl restart voice-assistant
|
||||
```
|
||||
|
||||
Rückgängig: `sudo gpasswd -d voice systemd-journal` bzw. `sudo rm /etc/sudoers.d/voice-assistant`.
|
||||
|
||||
### 2.8 nginx-Konfiguration `/etc/nginx/sites-available/voice.jamulix.de`
|
||||
|
||||
**Wichtig:** `X-Forwarded-For` muss leer gesetzt werden (`""`), da uvicorn
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue