deploy: Gateway als systemd-User-Dienst (Vorlage + Anleitung)

Vorlage deploy/voice-assistant.user.service + Anleitung (loginctl enable-linger,
systemctl --user). Laeuft ohne root und ueberlebt Logout/Reboot; .env wird aus dem
WorkingDirectory gelesen. va_llm-Container kommt via Docker restart-policy hoch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-18 09:09:23 +02:00
commit 77026bff1b
2 changed files with 40 additions and 0 deletions

View file

@ -21,6 +21,19 @@ Topologie: `https://va.linix.de` → nginx@YunoHost (TLS, SSO) → über LAN →
> **direkte Quell-IP** (= der Proxy). Würde uvicorn den Client aus
> `X-Forwarded-For` überschreiben, schlüge der Proxy-IP-Check fehl.
**Dauerhaft laufen lassen (systemd-User-Dienst, ohne root):** Vorlage
`deploy/voice-assistant.user.service`. Die App liest `.env` aus dem WorkingDirectory.
```bash
cp deploy/voice-assistant.user.service ~/.config/systemd/user/voice-assistant.service
loginctl enable-linger "$USER" # sudo -> ueberlebt Logout/Reboot
systemctl --user daemon-reload
systemctl --user enable --now voice-assistant
systemctl --user status voice-assistant
journalctl --user -u voice-assistant -f # Logs
```
> Der llama.cpp-Container `va_llm` läuft separat via Docker (`restart unless-stopped`)
> und kommt nach einem Reboot von selbst hoch.
## 2. Drei Sicherheits-Pflichten
1. **Bind:** Gateway nur an die LAN-IP (Schritt 1).
2. **Firewall:** Port 8003 der GPU-Box **nur** von der linix.de-IP erlauben, z. B.: