3.2 KiB
Web-Chat (Open WebUI)
Chat im Browser, ohne Client-Installation. Open WebUI läuft im selben Stack und spricht intern direkt mit llama-swap. Nach außen liegt es hinter Caddy auf Port 8801 (WEBUI_PORT). Dort greifen derselbe IP-Filter (ALLOWED_NETS) und ufw wie bei der API. Einen API-Key braucht der Browser nicht, Open WebUI hat einen eigenen Login.
| Zugang | URL |
|---|---|
| lokal | http://127.0.0.1:8801 |
| LAN | http://192.168.178.72:8801 |
| NetBird | http://alegab-pc.vpn.local:8801 |
./scripts/start.sh zeigt die aktuellen Adressen an.
Erster Start
- Einmalig den Port in der Firewall öffnen:
sudo ./scripts/firewall-ufw.sh - Die URL öffnen und sofort einen Account anlegen. Der erste Account wird Admin.
- Weitere Accounts landen als „ausstehend“ und müssen unter Admin-Bereich → Benutzer freigeschaltet werden. Wer niemanden sonst zulassen will: Admin-Bereich → Einstellungen → Allgemein → Registrierung abschalten.
Was vorkonfiguriert ist
| Funktion | Modell | Hinweis |
|---|---|---|
| Chat | qwen3.5-35b-a3b, glm-4.7-flash, qwen3.5-9b |
Modellwechsel lädt das Modell in llama-swap um (dauert einige Sekunden) |
| Dokumente / RAG (Datei in den Chat ziehen) | nomic-embed |
|
| Spracheingabe (Mikrofon) | whisper |
nur über HTTPS oder localhost, siehe unten |
| Bilder (Bild-Knopf im Chat) | z-image |
verdrängt das Chat-Modell; der nächste Chat lädt es neu |
Die Auswahlliste zeigt nur die Chat-Modelle. qwen2.5-coder-1.5b, nomic-embed, whisper und z-image sind in llama-swap/config.yaml als unlisted: true markiert, weil sie im Chat-Feld nur einen Fehler liefern würden. Bilder erzeugt man über den Bild-Knopf im Chat, nicht über die Modellauswahl.
Die Chat-Modelle laufen mit -np 1, also mit einer Sitzung gleichzeitig. Wenn opencode gerade arbeitet, wartet der Web-Chat (und umgekehrt). Titel-Generierung nutzt dasselbe Modell und hängt sich hinten an. Autocomplete- und Folgefragen-Vorschläge sind deshalb abgeschaltet.
Einstellungen ändern
Die Umgebungsvariablen in docker-compose.yml gelten nur beim allerersten Start. Danach speichert Open WebUI alles in seiner Datenbank. Spätere Änderungen macht man im Admin-Bereich → Einstellungen (Verbindungen, Dokumente, Audio, Bilder).
Die Daten (Accounts, Chats, Dokumente) liegen im Docker-Volume localai_open-webui.
- Sichern:
docker run --rm -v localai_open-webui:/d -v "$PWD":/b alpine tar czf /b/open-webui-backup.tgz -C /d . - Komplett zurücksetzen:
docker compose down && docker volume rm localai_open-webui
Spracheingabe von anderen Rechnern
Browser geben das Mikrofon nur auf HTTPS-Seiten oder localhost frei. Über http://<server>:8801 bleibt der Mikrofon-Knopf daher wirkungslos. Für Chrome/Chromium gibt es eine Ausnahme pro Adresse:
chrome://flags/#unsafely-treat-insecure-origin-as-secure → http://alegab-pc.vpn.local:8801 eintragen, neu starten.
Dateien hochladen (Audio-Datei transkribieren) funktioniert auch ohne HTTPS.
Update
OPEN_WEBUI_TAG in .env anheben (Releases: https://github.com/open-webui/open-webui/releases), dann docker compose up -d. Open WebUI migriert die Datenbank selbst. Vorher sichern.