#795: Updates aus der WebUI ueber den Instanzmanager

Das Update-Angebot gab es nur im Desktop-Fenster. Der Manager prueft jetzt
selbst und spielt ein: erst alle Instanzen geordnet anhalten, dann
- ohne systemd: update-agent mit --wait-for-pid und --restart,
- unter systemd: clawddotnet-update.service anstossen (Vorlage unter
  deploy/systemd), damit der agent keinen zweiten Manager neben dem
  Dienst startet (DC SETUP_INTEGRATION_GUIDE 4A).
Fehlt die Unit, wird nichts angehalten; scheitert die Uebergabe, kommen
die Instanzen wieder hoch. Anleitung in InstanceSetupGuide Abschnitt 8.

Nebenbei: Sprachpaket wird vor dem Kopf geladen (rohe Schluessel im Kopf).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-10-02 20:15:18 +02:00
co-authored by Claude Opus 5.5
parent 4e41fc12d7
commit d4b7f34200
12 changed files with 630 additions and 12 deletions
+33
View File
@@ -609,3 +609,36 @@ Multi-Agent-Setup für automatisierte Web-Recherche mit Berichterstattung.
- [ ] Logs geprüft — keine Tool-Fehler?
- [ ] Scheduler aktiviert
- [ ] Nach 24h: TokenUsage.json prüfen, Kosten validieren
---
## 8. Betrieb unter Linux: Dienst und Updates (#795)
Der Instanzmanager läuft als systemd-Benutzerdienst; die Instanzen startet er selbst. Vorlagen
liegen unter `deploy/systemd/`:
| Datei | Wofür |
|---|---|
| `clawddotnet-manager.service` | Der Manager als Dienst (`Restart=on-failure`, `KillMode=process`) |
| `clawddotnet-update.service` | Einmal-Unit für Updates: Manager stoppen → `update-agent` → Manager starten |
```bash
mkdir -p ~/.config/systemd/user
cp deploy/systemd/*.service ~/.config/systemd/user/
# Pfade (%h/clawddotnet) und Kanal (--channel) in beiden Dateien anpassen
install -m 600 /dev/null ~/.config/clawddotnet/update.env
echo 'DC_LICENSE_KEY=<Lizenzschlüssel>' >> ~/.config/clawddotnet/update.env
systemctl --user daemon-reload
systemctl --user enable --now clawddotnet-manager.service
loginctl enable-linger "$USER"
```
**Update aus der Weboberfläche** (Einstellungen → Instanzmanager → Update): Der Manager hält
erst alle Instanzen geordnet an und stößt dann `clawddotnet-update.service` an. Die Unit stoppt
den Dienst, spielt das Update ein und startet ihn wieder — auch wenn das Update scheitert
(`ExecStopPost`). Fehlt die Unit, hält der Manager nichts an und sagt, was fehlt.
Warum nicht der update-agent allein: Aus dem Manager gestartet, würde er den Manager nach dem
Update selbst neu starten — an systemd vorbei, als zweiten Prozess neben dem Dienst
(Deploymentcenter, SETUP_INTEGRATION_GUIDE §4A). Ohne systemd (Windows, von Hand gestartet)
ist genau das der richtige Weg, und den geht der Manager dann auch.