Zum Hauptinhalt springen

Fehlerbehebung

Beginne bei der fehlerhaften Ebene: Browser, Frontend, Backend, Ollama, Anbieter-Plugin oder Bereitstellungsnetzwerk.

Schnellprüfungen

# App branch and local changes
git status

# Backend process liveness
curl http://localhost:3001/health/live

# Backend dependency readiness (SQLite, schema, and writable data storage)
curl http://localhost:3001/health/ready

# Ollama health
curl http://localhost:11434/api/tags

# Installed Ollama models
ollama list

In der Entwicklung läuft das Frontend meist unter http://localhost:5173 und das Backend unter http://localhost:3001. Der gepackte Ablauf npx libre-webui stellt die App unter http://localhost:8080 bereit.

Libre WebUI startet nicht

Node und Abhängigkeiten prüfen

node --version
npm install
npm run dev

Node.js 22.22 oder neuer ist erforderlich.

Port bereits belegt

lsof -i :3001
lsof -i :5173
lsof -i :8080

Beende den alten Prozess oder konfiguriere einen anderen Port.

Backend kann keine Daten schreiben

Das Backend speichert Daten bei gesetztem DATA_DIR dort, sonst unter backend/data. Quellstarts lösen ein relatives DATA_DIR vom Backendverzeichnis statt dem Shellverzeichnis auf. Daher wählt DATA_DIR=./data den Pfad backend/data, während das historisch unterstützte DATA_DIR=./backend/data den Pfad backend/backend/data wählt. Stelle Schreibbarkeit sicher. Ohne DATA_DIR behält Libre das historische Verzeichnis, wenn es der einzige Speicher ist. Enthalten beide Daten, stoppe Libre, sichere beide und wähle oder migriere bewusst; Libre führt abweichende Datenbanken nie zusammen oder kopiert sie.

Die Zustandsendpunkte unterscheiden einen laufenden Prozess von einer nutzbaren Anwendung:

  • /health und /health/live geben 200 zurück, solange das Backend HTTP ausliefern kann. Optionale Modellanbieter beeinflussen dies nicht.
  • /health/ready gibt 503 zurück, wenn eine erforderliche Datenbank, ein Schema, Speicher oder eine Plattformabhängigkeit fehlt. Optionale Anbieter werden nicht abgewartet; die öffentliche Antwort lässt Fehler und interne Details aus.
  • /health/deep führt SQLite-Integritäts- und Fremdschlüsselprüfungen in einem begrenzten Worker aus und fasst optionale serverseitige Anbieterprüfungen wie Ollama zusammen. Ein Ausfall erscheint als Warnung und macht Pflichtabhängigkeiten nicht unbereit. Der Endpunkt erfordert ein aktuelles Administrator-Bearer-Token und ist für häufige Orchestratorprüfungen ungeeignet.
curl -H "Authorization: Bearer $LIBRE_ADMIN_TOKEN" \
http://localhost:3001/health/deep

Browser erreicht das Backend nicht

In der lokalen Entwicklung nutzt das Frontend VITE_API_BASE_URL, falls gesetzt, sonst das Entwicklungsbackend.

Beispiel für Frontend-.env:

VITE_API_BASE_URL=http://localhost:3001/api
VITE_WS_BASE_URL=ws://localhost:3001

VITE_WS_BASE_URL ist optional, dient aber bei gesetztem Wert als gemeinsame Basis für Chat- und Work-Terminal-Sockets. Verwende eine absolute ws:- oder wss:-URL; ein Pfadpräfix wie wss://example.com/libre wird unterstützt. Keine Zugangsdaten, Abfragen oder Fragmente hinzufügen. Starte oder baue das Frontend nach Vite-Änderungen neu.

Beispiel für Backend-.env:

CORS_ORIGIN=http://localhost:5173,http://127.0.0.1:5173

Richte bei Telefon-, LAN- oder Tailscale-Zugriff den Browser nicht auf localhost, sondern auf die LAN-/Tailscale-IP des Rechners und starte den Entwicklungsserver mit Hostbindung:

npm run dev:host

Dies stellt das Frontend auf Port 8080 bereit und leitet API- und WebSocket-Verkehr an das lokale Backend auf Port 3001 weiter. Nur Port 8080 muss vom anderen Gerät aus erreichbar sein. Ist VITE_API_BASE_URL oder VITE_WS_BASE_URL in frontend/.env gesetzt, stelle sicher, dass diese URLs vom anderen Gerät aus erreichbar sind, oder entferne sie, um den Proxy des Entwicklungsservers zu verwenden.

Chat streamt hinter einem Reverseproxy nicht

Typischerweise werden Nachrichten gesendet, aber keine Antwort angezeigt, während die Browserkonsole einen WebSocket-Fehler meldet. Prüfe, ob der Proxy WebSocket-Upgrades erlaubt und langlebige Verbindungen nicht schließt.

Wenn einer der Werte gesetzt ist, werden Browserupgrades mit Origin gegen CORS_ORIGIN und BASE_URL geprüft. Setze für Remotezugriff mindestens einen; ohne beide bleibt der Filter für lokale Entwicklung offen. Electron und andere Nichtbrowser dürfen Origin auslassen, müssen aber Authorization gegen ein kurzlebiges Einmalticket tauschen. Halte das Backend hinter TLS und denselben Zugriffskontrollen wie die HTTP-API.

Erlaube für einen öffentlichen Host dessen Browserursprung:

services:
libre-webui:
environment:
CORS_ORIGIN: https://chat.example.com
BASE_URL: https://chat.example.com

Die nginx- und Caddy-Beispiele nehmen an, dass der Proxy auf dem Docker-Host läuft, wo Compose Libre WebUI auf 8080 veröffentlicht. Tritt der Proxy dem Compose-Netz bei, verwende libre-webui:3001 als Upstream.

nginx

nginx muss die Upgrade-Kopfzeilen ausdrücklich weiterreichen. Das lange Lesezeitlimit hält eine sonst inaktive Chatverbindung während der Modellarbeit offen.

location /ws {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
}

Lade nginx nach Prüfung mit nginx -t neu.

Caddy

Caddys reverse_proxy unterstützt WebSockets direkt:

chat.example.com {
reverse_proxy 127.0.0.1:8080
}

Traefik

Traefik verarbeitet Upgrades standardmäßig. Teilt sein Docker-Anbieter das Netz, genügen normale Router- und Dienstlabels:

labels:
- 'traefik.enable=true'
- 'traefik.http.routers.libre-webui.rule=Host(`chat.example.com`)'
- 'traefik.http.routers.libre-webui.entrypoints=websecure'
- 'traefik.http.routers.libre-webui.tls=true'
- 'traefik.http.services.libre-webui.loadbalancer.server.port=3001'

Bricht ein verbundener Stream später ab, prüfe Inaktivitätslimits vor Traefik. Erzwingt Traefik das Limit, passe transport.respondingTimeouts des Einstiegspunkts an.

Ollama wird nicht erkannt

Ollama-Ausführung bestätigen

curl http://localhost:11434/api/tags

Eigene Ollama-URL konfigurieren

Backend-.env:

OLLAMA_BASE_URL=http://localhost:11434

Läuft Libre WebUI in Docker und Ollama auf dem Host, verwende die externe Compose-Datei oder richte OLLAMA_BASE_URL auf eine vom Container erreichbare Hostadresse.

Probleme beim Modellabruf

Zuerst im Terminal abrufen

ollama pull gemma4:12b

Schlägt dies fehl, liegt das Problem außerhalb von Libre WebUI.

Cloud-Modelle

Nutze den Cloudfilter im Modellmanager für Ollama Cloud. Libre WebUI normalisiert nötige Suffixe, sodass :cloud bei unterstützten Einträgen nicht manuell nötig ist.

Benutzer kann keine Modelle abrufen

Administratoren können Abrufe für normale Benutzer deaktivieren. Prüfe die Einstellungen, wenn Modelle sichtbar, aber nicht installierbar sind.

Chat ist langsam oder schlägt fehl

  • Verwende ein kleineres Modell.
  • Prüfe geladene Modelle mit ollama ps.
  • Verringere die Kontextlänge.
  • Verringere maximale Tokens bei langen Antworten.
  • Stelle sicher, dass das Modell in RAM/VRAM passt.
  • Prüfe bei Plugins Schlüssel und Anbieterlimit.

OpenAI-Bilderzeugung ist nicht verfügbar

  • Aktiviere den gebündelten OpenAI-Anbieter. Speichere einen Schlüssel für den aktuellen Benutzer oder konfiguriere den vertrauenswürdigen OPENAI_API_KEY-Fallback.
  • Öffne die Bildeinstellungen, aktiviere die Erzeugung und wähle ein angebotenes GPT Image-Modell.
  • Bevorzuge gpt-image-2. Ältere IDs bleiben nur zur Kompatibilität und sind upstream veraltet.
  • Lasse image_endpoint leer, sofern du keinen kompatiblen Bildendpunkt betreibst. /responses oder /chat/completions können Image-API-Anfragen nicht verarbeiten.
  • Prüfe bei Ablehnung trotz gültigem Schlüssel und Kontingent die Berechtigung der API-Organisation.

Verfügbarkeit wird mit den Zugangsdaten des aktuellen Benutzers oder dem vertrauenswürdigen Fallback bewertet. Ein Schlüssel eines anderen Kontos zeigt keine Bildmodelle an.

Probleme mit Anbieterendpunkten

Erhält ein OpenAI-kompatibler Anbieter Anfragen am falschen Pfad, prüfe Einstellungen → Plugins:

  • Wähle Chat Completions für /chat/completions oder Responses für /responses.
  • Gib die API-Wurzel wie https://provider.example/v1 als Basis-URL ein.
  • Lasse API-Pfad für den Modusstandard leer oder gib einen Pfad mit führendem Schrägstrich ein.
  • Ein wirklich eigener alter vollständiger Endpunkt hat Vorrang; lösche ihn für Base URL und API Path. Werte, die nur dem alten Manifeststandard entsprechen, werden nach einem Upgrade ignoriert. Ein Suffix /chat/completions oder /responses bestimmt außerdem das Anfrageformat.

Importiertes JSON unterstützt OpenAI Chat Completions, OpenAI Responses, Anthropic oder Gemini. Proprietäre Nutzlasten, Streamereignisse, Werkzeugaufrufe oder Antworten benötigen einen Backendadapter; nur den Endpunkt zu ändern übersetzt sie nicht.

URLs dürfen HTTP oder HTTPS verwenden. HTTP sendet Zugangsdaten und Verkehr unverschlüsselt, daher nur für ein selbst gehostetes Gateway im vertrauenswürdigen Netz und möglichst HTTPS. Basis-URLs dürfen keine Abfrage oder Fragmente enthalten; relative Pfade keine literalen oder mehrfach kodierten Traversalsegmente, Abfragen oder Fragmente. Übermäßige Kodierung, die sich nicht stabilisiert, wird abgewiesen.

Die Modellaktualisierung ersetzt bekannte Suffixe, einschließlich /responses, durch /models. Aktivierung, Aktualisierung und gespeicherte Überschreibungen verwenden Endpunkt und Schlüssel des aktuellen Benutzers. Speichern oder Entfernen des Schlüssels und Zurücksetzen der Verbindung aktualisieren ebenfalls; nicht zugehörige Generierungsparameter nicht. IDs werden pro Benutzer gespeichert und überschreiben kein gemeinsames JSON. Ohne unterstützte abgeleitete Route konfiguriere model_map.

Anbieteranfragen folgen absichtlich keinen HTTP-Weiterleitungen, einschließlich Ermittlung, Chat, Work, Bilder, Einbettungen und Text zu Sprache. Konfiguriere das endgültige Ziel. So springt eine Authorization-Kopfzeile nicht an ein ungeprüftes Ziel.

Meldet Work eine Routingänderung während eines Laufs, starte nach Abschluss der Änderung einen neuen. Work stoppt vor der nächsten Anfrage, damit alter Werkzeugzustand nicht über eine andere Modus-, Endpunkt- oder Schlüsselgrenze gesendet wird.

Anfragen stammen vom Backend, daher ist localhost im Container der Libre WebUI-Container, nicht der Host. Verwende in Compose oder Kubernetes Dienst-DNS, etwa http://ai-gateway:8080/v1. Nutze http://host.docker.internal:8080/v1 nur, wenn die Laufzeit diesen Alias anbietet. HTTP bleibt Klartext.

Auch Bildmodelle, Überschreibungen und Schlüssel werden für den aktuellen Benutzer aufgelöst. Prüfe die Authentifizierung, wenn Einstellungen eines anderen Kontos verwendet zu werden scheinen.

Zusätzlich gelten diese Regeln:

  • Melde dich als Administrator an, um Routing zu ändern. Definitionen und Verbindungen sind Instanzkonfiguration; Benutzer speichern Generierungswerte, Zugangsdaten und Aktivierung.
  • Gib bei endpoint oder api_url die vollständige Operations-URL ein, etwa https://provider.example/v1/chat/completions. Eine Wurzel gehört nur in base_url zusammen mit api_mode und optionalem api_path.
  • Absolute HTTP- und HTTPS-URLs sind erlaubt. HTTP nur in einem vertrauenswürdigen selbst gehosteten Netz, da Schlüssel, Prompts und Antworten unverschlüsselt sind.
  • Eine leere Überschreibung verwendet die Definition. Eine explizit fehlerhafte oder unsichere wird abgewiesen; Libre fällt nicht still zurück.
  • Ein Bereitstellungsumgebungsschlüssel wird nur verwendet, wenn eine nicht überschattete gebündelte Definition vertrauenswürdige Wurzel, Authentifizierung, Fähigkeitsendpunkte/-selektoren und Routingstandards behält. Importierte, beschreibbare mit gebündelter ID und eigene Routen benötigen Zugangsdaten desselben Kontos. Libre meldet den Anbieter als nicht verfügbar und überspringt Ermittlung, wenn nur der Umgebungsschlüssel existiert.
  • Alte benutzerdefinierte Definitionen stehen unter Quarantäne, weil frühere Releases keine Administratorherkunft erfassten. Reimportiere als Administrator und lasse jeden Benutzer erneut aktivieren. Direkte JSON-Änderung stellt erneut unter Quarantäne; nutze Installation oder Aktualisierung.
  • Gespeicherte Zugangsdaten sind an Route, Authentifizierungsvertrag, Definition und Quelle gebunden. Speichere nach Änderungen erneut. Alte ungebundene Daten migrieren nur auf einer exakten gebündelten Route.
  • Importierte Plugins können api_url als vollständigen Alias verwenden; endpoint gewinnt. Setze bei anderer Ermittlung models_endpoint vollständig; es wird geprüft und folgt keinen Redirects.
  • Aktiviere das Plugin nach Speichern von Endpunkt und Zugangsdaten. Aktivierung leitet /models ab und nutzt Benutzerdaten, außer models_endpoint ist gesetzt. Speichern oder Rücksetzen aktualisiert ebenfalls und wartet vor dem Neuladen. Aktivierung ist kontospezifisch.
  • Wähle unter Einstellungen → Plugins Modelle aktualisieren. Die schreibgeschützte Tabelle zeigt konfigurierte oder ermittelte IDs. Ein vorübergehender Fehler behält den alten Katalog oder model_map; ein abgeschlossener Check beweist keinen gesunden Remoteendpunkt.
  • Automatische Ermittlung braucht ein kompatibles data-Array. Kataloge werden pro Benutzer gespeichert. Normale Aktivierung behält den alten; eine Verbindungsänderung löscht ihn zuerst und ein Fehler nutzt model_map.
  • Bildverfügbarkeit und Schlüssel sind ebenfalls benutzerspezifisch; prüfe das authentifizierte Konto.
  • Hatte ein hochgestuftes Nichtadministratorkonto einen Routingwert, verwende Zurücksetzen. Der ignorierte Wert und ermittelte Modelle werden entfernt, damit sie nach Rollenänderung nicht wiederkehren.
  • Anfragen stammen vom Backend; localhost im Container meint den Container.
  • Anfragen folgen keinen Redirects; konfiguriere die finale URL.

Chat verwendet den falschen Anbieter oder zeigt ihn als nicht verfügbar

Dieselbe Modell-ID kann in Ollama und mehreren Plugins vorkommen. Aktuelle Sitzungen und Standards speichern Anbieter und rohe ID, sodass gleichnamige Einträge getrennt bleiben.

  • Bei „nicht verfügbar“ reaktiviere oder installiere das genaue Plugin und prüfe seine Modellkarte.
  • Wurde es absichtlich entfernt, wähle ausdrücklich Ersatz. Libre leitet eine exakte Auswahl nicht auf einen gleichnamigen Anbieter um.
  • Alte Sitzungen können keine Anbietermetadaten haben. Sie behalten Namensrouting, weil der ursprüngliche Anbieter nicht ableitbar ist, und erscheinen als „Anbieter nicht aufgezeichnet“. Wähle erneut, um künftige Anfragen zu fixieren.
  • Personas bleiben persona:<id>. Neue Auswahlen speichern Ollama als Backend; historische bleiben kompatibel.

Work-Probleme

Work fehlt oder meldet Laufzeit nicht verfügbar

Work benötigt ein authentifiziertes Konto mit Zugriff – Administrator oder aktiver Benutzer nach Öffnung für alle – und eine für das Backend erreichbare Containerlaufzeit:

docker info
docker version

Prüfe beim Docker-Backend, ob Docker läuft und der Systembenutzer WORK_DOCKER_COMMAND ausführen kann. Eine npx-Installation installiert Docker nicht. Fehlt die Laufzeit, bleibt die übrige Anwendung verfügbar und Libre führt Modellbefehle nicht auf dem Host aus.

Repository-Compose aktiviert Work durch Einbinden des Host-Sockets. Aktiviere unter Kubernetes Pod/PVC mit work.enabled=true; binde keinen Knotensocket ein. Meldet Compose weiter Runtime unavailable, nennt die Work-Seite den Fall:

MeldungUrsache und Lösung
The "docker" CLI is not installed…Eigenes Image ohne docker-cli. Offizielles Image oder WORK_DOCKER_COMMAND auf ein CLI setzen.
No Docker daemon is reachable…Socketeinbindung entfernt oder Daemon gestoppt. Einbindung wiederherstellen und Docker starten.
The Docker socket is mounted but…cannot openSocketgruppe unterscheidet sich. DOCKER_GID in .env setzen und Container neu erstellen.
Work-Bildschirm oder -Audio schließt mit WebSocket 1006 und meldet screen is unreachableDas Backend im Container ruft sein eigenes Loopback auf. Unter Docker Desktop das mitgelieferte WORK_DOCKER_PUBLISHED_HOST=host.docker.internal verwenden; unter nativer Docker Engine zusätzlich WORK_PREVIEW_BIND auf das nicht öffentliche Docker-Bridge-Gateway setzen und Libre WebUI neu erstellen.

Lies die Socketgruppe in einem Container, da macOS einen anderen Wert meldet:

echo "DOCKER_GID=$(docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
alpine stat -c '%g' /var/run/docker.sock)" >> .env
docker compose up -d --force-recreate

Der Socket gewährt Root gleichwertige Hostkontrolle; siehe Work: isolierte Arbeitsbereiche.

Modell unterstützt keine Werkzeuge

Work benötigt ein werkzeugfähiges Chatmodell. Wähle bei Ollama ein installiertes Modell mit Fähigkeit tools. Bei einem Plugin:

  • Chat- oder Completion-Plugin ist aktiv.
  • Gewähltes Modell steht in seiner Liste.
  • API-Schlüssel ist für den aktuellen Administrator verfügbar.
  • Exaktes Modell unterstützt Werkzeugaufrufe.

Libre WebUI leitet einen fehlgeschlagenen Lauf nicht still an einen anderen Anbieter.

Eine Work-Anfrage gibt HTTP 429 zurück

Die Instanz hat ein Aufgaben- oder Laufzeitlimit erreicht. Standardmäßig sind zwei containergestützte Aufgaben instanzweit und eine pro Benutzer erlaubt. Eine laufende Vorschau belegt ebenfalls Kapazität. Warte, stoppe eine Vorschau oder prüfe WORK_MAX_ACTIVE_RUNTIMES_* und WORK_MAX_TASKS_*.

Paketinstallation oder Netzwerkzugriff schlägt fehl

Neue Aufgaben nutzen Docker-Brückennetz für Paketdownloads und Vorschauen. Prüfe Docker-DNS, Proxy, Registry und Befehlsausgabe unter Aktivität. Libre bindet keine Host-SSH-Schlüssel, Cloudzugangsdaten, Browserprofile oder Docker-Sockets in Aufgabencontainer ein.

Work-Vorschau startet nicht

  • Server muss an 0.0.0.0 auf WORK_PREVIEW_PORT (4173 standardmäßig) binden.
  • Lasse den optionalen Befehl leer, um ein dev-Skript in package.json oder eine einfache index.html, auch in einer einzelnen Unteranwendung, zu erkennen.
  • Bei mehreren Apps oder keinem Einstieg gib den ausdrücklichen Entwicklungsbefehl ein. Er startet in /workspace; nutze cd <app-directory> && ... für Unterverzeichnisse.
  • Erweitere Fehlerdetails zur Startausgabe.
  • Stoppe eine bestehende Vorschau vor einem anderen Containerbefehl.

Vorschau-URLs verwenden einen dynamischen Loopback-Port. Browser und Backend müssen daher auf demselben Rechner laufen. Ein Browser an einem Remote-Backend erreicht dessen Loopback nicht, und eine HTTPS-Seite kann HTTP-Vorschauen als gemischten Inhalt blockieren.

Datei lässt sich nicht öffnen oder speichern

Die Datei-API akzeptiert UTF-8-Text bis 2 MB. Hat sich eine Datei seit dem Öffnen geändert, lade sie vor dem Speichern neu. Formatierung ist auf unterstützte Typen unter 100,000 Zeichen und 4,000 Zeilen begrenzt; Syntaxhervorhebung pausiert bei großen Dateien.

Ungespeicherte Änderungen bleiben als Browserentwurf, ersetzen aber nicht das Speichern im persistenten Arbeitsbereich.

Aufgabe oder Vorschau wurde gestoppt

Das Stoppen eines Laufs oder einer Vorschau sowie ein Libre-Neustart beenden Wegwerfprozesse, erhalten aber das benannte Volume. Öffne die Aufgabe und starte die Vorschau erneut. Löschen entfernt Aufgabe und Arbeitsbereich nach Bestätigung dauerhaft.

Anmelde- und Registrierungsprobleme

Erster Benutzer ist kein Administrator

Nur das erste Konto einer frischen Datenbank wird Administrator. Bestehende Datenbanken behalten Rollen.

JWT-Fehler

Setze ein stabiles Produktionsgeheimnis:

JWT_SECRET=replace-with-a-long-random-secret

Ein Wechsel von JWT_SECRET entwertet bestehende Sitzungen.

Turnstile blockiert Registrierung

Turnstile ist nur mit beiden Schlüsseln aktiv:

TURNSTILE_SITE_KEY=...
TURNSTILE_SECRET_KEY=...

Prüfe, ob Siteschlüssel und Domain zusammenpassen und der Geheimschlüssel gültig ist.

OAuth-Weiterleitungen schlagen fehl

Setze Callbacks im Anbieterdashboard und Backend-.env:

BASE_URL=https://your-domain.example
GITHUB_CALLBACK_URL=https://your-domain.example/api/auth/oauth/github/callback
HUGGINGFACE_CALLBACK_URL=https://your-domain.example/api/auth/oauth/huggingface/callback

Probleme mit Dokumentenchat

Libre WebUI akzeptiert PDF, Office (DOCX/PPTX/XLSX), Markdown, HTML, Code und CSV bis 10 MB.

Wenn Stichwortsuche funktioniert, semantischer Abruf aber nicht:

  1. Installiere ein Modell wie nomic-embed-text.
  2. Aktiviere Einbettungen in Einstellungen.
  3. Erstelle Einbettungen über Dokumenteinstellungen oder API neu.
ollama pull nomic-embed-text

Stichwortsuche funktioniert auch bei deaktivierten Einbettungen.

Probleme mit Artefaktvorschau

Bitte bei Spielen oder interaktivem HTML um eine vollständige eigenständige HTML-Datei mit Inline-CSS und -JavaScript.

Benötigt das Artefakt Tastatureingabe:

  • Zuerst in die Vorschau klicken.
  • Mit Öffnen in einem eigenen Tab ausführen.
  • Nicht auf lokale Dateien setzen, die nicht in der Antwort enthalten sind.

Libre WebUI kann gängige Codeblöcke index.html + CSS + JavaScript bündeln, aber eigenständiges HTML ist am zuverlässigsten.

Docker-Probleme

Container erreicht Ollama nicht

Nutze die externe Ollama-Compose-Datei, wenn Ollama nicht im selben Stack ist:

docker compose -f docker-compose.external-ollama.yml up -d

Daten bleiben nicht erhalten

Binde ein persistentes Datenvolume ein und setze bei Bedarf DATA_DIR. Der Verschlüsselungsschlüssel wird bei DATA_DIR oder Docker persistent gespeichert.

Lokale Daten zurücksetzen

Stoppe zuerst die App. Sichere und entferne das verwendete Datenverzeichnis. Standardmäßig liegen Entwicklungsdaten unter backend/data.

cp -R backend/data backend/data.backup
rm -rf backend/data

Starte das Backend neu und erstelle ein frisches Konto.

Weiterhin blockiert?

Öffne ein Issue mit:

  • Libre WebUI-Version und Commit
  • Installationsmethode
  • Betriebssystem
  • Node.js-Version
  • Ollama-Version
  • Docker-Version und docker info bei Work-Problemen
  • Backendprotokollen um den Fehler
  • Browserkonsolenfehlern
  • Exaktem Modell oder Anbieter
  • Work-Aktivitätsausgabe bei fehlgeschlagener Aufgabe oder Vorschau