docs: LAN-Zugriff auf die Web-UI dokumentieren (Firewall, IP, Mic-Caveat)

Hinweis, dass der Server bereits auf 0.0.0.0 lauscht und fuer LAN-Zugriff nur die
Firewall geoeffnet werden muss; Mikrofon braucht HTTPS/localhost (secure context).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-18 05:12:14 +02:00
commit 434a154af2

View file

@ -383,6 +383,27 @@ Das Gateway liefert unter `/` eine minimale **Web-Oberfläche** aus (`app/web/`,
kein Build): Text-Eingabe + **Mikrofon-Button** (Aufnahme im Browser → `/ws/voice` kein Build): Text-Eingabe + **Mikrofon-Button** (Aufnahme im Browser → `/ws/voice`
Antwort wird vorgelesen) und links ein Menü mit Identität/Logout/Admin. Antwort wird vorgelesen) und links ein Menü mit Identität/Logout/Admin.
### Zugriff aus dem lokalen Netz (LAN)
Der Server lauscht standardmäßig auf `0.0.0.0` (alle Interfaces). Für den Zugriff von
anderen Rechnern/Handys im LAN reichen zwei Dinge:
1. **Firewall öffnen** für den Port (Beispiel ufw, auf die eigenen LAN-Subnetze beschränkt):
```bash
sudo ufw allow from 192.168.179.0/24 to any port 8003 proto tcp comment 'voice-assistant LAN'
```
2. Im Browser des anderen Geräts die **LAN-IP** des Servers aufrufen: `http://<server-lan-ip>:8003/`.
> ⚠️ **Mikrofon nur über HTTPS/localhost:** Browser geben das Mikrofon nur in einem
> „secure context" frei. Über `http://<lan-ip>:8003` funktioniert daher der **Text-Chat**,
> aber **nicht** der Mic-Button. Für Sprache von anderen Geräten den HTTPS-Weg nutzen
> (siehe unten) — am lokalen Rechner via `http://localhost:8003` geht das Mikrofon.
> ⚠️ Bei `AUTH_ENABLED=false` kann **jeder im LAN** den Dienst anonym nutzen. Für mehr
> als vertrautes Testen Auth aktivieren bzw. den SSO-Weg wählen.
### Remote von unterwegs (HTTPS + SSO)
Für den **Remote-Betrieb** (Handy/Browser von unterwegs) hinter einem Reverse-Proxy mit Für den **Remote-Betrieb** (Handy/Browser von unterwegs) hinter einem Reverse-Proxy mit
HTTPS + SSO (z. B. YunoHost): siehe **`deploy/README.md`**. Kernpunkte: HTTPS + SSO (z. B. YunoHost): siehe **`deploy/README.md`**. Kernpunkte:
- **HTTPS ist Pflicht** — Browser geben das Mikrofon nur im „secure context" frei. - **HTTPS ist Pflicht** — Browser geben das Mikrofon nur im „secure context" frei.