Docker Daemon Fehler Mac
Adrachin:
Ich versuche Docker vom Terminal MAC aus zu starten. Wie behebe ich diesen Fehler?
tsc@macbook-pro-1 ~ % docker run -d -p 3000:8080 —gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data —name open-webui —restart always ghcr.io/open-webui/open-webui:ollama
$docker: Cannot connect to the Docker daemon at unix:///Users/tsc/.docker/run/docker.sock. Is the docker daemon running?.
See ‘docker run —help’.
LiquidGPT:
Der Fehler Cannot connect to the Docker daemon at unix:///Users/tsc/.docker/run/docker.sock deutet darauf hin, dass der Docker-Daemon nicht läuft oder nicht ordnungsgemäß konfiguriert ist. Hier sind einige Schritte zur Fehlerbehebung:
1️⃣ Prüfe, ob Docker läuft
Führe im Terminal folgenden Befehl aus:
docker info
- Falls Docker läuft, zeigt dieser Befehl Informationen über den Docker-Daemon.
- Falls Docker nicht läuft, bekommst du eine Fehlermeldung.
Falls Docker nicht läuft, starte es manuell:
open /Applications/Docker.app
Lass Docker einige Sekunden hochfahren und überprüfe es erneut mit docker info.
2️⃣ Starte Docker manuell vom Terminal
Falls Docker nicht automatisch startet, kannst du es mit folgendem Befehl versuchen:
colima start
Falls du stattdessen Docker Desktop verwendest, öffne einfach die Docker-App über Spotlight (Cmd + Space → "Docker" → Enter).
3️⃣ Prüfe den Docker-Daemon
Falls Docker laufen sollte, aber immer noch nicht erreichbar ist, überprüfe den Docker-Daemon mit:
ps aux | grep docker
Falls der Docker-Daemon nicht läuft, kannst du ihn manuell starten:
sudo systemctl start docker
Falls dieser Befehl auf macOS nicht funktioniert, starte Docker einfach über die Docker Desktop App.
4️⃣ Prüfe die Berechtigungen des Docker-Sockets
Falls Docker läuft, aber dein Nutzer keinen Zugriff hat, überprüfe die Berechtigungen:
ls -lah /var/run/docker.sock
Falls der Socket nicht den richtigen Besitzer hat, kannst du die Berechtigungen anpassen:
sudo chown $USER /var/run/docker.sock
Oder füge dich zur Docker-Gruppe hinzu (falls nötig):
sudo usermod -aG docker $USER
Dann den Terminal neu starten oder einmal ab- und anmelden.
5️⃣ Prüfe, ob colima oder docker korrekt installiert ist
Falls du Colima (eine leichtgewichtige Docker-Alternative für macOS) nutzt, musst du möglicherweise sicherstellen, dass es korrekt eingerichtet ist:
brew install colima
colima start
Falls du Docker Desktop verwendest, stelle sicher, dass du die neueste Version hast:
brew install --cask docker
open /Applications/Docker.app
6️⃣ Überprüfe die GPU-Unterstützung
Da dein Befehl --gpus=all enthält, stelle sicher, dass dein Docker GPU-Support hat:
docker run --gpus all nvidia/cuda:11.0-base nvidia-smi
Falls du eine Fehlermeldung erhältst, musst du möglicherweise NVIDIA CUDA und die Docker GPU-Unterstützung für macOS konfigurieren.
Zusammenfassung
- Starte Docker Desktop:
open /Applications/Docker.app - Überprüfe Docker mit:
docker info - Falls nötig, starte den Daemon:
colima start - Falls nötig, korrigiere die Berechtigungen:
sudo chown $USER /var/run/docker.sock
Falls das Problem weiterhin besteht, gib mir das genaue Ergebnis von:
docker info
Dann kann ich dir gezielter helfen! 🚀
Adrachin:
tsc@macbook-pro-1 ~ % docker info
Client:
Version: 27.5.1
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Ask Gordon - Docker Agent (Docker Inc.)
Version: v0.7.3
Path: /Users/tsc/.docker/cli-plugins/docker-ai
buildx: Docker Buildx (Docker Inc.)
Version: v0.20.1-desktop.2
Path: /Users/tsc/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.32.4-desktop.1
Path: /Users/tsc/.docker/cli-plugins/docker-compose
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.38
Path: /Users/tsc/.docker/cli-plugins/docker-debug
desktop: Docker Desktop commands (Beta) (Docker Inc.)
Version: v0.1.4
Path: /Users/tsc/.docker/cli-plugins/docker-desktop
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.2
Path: /Users/tsc/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.27
Path: /Users/tsc/.docker/cli-plugins/docker-extension
feedback: Provide feedback, right in your terminal! (Docker Inc.)
Version: v1.0.5
Path: /Users/tsc/.docker/cli-plugins/docker-feedback
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: /Users/tsc/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/tsc/.docker/cli-plugins/docker-sbom
scout: Docker Scout (Docker Inc.)
Version: v1.16.1
Path: /Users/tsc/.docker/cli-plugins/docker-scout
Server:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 1
Server Version: 27.5.1
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc version: v1.1.12-0-g51d5e946
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.12.5-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 15
Total Memory: 46.96GiB
Name: docker-desktop
ID: 4cb32250-ee85-44f7-8361-2dcd7b1b6ffc
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=unix:///Users/tsc/Library/Containers/com.docker.docker/Data/docker-cli.sock
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: daemon is not using the default seccomp profile
tsc@macbook-pro-1 ~ %
LiquidGPT:
Dein docker info-Output zeigt, dass Docker auf deinem Mac läuft. Allerdings gibt es ein Problem mit der Socket-Verbindung (Cannot connect to the Docker daemon at unix:///Users/tsc/.docker/run/docker.sock).
Hier sind einige mögliche Lösungen:
1️⃣ Überprüfe die Docker Desktop App
Da dein Server:-Abschnitt korrekt angezeigt wird, bedeutet das, dass Docker läuft. Aber es gibt möglicherweise ein Problem mit dem Client-Socket.
- Öffne Docker Desktop manuell:
open /Applications/Docker.app - Warte einige Sekunden und versuche es erneut mit:
docker ps
Falls der Fehler bleibt, beende Docker und starte es erneut:
killall Docker
open /Applications/Docker.app
2️⃣ Setze die korrekte Docker-Umgebung
Da dein Docker auf desktop-linux läuft, könnte es sein, dass dein Terminal nicht die richtige Socket-Datei verwendet. Setze die Umgebungsvariable explizit:
export DOCKER_HOST=unix:///Users/tsc/Library/Containers/com.docker.docker/Data/docker-cli.sock
Teste dann nochmal:
docker ps
Falls das funktioniert, kannst du diesen Export-Befehl dauerhaft in dein ~/.zshrc oder ~/.bashrc schreiben:
echo 'export DOCKER_HOST=unix:///Users/tsc/Library/Containers/com.docker.docker/Data/docker-cli.sock' >> ~/.zshrc
source ~/.zshrc
3️⃣ Setze die Berechtigungen für die Docker-Socket-Datei
Falls es ein Berechtigungsproblem gibt, überprüfe die Datei:
ls -lah /Users/tsc/.docker/run/docker.sock
Falls du keinen Zugriff hast, kannst du die Berechtigungen setzen:
sudo chown $USER /Users/tsc/.docker/run/docker.sock
chmod 666 /Users/tsc/.docker/run/docker.sock
Danach erneut testen:
docker ps
4️⃣ Nutze Colima (Alternative)
Falls Docker Desktop Probleme macht, kannst du stattdessen Colima nutzen (leichter und schneller auf macOS):
- Installiere Colima:
brew install colima - Starte Colima:
colima start - Teste, ob Docker jetzt läuft:
docker ps
Falls das funktioniert, kannst du dauerhaft auf Colima umsteigen.
5️⃣ Prüfe deine Docker-Netzwerkeinstellungen
Manchmal wird Docker durch Proxy-Einstellungen blockiert. Da dein docker info anzeigt:
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
Falls du keinen Proxy nutzt, kannst du versuchen, diese Umgebungsvariablen zu deaktivieren:
unset HTTP_PROXY
unset HTTPS_PROXY
unset NO_PROXY
Dann starte Docker neu:
killall Docker
open /Applications/Docker.app
Zusammenfassung der Lösungswege
- Docker Desktop manuell öffnen & prüfen:
open /Applications/Docker.app - Docker-Socket-Variable setzen:
export DOCKER_HOST=unix:///Users/tsc/Library/Containers/com.docker.docker/Data/docker-cli.sock - Berechtigungen für Docker-Socket prüfen:
sudo chown $USER /Users/tsc/.docker/run/docker.sock chmod 666 /Users/tsc/.docker/run/docker.sock - Colima als Alternative testen:
brew install colima colima start - Proxy-Variablen zurücksetzen:
unset HTTP_PROXY unset HTTPS_PROXY unset NO_PROXY
Probiere diese Schritte aus und sag mir, welcher funktioniert! 🚀
Adrachin:
Die Docker Desktop App läuft. Ich kann sie sehen und auch Container Images starten. Ich möchte Ollama verwenden MIT GPU support. Dafür habe ich keine Option in Docker gefunden weshalb ich es vom Terminal aus versuchen wollte.
LiquidGPT:
Alles klar! Dein Docker Desktop läuft bereits, aber du möchtest GPU-Support für Ollama aktivieren, was auf macOS mit Docker nicht so einfach ist. Standardmäßig unterstützt Docker Desktop für macOS keine native GPU-Beschleunigung, da es in einer virtuellen Maschine (LinuxKit) läuft.
🔥 Lösung: Ollama mit GPU-Support auf macOS
Da --gpus=all unter Docker Desktop auf macOS nicht funktioniert, musst du eine Alternative nutzen. Hier sind die besten Optionen:
✅ 1. Verwenden von Ollama ohne Docker (Native Installation)
Da Docker auf macOS keine native GPU-Unterstützung hat, ist die beste Lösung, Ollama direkt auf dem Mac zu installieren, ohne Docker:
brew install ollama
Dann kannst du Ollama direkt ausführen:
ollama run llama2
Diese Methode nutzt die integrierte GPU-Unterstützung von macOS und ist wesentlich schneller als Docker.
✅ 2. Docker mit GPU in einer Linux-VM auf macOS verwenden
Falls du Ollama unbedingt in Docker mit GPU-Support laufen lassen möchtest, brauchst du eine richtige Linux-VM mit GPU-Passthrough.
Hier sind die Schritte:
1️⃣ Installiere Multipass (leichtgewichtige Ubuntu-VM mit GPU-Support)
brew install multipass
2️⃣ Starte eine Ubuntu-VM mit GPU-Zugriff
multipass launch --name ollama-vm --mem 8G --disk 20G
multipass shell ollama-vm
3️⃣ Installiere Docker innerhalb der VM
sudo apt update && sudo apt install -y docker.io
sudo usermod -aG docker $USER
newgrp docker
4️⃣ Starte Ollama in der VM mit GPU-Support
docker run --gpus=all -d -p 3000:8080 --name open-webui ghcr.io/open-webui/open-webui:ollama
Jetzt hast du eine echte Linux-Umgebung mit GPU-Unterstützung und kannst Ollama mit Docker verwenden.
✅ 3. Colima (leichte Docker-Alternative) mit GPU-Support verwenden
Falls du Docker nicht in einer VM laufen lassen möchtest, kannst du stattdessen Colima verwenden (eine Alternative zu Docker für macOS):
1️⃣ Installiere Colima
brew install colima
2️⃣ Starte Colima mit GPU-Support
colima start --gpu
3️⃣ Nutze Docker mit Colima
docker run --gpus=all -d -p 3000:8080 --name open-webui ghcr.io/open-webui/open-webui:ollama
Colima funktioniert wie Docker Desktop, bietet aber bessere Performance für macOS.
🔥 Welche Lösung ist die beste?
| Methode | GPU-Unterstützung | Empfohlen für |
|---|---|---|
Ollama direkt installieren (brew install ollama) |
✅ Ja | Beste Performance auf Mac |
| Docker mit Multipass-VM | ✅ Ja | Falls Docker unbedingt nötig ist |
| Colima statt Docker Desktop | 🔸 Teilweise | Falls du keine VM nutzen willst |
👉 Mein Tipp: Falls du nicht unbedingt Docker brauchst, installiere Ollama nativ mit brew install ollama. Falls Docker zwingend erforderlich ist, verwende Multipass mit einer Linux-VM.
Sag mir, welche Methode du ausprobieren willst, dann helfe ich dir weiter! 🚀🔥
Adrachin:
Ich sehe Ollama schon im terminal:
tsc@macbook-pro-1 ~ % ollama list
NAME ID SIZE MODIFIED
deepseek-r1:1.5b a42b25d8c10a 1.1 GB 49 minutes ago
tsc@macbook-pro-1 ~ %
LiquidGPT:
Super! Dein Ollama ist bereits installiert und läuft nativ auf deinem Mac. Das bedeutet, dass du keinen Docker-Container für Ollama brauchst, sondern es direkt verwenden kannst. ✅
Da du Ollama nativ laufen hast, können wir nun Open WebUI direkt mit diesem lokalen Ollama verbinden. Dafür brauchst du keinen Docker-Container mit GPU-Support, sondern kannst Open WebUI einfach als normalen Prozess starten.
🚀 Schritt 1: Open WebUI ohne Docker starten
Da Ollama bereits nativ läuft, kannst du einfach Open WebUI direkt auf deinem Mac ausführen.
1️⃣ Klone das Open WebUI Repository
Falls du es noch nicht hast:
git clone https://github.com/open-webui/open-webui.git
cd open-webui
2️⃣ Starte Open WebUI mit Ollama
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Falls du npm nicht hast, installiere es mit:
brew install node
Danach kannst du Open WebUI im Browser unter http://localhost:3000 aufrufen. 🎉
✅ Alternative: Open WebUI mit Docker starten
Falls du Open WebUI doch lieber mit Docker starten möchtest, aber ohne Ollama im Container:
docker run -d -p 3000:3000 -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 --name open-webui ghcr.io/open-webui/open-webui:main
💡 Erklärung:
OLLAMA_API_BASE_URL=http://host.docker.internal:11434sorgt dafür, dass Docker mit deinem nativen Ollama kommuniziert.- Kein
--gpus=allnotwendig, weil Ollama direkt auf deiner Mac-GPU läuft.
🔥 Welche Methode solltest du nehmen?
| Methode | Performance | Einfachheit |
|---|---|---|
Direkt mit npm starten |
🔥 Schnellste (keine Virtualisierung) | ✅ Einfach |
| Docker mit Ollama API | 🐢 Etwas langsamer (Docker-Overhead) | 🔸 Etwas komplizierter |
👉 Mein Tipp: Starte Open WebUI ohne Docker (npm run dev), da dein Ollama bereits nativ läuft.
Falls du Fragen hast oder Unterstützung brauchst, sag Bescheid! 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
open-webui@0.5.20 dev
npm run pyodide:fetch && vite dev —host
open-webui@0.5.20 pyodide:fetch
node scripts/prepare-pyodide.js
node:internal/modules/package_json_reader:267
throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base), null);
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find package ‘pyodide’ imported from /Users/tsc/open-webui/scripts/prepare-pyodide.js
at Object.getPackageJSONURL (node:internal/modules/package_json_reader:267:9)
at packageResolve (node:internal/modules/esm/resolve:768:81)
at moduleResolve (node:internal/modules/esm/resolve:854:18)
at defaultResolve (node:internal/modules/esm/resolve:984:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:736:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:660:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:643:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:279:38)
at ModuleJob._link (node:internal/modules/esm/module_job:137:49) {
code: ‘ERR_MODULE_NOT_FOUND’
}
Node.js v23.9.0
npm notice
npm notice New major version of npm available! 10.9.2 -> 11.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.2.0
npm notice To update run: npm install -g npm@11.2.0
npm notice
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Der Fehler “Cannot find package ‘pyodide’” bedeutet, dass Open WebUI eine fehlende Abhängigkeit hat. Lass uns das schnell fixen! 🚀
✅ Fix: Installiere alle notwendigen Pakete
Geh in das open-webui Verzeichnis und führe folgende Befehle aus:
cd open-webui
npm install
Falls es zu Fehlern kommt, versuche es mit einem Force-Update:
npm install --force
Danach kannst du Open WebUI erneut starten:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
🛠 Falls das nicht reicht: Pyodide manuell installieren
Falls nach npm install der Fehler immer noch besteht, kannst du Pyodide manuell installieren:
npm install pyodide
Dann erneut probieren:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
📌 Zusätzlicher Fix: Node.js Version prüfen
Dein Log zeigt:
Node.js v23.9.0
npm notice New major version of npm available! 10.9.2 -> 11.2.0
Falls Node.js zu neu ist, kann es Kompatibilitätsprobleme geben. Die empfohlene Version ist Node.js 18 oder 20.
Falls nötig, installiere Node.js 20 mit:
brew install node@20
brew link --overwrite --force node@20
Dann nochmal probieren:
npm install
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
🚀 Zusammenfassung
- Installiere alle Pakete:
npm install - Falls nötig, Pyodide manuell installieren:
npm install pyodide - Falls Node.js zu neu ist, downgrade auf Version 20:
brew install node@20 brew link --overwrite --force node@20 - Starte Open WebUI erneut:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Probiere das aus und sag mir, ob es geklappt hat! 🚀🔥
Adrachin:
Immer langsam mit den jungen Pferden. Ich hatte gestern zum Testen die ollama und docker app verwendet. Und auch eine terminal Version von ollama installiert. Ziel ist es jetzt eine saubere ollama Version im Terminal zu installieren und zu konfigurieren und das webUI ebenfalls vom terminal aus zu installieren, zu konfigurieren und zu pflegen. dazu muss ich erst mal wissen wo sich die ollama terminal version befindet.
LiquidGPT:
Alles klar, wir machen das Schritt für Schritt und sorgen für eine saubere Installation von Ollama und Open WebUI im Terminal! 🚀
🛠 Schritt 1: Prüfen, wo Ollama installiert ist
Um herauszufinden, wo sich deine aktuelle Ollama-Installation befindet, führe folgenden Befehl aus:
which ollama
Das zeigt den Pfad zur ausführbaren Datei, z. B.:
/usr/local/bin/ollama
oder
/opt/homebrew/bin/ollama
Falls du detailliertere Infos brauchst:
type ollama
Falls du sie über Homebrew installiert hast:
brew list ollama
Falls du wissen willst, ob noch andere Versionen existieren:
find / -name "ollama" 2>/dev/null
(Das kann ein bisschen dauern, da es das ganze Dateisystem durchsucht.)
🛠 Schritt 2: Alte Ollama-Version entfernen (Falls nötig)
Falls du Ollama bereinigen willst, entferne es mit:
brew uninstall ollama
Falls du es ohne Homebrew installiert hast:
sudo rm -rf /usr/local/bin/ollama
sudo rm -rf /opt/homebrew/bin/ollama
Falls du Docker-Ollama getestet hast, lösche den Container und das Image:
docker stop ollama
docker rm ollama
docker rmi ollama
Nun ist dein System frei von alten Ollama-Installationen.
🛠 Schritt 3: Saubere Installation von Ollama (Terminal-Version)
Jetzt installieren wir Ollama erneut, aber nur die Terminal-Version, ohne Docker:
brew install ollama
Falls du Homebrew noch nicht hast:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Nach der Installation teste, ob Ollama korrekt läuft:
ollama --version
ollama list
Falls du Probleme hast, überprüfe, ob Ollama wirklich installiert ist:
which ollama
🛠 Schritt 4: Open WebUI im Terminal installieren
Jetzt installieren wir Open WebUI direkt im Terminal, ohne Docker.
🔹 1. Repository klonen
git clone https://github.com/open-webui/open-webui.git
cd open-webui
🔹 2. Abhängigkeiten installieren
npm install
Falls npm nicht installiert ist:
brew install node
🔹 3. Open WebUI mit Ollama verbinden
Starte Open WebUI so, dass es auf dein Terminal-Ollama zugreift:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Jetzt kannst du Open WebUI über deinen Browser aufrufen:
👉 http://localhost:3000
🎯 Zusammenfassung
- Prüfe, wo Ollama installiert ist:
which ollama - Alte Versionen entfernen:
brew uninstall ollama - Saubere Installation von Ollama (Terminal-Version):
brew install ollama - Open WebUI ohne Docker installieren:
git clone https://github.com/open-webui/open-webui.git cd open-webui npm install - WebUI mit Terminal-Ollama verbinden:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
🎯 Ergebnis:
✅ Saubere Ollama-Installation im Terminal
✅ Open WebUI läuft im Terminal, ohne Docker
✅ Einfache Verwaltung & Updates über Homebrew und Git
Teste das und sag mir, ob alles sauber läuft! 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % which ollama
/usr/local/bin/ollama
LiquidGPT:
Perfekt! Deine Ollama Terminal-Version befindet sich unter:
/usr/local/bin/ollama
Das bedeutet, dass Ollama über Homebrew oder eine manuelle Installation in /usr/local/bin/ installiert wurde. Jetzt hast du die Wahl:
✅ 1. Ollama sauber entfernen (Falls nötig)
Falls du eine komplette Neuinstallation möchtest, entferne die aktuelle Version:
brew uninstall ollama
Falls Homebrew es nicht erkennt, kannst du es manuell entfernen:
sudo rm -rf /usr/local/bin/ollama
sudo rm -rf ~/.ollama
Danach prüfen, ob es wirklich weg ist:
which ollama # Sollte nichts mehr ausgeben
ollama list # Sollte einen "command not found"-Fehler zeigen
✅ 2. Ollama sauber neu installieren
Jetzt installiere es frisch über Homebrew:
brew install ollama
Nach der Installation prüfen:
ollama --version
ollama list
Falls du keine Modelle mehr hast, lade z. B. Llama 3:
ollama pull llama3
✅ 3. Open WebUI mit dieser Ollama-Version verbinden
Jetzt kannst du Open WebUI mit deinem Terminal-Ollama verknüpfen.
Falls du Open WebUI noch nicht installiert hast:
git clone https://github.com/open-webui/open-webui.git
cd open-webui
npm install
Dann Open WebUI mit Ollama starten:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Jetzt kannst du WebUI im Browser öffnen:
👉 http://localhost:3000
🎯 Ergebnis
✅ Ollama ist jetzt sauber und ohne Docker installiert
✅ Open WebUI läuft im Terminal und verbindet sich mit Ollama
✅ Kein Docker-Overhead, keine unnötigen Hintergrundprozesse
Das sollte jetzt funktionieren! Falls es noch Probleme gibt, sag mir Bescheid! 🚀🔥
Adrachin:
Gibt es im terminal eine Möglichkeit die gestrige Befehlsfolge anzuzeigen?
LiquidGPT:
Ja, du kannst im Terminal die gesamte Befehls-Historie anzeigen und durchsuchen! Hier sind einige Möglichkeiten:
✅ 1. Alle früheren Befehle anzeigen
history
Das zeigt eine Liste aller bisherigen Befehle mit Nummerierung.
Falls die Liste zu lang ist, kannst du es auf die letzten 50 Befehle begrenzen:
history | tail -n 50
Falls du es in einer Datei speichern willst:
history > my_history.txt
✅ 2. Nach bestimmten Befehlen suchen
Falls du nur Befehle mit “docker” sehen willst:
history | grep docker
Falls du nach “ollama” suchst:
history | grep ollama
Falls du die letzten 10 ollama-Befehle sehen willst:
history | grep ollama | tail -n 10
✅ 3. Durch die Historie mit der Suchfunktion scrollen
Drücke Ctrl + R, dann kannst du nach früheren Befehlen suchen!
1️⃣ Drücke Ctrl + R
2️⃣ Tippe z. B. ollama
3️⃣ Mit Enter führst du den gefundenen Befehl erneut aus
4️⃣ Falls du weitersuchen willst, drücke wieder Ctrl + R
✅ 4. Einen alten Befehl erneut ausführen
Falls du z. B. den Befehl Nummer 1234 aus der Historie erneut ausführen willst:
!1234
Oder um den letzten “ollama”-Befehl nochmal auszuführen:
!ollama
✅ 5. Logdateien für vergangene Befehle durchsuchen
Falls du eine tiefere Analyse brauchst, schau in die Shell-History-Dateien:
Für zsh (Standard auf macOS):
cat ~/.zsh_history
Falls du bash benutzt:
cat ~/.bash_history
Um nach “docker” in der Datei zu suchen:
grep "docker" ~/.zsh_history
🎯 Zusammenfassung
history→ Zeigt alle bisherigen Befehlehistory | grep <keyword>→ Zeigt nur bestimmte BefehleCtrl + R→ Interaktive Suche!1234→ Führt einen bestimmten Befehl erneut auscat ~/.zsh_history→ Zeigt komplette Shell-History
Falls du einen bestimmten Befehl suchst, probier history | grep <keyword>! 🚀🔥
Adrachin:
Da ollama ja schon installiert ist sehe ich keine Notwendigkeit das zu löschen und wieder zu installieren. Es ist ja auch schon model installiert:
tsc@macbook-pro-1 open-webui % ollama list
NAME ID SIZE MODIFIED
deepseek-r1:1.5b a42b25d8c10a 1.1 GB About an hour ago
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Perfekt! Da Ollama bereits installiert und funktionsfähig ist, lassen wir es so und kümmern uns nur um die Open WebUI-Installation und Konfiguration im Terminal. 🎯
✅ Schritt 1: Open WebUI sauber installieren
Falls du es noch nicht hast, klone das Repository:
git clone https://github.com/open-webui/open-webui.git
cd open-webui
Falls du Open WebUI schon hast, stell sicher, dass du im richtigen Verzeichnis bist:
cd open-webui
✅ Schritt 2: Alle notwendigen Pakete installieren
Führe folgende Befehle aus, um alle Abhängigkeiten herunterzuladen:
npm install
Falls npm nicht installiert ist, installiere es mit:
brew install node
Danach erneut:
npm install
✅ Schritt 3: Open WebUI mit Ollama verbinden
Da dein Ollama bereits nativ läuft, müssen wir Open WebUI nur mitteilen, wo Ollama erreichbar ist.
Starte Open WebUI mit:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Jetzt kannst du Open WebUI im Browser öffnen:
👉 http://localhost:3000
Falls du Open WebUI permanent laufen lassen willst, kannst du es mit nohup oder screen im Hintergrund starten:
nohup OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev > webui.log 2>&1 &
✅ Schritt 4: Open WebUI automatisch beim Systemstart ausführen (optional)
Falls du Open WebUI nach jedem Neustart automatisch starten möchtest, kannst du einen launchd-Service auf macOS erstellen:
1️⃣ Öffne den Editor und erstelle eine neue Datei:
nano ~/Library/LaunchAgents/com.openwebui.plist
2️⃣ Füge folgenden Code ein:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.openwebui</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>cd ~/open-webui && OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
3️⃣ Speichere und lade den Service:
launchctl load ~/Library/LaunchAgents/com.openwebui.plist
Jetzt startet Open WebUI automatisch beim Hochfahren. Falls du es stoppen willst:
launchctl unload ~/Library/LaunchAgents/com.openwebui.plist
🎯 Zusammenfassung
✅ Ollama ist bereits installiert & läuft
✅ Open WebUI installiert & mit Ollama verbunden
✅ WebUI im Browser unter http://localhost:3000 erreichbar
✅ Optional: Open WebUI automatisch starten lassen
Falls du noch etwas anpassen möchtest, sag Bescheid! 🚀🔥
Adrachin:
WenUI hatten wir schon installiert und ich befinde mich bereits im Verzeichnis:
git clone https://github.com/open-webui/open-webui.git
cd open-webui
LiquidGPT:
Super, dann konzentrieren wir uns jetzt darauf, Open WebUI richtig zu starten und mit Ollama zu verbinden! 🚀
✅ Schritt 1: Überprüfen, ob Open WebUI bereits läuft
Da du schon im open-webui Verzeichnis bist, lass uns zuerst prüfen, ob Open WebUI möglicherweise bereits aktiv ist:
ps aux | grep node
Falls du siehst, dass npm run dev oder vite bereits läuft, dann beende es mit:
pkill -f "npm run dev"
Falls du nicht sicher bist, kannst du zur Sicherheit alle alten WebUI-Prozesse beenden:
pkill -f open-webui
Jetzt ist sichergestellt, dass nichts stört.
✅ Schritt 2: Überprüfen, ob Node.js installiert ist
Falls npm install Fehler geworfen hat, könnte Node.js fehlen oder eine falsche Version installiert sein. Überprüfe die aktuelle Version mit:
node -v
npm -v
Falls du eine sehr neue Version (z. B. v23) hast, kann es sein, dass Open WebUI Probleme macht. Empfohlen ist Node.js 18 oder 20.
Falls nötig, installiere die empfohlene Version:
brew install node@20
brew link --overwrite --force node@20
Dann nochmal die Version prüfen:
node -v
✅ Schritt 3: Fehlende Abhängigkeiten installieren
Falls du das nicht schon getan hast, führe nochmal aus:
npm install
Falls es Probleme gibt, probiere:
npm install --force
Falls du den Fehler mit pyodide bekommst, kannst du es einzeln installieren:
npm install pyodide
✅ Schritt 4: Open WebUI mit Ollama starten
Da Ollama bereits läuft, müssen wir Open WebUI nur noch mit der richtigen API starten:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Falls du Open WebUI im Hintergrund laufen lassen möchtest, kannst du es mit nohup starten:
nohup OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev > webui.log 2>&1 &
Nun kannst du Open WebUI im Browser unter http://localhost:3000 aufrufen! 🎉
✅ Schritt 5: Testen, ob die Verbindung zu Ollama funktioniert
Falls Open WebUI startet, aber kein Modell lädt, teste direkt, ob Ollama richtig läuft:
curl http://localhost:11434/api/tags
Falls das eine Liste mit Modellen ausgibt (z. B. "deepseek-r1:1.5b"), dann ist alles in Ordnung. Falls nicht, könnte Ollama nicht laufen.
Falls Ollama nicht läuft, starte es neu:
ollama serve
Dann nochmal:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
🎯 Zusammenfassung
✅ Überprüfen, ob Open WebUI bereits läuft (ps aux | grep node)
✅ Sicherstellen, dass Node.js 18 oder 20 installiert ist
✅ Abhängigkeiten mit npm install nachinstallieren
✅ Open WebUI mit OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev starten
✅ Überprüfen, ob Ollama erreichbar ist (curl http://localhost:11434/api/tags)
Falls noch etwas nicht läuft, sag mir, welcher Schritt nicht funktioniert, dann lösen wir das! 🚀🔥
Adrachin:
Lass uns schritt für schritt vorgehen damit ich nicht seitenlang scrollen muss. Hier der Inhalt des Verzeichnisses webUI:
tsc@macbook-pro-1 open-webui % ls
CHANGELOG.md docker-compose.a1111-test.yaml pyproject.toml
CODE_OF_CONDUCT.md docker-compose.amdgpu.yaml run-compose.sh
Caddyfile.localhost docker-compose.api.yaml run-ollama-docker.sh
Dockerfile docker-compose.data.yaml run.sh
INSTALLATION.md docker-compose.gpu.yaml scripts
LICENSE docker-compose.playwright.yaml src
Makefile docker-compose.yaml static
README.md docs svelte.config.js
TROUBLESHOOTING.md hatch_build.py tailwind.config.js
backend i18next-parser.config.ts test
confirm_remove.sh kubernetes tsconfig.json
cypress package-lock.json update_ollama_models.sh
cypress.config.ts package.json uv.lock
demo.gif postcss.config.js vite.config.ts
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Danke für die Übersicht! Lass uns jetzt Schritt für Schritt Open WebUI korrekt starten. 🔍
✅ Schritt 1: Überprüfe, ob du die richtige Version hast
Führe im open-webui Verzeichnis aus:
git status
Falls Änderungen oder lokale Anpassungen gemacht wurden, kannst du den letzten offiziellen Stand laden:
git pull
Falls git pull einen Fehler wegen lokaler Änderungen wirft, kannst du ihn mit diesem Befehl umgehen:
git reset --hard origin/main
Danach überprüfen wir, ob alles aktuell ist:
git status
Lass mich wissen, ob es Fehler gibt oder ob du fortfahren kannst. 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % git status
On branch main
Your branch is up to date with ‘origin/main’.
nothing to commit, working tree clean
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Perfekt, dein Repository ist auf dem neuesten Stand! ✅
Lass uns jetzt Schritt 2 angehen: Überprüfung der Node.js- und npm-Version.
✅ Schritt 2: Prüfe Node.js und npm Versionen
Führe folgende Befehle aus:
node -v
npm -v
Die empfohlene Version für Open WebUI ist Node.js 18 oder 20.
Falls du eine höhere Version (z. B. v23) hast, kann es Probleme geben.
Falls deine Version nicht Node.js 18 oder 20 ist, dann installiere Node.js 20 mit:
brew install node@20
brew link --overwrite --force node@20
Dann überprüfe erneut mit:
node -v
npm -v
Teile mir mit, welche Versionen du hast. 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % node -v
npm -v
v23.9.0
10.9.2
tsc@macbook-pro-1 open-webui %
LiquidGPT:
⚠️ Problem: Deine Node.js-Version ist zu hoch!
Du hast Node.js 23, aber Open WebUI funktioniert am besten mit Node.js 18 oder 20.
Lass uns das fixen! 🚀
✅ Schritt 3: Node.js 20 installieren & aktivieren
1️⃣ Installiere Node.js 20 mit Homebrew
brew install node@20
2️⃣ Setze Node.js 20 als Standardversion
brew unlink node
brew link --overwrite --force node@20
3️⃣ Überprüfe, ob die richtige Version aktiv ist
node -v
npm -v
Du solltest jetzt Node.js v20.x.x sehen. Falls nicht, starte dein Terminal neu oder setze die Version explizit:
export PATH="/opt/homebrew/opt/node@20/bin:$PATH"
4️⃣ Falls nötig, entferne alte Node.js-Versionen
Falls du andere Node.js-Versionen installiert hast, kannst du sie mit nvm verwalten oder alte Versionen entfernen:
brew uninstall node@23
brew cleanup
🔄 Jetzt bist du mit Node.js 20 bereit für den nächsten Schritt!
Führe node -v und npm -v aus und teile mir mit, ob du Node.js 20 siehst. 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % brew install node@20
==> Downloading https://formulae.brew.sh/api/formula.jws.json
==> Downloading https://formulae.brew.sh/api/cask.jws.json
==> Downloading https://ghcr.io/v2/homebrew/core/node/20/manifests/20.18.3
############################################################################################################### 100.0%
==> Fetching node@20
==> Downloading https://ghcr.io/v2/homebrew/core/node/20/blobs/sha256:ece504f250c87c031e311dac4f4555b11cdf905b87e05a0a
############################################################################################################### 100.0%
==> Pouring node@20—20.18.3.arm64_sequoia.bottle.tar.gz
==> Caveats
node@20 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.
If you need to have node@20 first in your PATH, run:
echo ‘export PATH=”/opt/homebrew/opt/node@20/bin:$PATH”’ » ~/.zshrc
For compilers to find node@20 you may need to set:
export LDFLAGS=”-L/opt/homebrew/opt/node@20/lib”
export CPPFLAGS=”-I/opt/homebrew/opt/node@20/include”
==> Summary
🍺 /opt/homebrew/Cellar/node@20/20.18.3: 2,068 files, 58.7MB
==> Running brew cleanup node@20…
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see man brew).
tsc@macbook-pro-1 open-webui % brew unlink node
brew link —overwrite —force node@20
Unlinking /opt/homebrew/Cellar/node/23.9.0… 62 symlinks removed.
Linking /opt/homebrew/Cellar/node@20/20.18.3… 1957 symlinks created.
If you need to have this software first in your PATH instead consider running:
echo ‘export PATH=”/opt/homebrew/opt/node@20/bin:$PATH”’ » ~/.zshrc
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Perfekt! 🎉 Node.js 20 ist jetzt installiert und aktiv. Lass uns das nochmal überprüfen.
✅ Schritt 4: Überprüfe die Node.js- und npm-Version
Führe folgende Befehle aus:
node -v
npm -v
👉 Erwartetes Ergebnis:
- Node.js:
v20.x.x - npm:
10.x.xoder9.x.x
Falls immer noch Node.js 23 angezeigt wird, dann setze es fest:
export PATH="/opt/homebrew/opt/node@20/bin:$PATH"
Dauerhaft speichern:
echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Sobald du bestätigt hast, dass Node.js 20 aktiv ist, gehen wir zum nächsten Schritt! 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % node -v
npm -v
v20.18.3
10.8.2
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Perfekt! Jetzt läuft Node.js 20 und npm ist ebenfalls in einer stabilen Version.
Lass uns jetzt Open WebUI vorbereiten und starten! 🚀
✅ Schritt 5: Abhängigkeiten für Open WebUI installieren
Führe im open-webui Verzeichnis aus:
npm install
Falls es Probleme gibt oder Fehler auftreten, versuche es mit:
npm install --force
Falls du den pyodide-Fehler hattest, kannst du Pyodide separat installieren:
npm install pyodide
Sobald npm install durchgelaufen ist, gib mir Bescheid, dann gehen wir zum nächsten Schritt! 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % npm install
added 946 packages, and audited 947 packages in 27s
204 packages are looking for funding
run npm fund for details
15 vulnerabilities (5 low, 10 moderate)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix —force
Run npm audit for details.
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Super! Alle Abhängigkeiten wurden erfolgreich installiert. 🎉
Die Warnungen über Sicherheitslücken sind normal und betreffen keine kritischen Funktionen. Falls du möchtest, kannst du sie später mit npm audit fix beheben.
✅ Schritt 6: Open WebUI mit Ollama verbinden & starten
Da dein Ollama bereits läuft, starten wir Open WebUI mit der korrekten API-URL:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
🔍 Was passiert jetzt?
- Falls alles klappt, sollte Open WebUI starten.
- Du kannst dann im Browser zu
http://localhost:3000gehen und testen. - Falls Fehler auftreten, poste hier die Fehlermeldung, dann beheben wir das! 🚀
Teste es und sag mir Bescheid! 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
open-webui@0.5.20 dev
npm run pyodide:fetch && vite dev —host
open-webui@0.5.20 pyodide:fetch
node scripts/prepare-pyodide.js
Setting up pyodide + micropip
Pyodide package not found, proceeding with download.
Loading micropip package
Loading micropip, packaging
Didn’t find package micropip-0.8.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package packaging-24.2-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package micropip-0.8.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package packaging-24.2-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded micropip, packaging
Downloading Pyodide packages: [
‘micropip’, ‘packaging’,
‘requests’, ‘beautifulsoup4’,
‘numpy’, ‘pandas’,
‘matplotlib’, ‘scikit-learn’,
‘scipy’, ‘regex’,
‘sympy’, ‘tiktoken’,
‘seaborn’, ‘pytz’
]
Installing package: micropip
Installing package: packaging
Installing package: requests
Loading certifi, charset-normalizer, idna, requests, urllib3
Didn’t find package charset_normalizer-3.3.2-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package idna-3.7-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package certifi-2024.12.14-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package urllib3-2.2.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package requests-2.31.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package charset_normalizer-3.3.2-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package idna-3.7-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package urllib3-2.2.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package requests-2.31.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package certifi-2024.12.14-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded certifi, charset-normalizer, idna, requests, urllib3
Installing package: beautifulsoup4
Loading beautifulsoup4, soupsieve
Didn’t find package soupsieve-2.5-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package beautifulsoup4-4.12.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package soupsieve-2.5-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package beautifulsoup4-4.12.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded beautifulsoup4, soupsieve
Installing package: numpy
Loading numpy
Didn’t find package numpy-2.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package numpy-2.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded numpy
Installing package: pandas
numpy already loaded from default channel
Loading pandas, python-dateutil, pytz, six
Didn’t find package pytz-2024.1-py2.py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package python_dateutil-2.9.0.post0-py2.py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package pandas-2.2.3-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package six-1.16.0-py2.py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package six-1.16.0-py2.py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package python_dateutil-2.9.0.post0-py2.py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package pytz-2024.1-py2.py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package pandas-2.2.3-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded pandas, python-dateutil, pytz, six
Installing package: matplotlib
numpy already loaded from default channel
six already loaded from default channel
packaging already loaded from default channel
python-dateutil already loaded from default channel
pytz already loaded from default channel
Loading Pillow, contourpy, cycler, fonttools, kiwisolver, matplotlib, matplotlib-pyodide, pyparsing
Didn’t find package contourpy-1.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package matplotlib-3.8.4-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package cycler-0.12.1-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package fonttools-4.51.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package kiwisolver-1.4.5-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package pillow-10.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package pyparsing-3.1.2-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package matplotlib_pyodide-0.2.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package contourpy-1.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package cycler-0.12.1-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package kiwisolver-1.4.5-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package fonttools-4.51.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package matplotlib_pyodide-0.2.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package pyparsing-3.1.2-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package matplotlib-3.8.4-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package pillow-10.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded Pillow, contourpy, cycler, fonttools, kiwisolver, matplotlib, matplotlib-pyodide, pyparsing
Installing package: scikit-learn
numpy already loaded from default channel
Loading joblib, openblas, scikit-learn, scipy, threadpoolctl
Didn’t find package scipy-1.14.1-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package joblib-1.4.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package threadpoolctl-3.5.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package scikit_learn-1.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package openblas-0.3.26.zip locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package threadpoolctl-3.5.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package joblib-1.4.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package scikit_learn-1.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package openblas-0.3.26.zip loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package scipy-1.14.1-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded joblib, openblas, scikit-learn, scipy, threadpoolctl
Installing package: scipy
Installing package: regex
Loading regex
Didn’t find package regex-2024.9.11-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package regex-2024.9.11-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded regex
Installing package: sympy
Loading mpmath, sympy
Didn’t find package mpmath-1.3.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Didn’t find package sympy-1.13.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package mpmath-1.3.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Package sympy-1.13.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded mpmath, sympy
Installing package: tiktoken
regex already loaded from default channel
requests already loaded from default channel
Loading tiktoken
Didn’t find package tiktoken-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/
Package tiktoken-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/, caching the wheel in node_modules for future use.
Loaded tiktoken
Installing package: seaborn
Installing package: pytz
Pyodide packages downloaded, freezing into lock file
Copying Pyodide files into static directory
08:43:59 [vite-plugin-svelte] WARNING: The following packages have a svelte field in their package.json but no exports condition for svelte.
@sveltejs/svelte-virtual-list@3.0.1
Please see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition for details.
Forced re-optimization of dependencies
VITE v5.4.14 ready in 727 ms
➜ Local: http://localhost:5173/
➜ Network: http://192.168.1.121:5173/
➜ press h + enter to show help
[vite-plugin-static-copy] Collected 2 items.
LiquidGPT:
🚀 Open WebUI läuft jetzt! 🎉
Du solltest Open WebUI jetzt im Browser unter http://localhost:5173 aufrufen können.
🔍 Was bedeutet die Ausgabe?
- Pyodide & Dependencies wurden erfolgreich geladen
- VITE (der Entwicklungsserver) läuft auf Port 5173
- Open WebUI sollte jetzt erreichbar sein!
✅ Schritt 7: Teste die Verbindung zu Ollama
Öffne in einem separaten Terminal-Fenster und überprüfe, ob Ollama erreichbar ist:
curl http://localhost:11434/api/tags
Falls das eine Liste der installierten Modelle zurückgibt (z. B. "deepseek-r1:1.5b"), dann ist alles korrekt konfiguriert! 🎯
✅ Falls du Open WebUI auf Port 3000 haben willst
Aktuell läuft Open WebUI auf Port 5173. Falls du es auf Port 3000 umstellen willst:
1️⃣ Beende Open WebUI mit Ctrl + C
2️⃣ Starte es mit der richtigen Port-Einstellung:
VITE_PORT=3000 OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
3️⃣ Dann kannst du WebUI unter http://localhost:3000 aufrufen!
✅ Schritt 8: Open WebUI dauerhaft im Hintergrund laufen lassen
Falls du Open WebUI nicht jedes Mal neu starten willst, kannst du es im Hintergrund laufen lassen:
nohup VITE_PORT=3000 OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev > webui.log 2>&1 &
👉 Dann läuft Open WebUI auch, wenn du das Terminal schließt.
Falls du es stoppen willst:
pkill -f "npm run dev"
🎯 Fazit:
✅ Open WebUI läuft auf Port 5173
✅ Verbindung zu Ollama testen mit curl http://localhost:11434/api/tags
✅ Falls gewünscht, auf Port 3000 umstellen
✅ Dauerhaft im Hintergrund laufen lassen mit nohup
Teste jetzt Open WebUI im Browser und sag mir, ob alles funktioniert! 🚀🔥
Adrachin:
tsc@macbook-pro-1 ~ % curl http://localhost:11434/api/tags
{“models”:[{“name”:”deepseek-r1:1.5b”,”model”:”deepseek-r1:1.5b”,”modified_at”:”2025-03-09T07:27:53.394290322+01:00”,”size”:1117322599,”digest”:”a42b25d8c10a841bd24724309898ae851466696a7d7f3a0a408b895538ccbc96”,”details”:{“parent_model”:”“,”format”:”gguf”,”family”:”qwen2”,”families”:[“qwen2”],”parameter_size”:”1.8B”,”quantization_level”:”Q4_K_M”}}]}% tsc@macbook-pro-1 ~ %
LiquidGPT:
✅ Perfekt! Ollama läuft und ist über die API erreichbar. 🎉
Jetzt sollte Open WebUI korrekt mit Ollama kommunizieren können.
✅ Schritt 9: Teste Open WebUI im Browser
1️⃣ Öffne deinen Browser und gehe zu
http://localhost:5173(wenn du die Standardkonfiguration nutzt)http://localhost:3000(falls duVITE_PORT=3000gesetzt hast)
2️⃣ Falls Open WebUI lädt, teste, ob du mit deinem Modell chatten kannst.
🔍 Falls Open WebUI nicht funktioniert
Falls sich die Seite nicht öffnet oder einen Fehler zeigt:
-
Teste, ob der Server noch läuft:
ps aux | grep nodeFalls
npm run devnicht mehr aktiv ist, starte es neu:OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev -
Falls Open WebUI nicht mit Ollama spricht, prüfe die Logs:
tail -f webui.log
Sag mir, ob Open WebUI jetzt im Browser funktioniert! 🚀🔥
Adrachin:
WebUI ist erreichbar, zeigt aber nur eine leere Seite. Hier die Ausgabe des Terminals auf dem WebUI läuft:
08:47:02 [vite-plugin-svelte] /Users/tsc/open-webui/src/lib/components/layout/Help/HelpMenu.svelte:10:11 HelpMenu has unused export property ‘showDocsHandler’. If it is for external reference only, please consider using export const showDocsHandler
08:47:02 [vite-plugin-svelte] /Users/tsc/open-webui/src/lib/components/chat/Settings/Chats.svelte:17:11 Chats has unused export property ‘saveSettings’. If it is for external reference only, please consider using export const saveSettings
08:47:02 [vite-plugin-svelte] /Users/tsc/open-webui/src/lib/components/chat/Settings/General.svelte:9:11 General has unused export property ‘getModels’. If it is for external reference only, please consider using export const getModels
08:47:02 [vite-plugin-svelte] /Users/tsc/open-webui/src/lib/components/common/Folder.svelte:10:11 Folder has unused export property ‘id’. If it is for external reference only, please consider using export const id
08:47:03 [vite-plugin-svelte] /Users/tsc/open-webui/src/lib/components/chat/Navbar.svelte:26:11 Navbar has unused export property ‘title’. If it is for external reference only, please consider using export const title
08:47:03 [vite-plugin-svelte] /Users/tsc/open-webui/src/lib/components/chat/Controls/Controls.svelte:10:11 Controls has unused export property ‘models’. If it is for external reference only, please consider using export const models
08:47:04 [vite-plugin-svelte] /Users/tsc/open-webui/src/lib/components/chat/MessageInput/CallOverlay.svelte:684:5 A11y:
LiquidGPT:
🔍 Problem: WebUI ist erreichbar, aber zeigt nur eine leere Seite
Die Fehlermeldungen im Terminal sind nur Warnungen und keine kritischen Fehler. Allerdings gibt es ein Problem mit der Anzeige.
✅ Schritt 10: Debugging der leeren Seite
1️⃣ Öffne die Entwicklertools im Browser
- Chrome: Rechtsklick → “Untersuchen” → Konsole (
F12oderCmd + Option + J) - Safari: Einstellungen → Erweitert → “Entwicklermenü in der Menüleiste anzeigen” → Konsole (
Cmd + Option + C)
2️⃣ Suche nach JavaScript-Fehlern
- Falls dort rote Fehler erscheinen, teile sie mir mit.
- Falls dort “Failed to fetch” oder CORS-Fehler stehen, könnte es ein API-Problem sein.
✅ Schritt 11: Open WebUI einmal komplett neu bauen
Falls es keine JavaScript-Fehler gibt, kann ein fehlerhaftes Build-File das Problem sein.
Führe folgende Schritte im open-webui Verzeichnis aus:
rm -rf node_modules .svelte-kit .vite dist
npm install
npm run build
Danach WebUI erneut starten:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Falls die Seite jetzt funktioniert – perfekt! Falls nicht, schaue in die Browser-Konsole und teile mir die Fehler mit. 🚀🔥
Adrachin:
Auf der WebUI Seite erscheint folgendes:
Open WebUI-Backend erforderlich
Hoppla! Sie verwenden eine nicht unterstützte Methode (nur Frontend). Bitte stellen Sie die WebUI vom Backend bereit.
Anleitung in readme.md anzeigen oder Treten Sie unserem Discord bei, um Hilfe zu erhalten.
Erneut überprüfen
LiquidGPT:
🔍 Problem: Open WebUI benötigt das Backend
Die Meldung “Open WebUI-Backend erforderlich” bedeutet, dass du nur das Frontend gestartet hast, aber nicht das Backend.
Wir müssen nun sicherstellen, dass das Backend korrekt läuft. 🚀
✅ Schritt 12: Backend korrekt starten
🔹 1. Stelle sicher, dass du im richtigen Verzeichnis bist
Falls du nicht sicher bist, navigiere zurück in das open-webui Verzeichnis:
cd ~/open-webui
🔹 2. Starte das Backend korrekt
OLLAMA_API_BASE_URL=http://localhost:11434 npm run start
Wichtig: Nicht npm run dev, sondern npm run start, da letzteres sowohl das Backend als auch das Frontend startet.
🔹 3. Teste im Browser
Jetzt sollte die WebUI wieder normal laden. Gehe in den Browser und öffne:
👉 http://localhost:3000 (oder den Port, den du gesetzt hast)
✅ Falls das Problem weiterhin besteht
Falls npm run start nicht funktioniert, probiere stattdessen Docker für das Backend:
docker run -d -p 3000:3000 -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 --name open-webui ghcr.io/open-webui/open-webui:main
Dann sollte Open WebUI über Docker laufen, aber weiterhin mit deinem nativen Ollama verbunden sein.
🎯 Zusammenfassung
1️⃣ Nicht npm run dev, sondern npm run start verwenden!
2️⃣ Falls nötig, Docker für das Backend starten
3️⃣ Teste WebUI unter http://localhost:3000
👉 Teste es aus und sag mir, ob es funktioniert! 🚀🔥
Adrachin:
zuerst mal sollten wir die laufende Instanz stoppen. Wie?
LiquidGPT:
✅ Schritt 1: Laufende Open WebUI Instanz stoppen
Da du Open WebUI manuell mit npm run dev gestartet hast, müssen wir sicherstellen, dass alle laufenden Prozesse gestoppt werden, bevor wir das Backend richtig starten.
🔹 1. Beende den Prozess mit Ctrl + C
Falls dein Terminal noch aktiv ist und Open WebUI läuft, drücke einfach:
Ctrl + C
Das stoppt den laufenden npm run dev-Prozess.
Falls du das Terminal schon geschlossen hast, dann musst du die Prozesse manuell beenden.
🔹 2. Suche nach laufenden WebUI-Prozessen
Gib folgenden Befehl ein:
ps aux | grep node
Falls du eine Zeile siehst, die etwas mit vite dev oder open-webui enthält, notiere dir die PID (Prozess-ID).
Beispiel:
tsc 12345 0.0 1.0 123456 65432 ?? S 10:30PM 0:05 node vite dev
Hier ist die PID = 12345.
Beende den Prozess mit:
kill -9 12345
Falls du mehrere laufende Instanzen hast, kannst du sie alle auf einmal beenden:
pkill -f "npm run dev"
Falls das nicht reicht, kannst du auch:
pkill -f "node"
verwenden, aber Vorsicht: Das beendet ALLE node-Prozesse.
🔹 3. Überprüfe, ob WebUI wirklich gestoppt wurde
Starte erneut:
ps aux | grep node
Falls keine WebUI-Prozesse mehr laufen, ist alles sauber gestoppt.
Sobald das erledigt ist, können wir Schritt 2: Open WebUI mit Backend richtig starten! 🚀
Sag mir Bescheid, wenn du bereit bist. 🔥
Adrachin:
tsc@macbook-pro-1 open-webui % ps aux | grep node
tsc 7896 0,0 0,0 410593072 1136 s000 R+ 8:55am 0:00.00 grep node
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Perfekt! Es läuft kein Node-Prozess mehr. Jetzt können wir Open WebUI mit dem Backend richtig starten. 🚀
✅ Schritt 2: Open WebUI mit Backend starten
1️⃣ Stelle sicher, dass du im open-webui Verzeichnis bist:
cd ~/open-webui
2️⃣ Starte das Backend mit dem richtigen Befehl:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run start
🔍 Was passiert jetzt?
- Das Backend startet korrekt.
- Das Frontend wird automatisch geladen.
- Du kannst Open WebUI im Browser unter
http://localhost:3000aufrufen.
Falls es Probleme gibt, poste die Terminal-Ausgabe hier, dann beheben wir sie! 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % OLLAMA_API_BASE_URL=http://localhost:11434 npm run start
npm error Missing script: “start”
npm error
npm error Did you mean one of these?
npm error npm star # Mark your favorite packages
npm error npm stars # View packages marked as favorites
npm error
npm error To see a list of scripts, run:
npm error npm run
npm error A complete log of this run can be found in: /Users/tsc/.npm/_logs/2025-03-09T07_56_18_439Z-debug-0.log
tsc@macbook-pro-1 open-webui %
LiquidGPT:
❌ Fehler: “Missing script: ‘start’”
Open WebUI hat kein npm run start-Script. Stattdessen muss das Backend über Docker oder direkt über Python gestartet werden.
✅ Schritt 3: Richtige Methode zum Starten des Backends
Da npm run start nicht existiert, hast du zwei Optionen, um Open WebUI korrekt mit Backend zu starten:
🔹 Option 1: Open WebUI Backend mit Docker starten (empfohlen)
Falls du Docker installiert hast, kannst du das komplette Backend einfach so starten:
docker run -d -p 3000:3000 -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 --name open-webui ghcr.io/open-webui/open-webui:main
👉 Danach kannst du Open WebUI im Browser unter http://localhost:3000 aufrufen.
Falls du Open WebUI später stoppen willst:
docker stop open-webui
Und falls du es löschen möchtest:
docker rm open-webui
🔹 Option 2: Backend direkt mit Python starten
Falls du kein Docker verwenden willst, musst du das Backend manuell starten.
1️⃣ Installiere Python-Abhängigkeiten (falls noch nicht geschehen):
pip install -r requirements.txt
2️⃣ Starte das Backend:
python3 backend/main.py
3️⃣ Dann starte das Frontend separat:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
👉 Danach kannst du Open WebUI wieder im Browser unter http://localhost:3000 aufrufen.
🎯 Zusammenfassung
✅ Docker-Methode (einfachste Lösung):
docker run -d -p 3000:3000 -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 --name open-webui ghcr.io/open-webui/open-webui:main
✅ Manuelle Methode mit Python:
pip install -r requirements.txt
python3 backend/main.py
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
👉 Probiere eine dieser Methoden aus und sag mir, ob es läuft! 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % OLLAMA_API_BASE_URL=http://localhost:11434 npm run start
npm error Missing script: “start”
npm error
npm error Did you mean one of these?
npm error npm star # Mark your favorite packages
npm error npm stars # View packages marked as favorites
npm error
npm error To see a list of scripts, run:
npm error npm run
npm error A complete log of this run can be found in: /Users/tsc/.npm/_logs/2025-03-09T07_56_18_439Z-debug-0.log
tsc@macbook-pro-1 open-webui % docker run -d -p 3000:3000 -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 —name open-webui ghcr.io/open-webui/open-webui:main
docker: Cannot connect to the Docker daemon at unix:///Users/tsc/.docker/run/docker.sock. Is the docker daemon running?.
See ‘docker run —help’.
tsc@macbook-pro-1 open-webui %
LiquidGPT:
❌ Fehler: Docker Daemon läuft nicht
Der Fehler “Cannot connect to the Docker daemon” bedeutet, dass Docker entweder nicht läuft oder dass dein Benutzer keinen Zugriff auf den Docker-Socket hat. Lass uns das Schritt für Schritt beheben.
✅ Schritt 1: Docker manuell starten
Falls Docker nicht läuft, starte ihn mit:
open /Applications/Docker.app
Lass Docker 1–2 Minuten hochfahren und überprüfe dann den Status mit:
docker info
Falls das funktioniert, versuche erneut:
docker run -d -p 3000:3000 -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 --name open-webui ghcr.io/open-webui/open-webui:main
✅ Schritt 2: Überprüfe den Docker-Socket
Falls Docker bereits läuft, prüfe, ob dein Benutzer Zugriff auf den Docker-Socket hat:
ls -lah /Users/tsc/.docker/run/docker.sock
Falls der Socket nicht existiert oder falsche Berechtigungen hat, setze die korrekten Rechte:
sudo chown $USER /Users/tsc/.docker/run/docker.sock
chmod 666 /Users/tsc/.docker/run/docker.sock
Dann Docker erneut testen mit:
docker ps
Falls das funktioniert, versuche erneut den WebUI-Container zu starten.
✅ Schritt 3: Alternative – Open WebUI ohne Docker starten
Falls Docker weiterhin Probleme macht, kannst du das Backend direkt mit Python starten.
1️⃣ Installiere Python-Abhängigkeiten (falls nicht vorhanden):
pip install -r requirements.txt
2️⃣ Starte das Backend:
python3 backend/main.py
3️⃣ Starte das Frontend separat:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
Danach solltest du Open WebUI wieder unter http://localhost:3000 im Browser aufrufen können.
🎯 Zusammenfassung
1️⃣ Docker starten und prüfen:
open /Applications/Docker.app
docker info
2️⃣ Falls nötig, Berechtigungen für Docker-Socket setzen:
sudo chown $USER /Users/tsc/.docker/run/docker.sock
chmod 666 /Users/tsc/.docker/run/docker.sock
3️⃣ Falls Docker nicht geht, WebUI manuell starten:
pip install -r requirements.txt
python3 backend/main.py
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
👉 Teste das und sag mir, welcher Schritt klappt! 🚀🔥
Adrachin:
Das:
open /Applications/Docker.app
funktioniert und die App geht auf. Ziel war aber WebUI ohne Docker zu verwenden. Oder Nicht?
LiquidGPT:
Ja, genau! 🎯 Ziel ist es, Open WebUI ohne Docker zu verwenden.
Da Docker nur eine Alternative war, gehen wir jetzt zur Python-Methode über.
✅ Schritt 4: Open WebUI ohne Docker starten
Da Docker nicht benötigt wird, starten wir das Backend direkt mit Python.
1️⃣ Stelle sicher, dass du im richtigen Verzeichnis bist
Falls du noch nicht im open-webui Ordner bist:
cd ~/open-webui
2️⃣ Installiere die benötigten Python-Abhängigkeiten
Falls noch nicht geschehen, installiere die Pakete mit:
pip install -r requirements.txt
3️⃣ Starte das Backend mit Python
python3 backend/main.py
4️⃣ Starte das Frontend in einem separaten Terminal-Fenster
Öffne ein neues Terminal, gehe erneut in open-webui und starte das Frontend:
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
🎯 Erwartetes Ergebnis
- Backend läuft mit Python
- Frontend läuft mit Vite
- WebUI ist unter
http://localhost:3000erreichbar
(Falls es auf5173läuft, kannst du es mitVITE_PORT=3000umstellen)
🔍 Falls es Fehler gibt
Falls du beim Backend-Start (python3 backend/main.py) Fehler bekommst, poste die Fehlermeldung hier.
Jetzt teste die Python-Methode und sag mir, ob alles funktioniert! 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % pip install -r requirements.txt
zsh: command not found: pip
tsc@macbook-pro-1 open-webui %
LiquidGPT:
❌ Fehler: “command not found: pip”
Das bedeutet, dass Python oder pip nicht korrekt installiert ist oder nicht in deinem PATH liegt. Lass uns das beheben. 🚀
✅ Schritt 5: pip und Python korrekt einrichten
🔹 1. Prüfe, ob Python installiert ist
Führe diesen Befehl aus:
python3 --version
Falls du eine Version siehst (z. B. Python 3.x.x), ist Python installiert. Falls nicht, installiere es mit:
brew install python
Falls Python bereits installiert ist, versuche pip mit:
python3 -m ensurepip --default-pip
Dann testen, ob pip jetzt funktioniert:
pip --version
Falls pip immer noch fehlt, installiere es manuell:
python3 -m ensurepip --upgrade
python3 -m pip install --upgrade pip
🔹 2. Falls pip nicht gefunden wird, setze den richtigen PATH
Manchmal ist pip installiert, aber nicht im PATH. Prüfe mit:
which python3
which pip
Falls pip nicht angezeigt wird, füge es manuell hinzu:
export PATH="$HOME/Library/Python/3.x/bin:$PATH"
(Ersetze 3.x mit deiner Python-Version)
Dauerhaft speichern:
echo 'export PATH="$HOME/Library/Python/3.x/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
🔹 3. pip erneut testen
Nachdem du das gemacht hast, teste nochmal:
pip --version
Falls pip nun funktioniert, installiere die WebUI-Abhängigkeiten:
pip install -r requirements.txt
🎯 Zusammenfassung
1️⃣ Prüfe, ob Python installiert ist:
python3 --version
Falls nicht:
brew install python
2️⃣ Falls pip fehlt, installiere es:
python3 -m ensurepip --upgrade
python3 -m pip install --upgrade pip
3️⃣ Falls pip nicht gefunden wird, setze den PATH:
export PATH="$HOME/Library/Python/3.x/bin:$PATH"
4️⃣ Teste pip und installiere die Abhängigkeiten:
pip --version
pip install -r requirements.txt
👉 Teste das und sag mir, ob pip jetzt funktioniert! 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % python3 —version
Python 3.9.6
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Python 3.9.6 ist installiert!
Jetzt müssen wir sicherstellen, dass pip verfügbar ist.
✅ Schritt 6: pip für Python 3.9 installieren
Da Python bereits installiert ist, versuche zuerst, pip direkt zu aktivieren:
python3 -m ensurepip --default-pip
Danach prüfe, ob pip jetzt verfügbar ist:
pip --version
Falls pip immer noch nicht gefunden wird, versuche:
python3 -m ensurepip --upgrade
python3 -m pip install --upgrade pip
Dann erneut testen:
pip --version
🔹 Falls pip immer noch nicht funktioniert
Setze den richtigen PATH für pip:
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
Speichere das dauerhaft:
echo 'export PATH="$HOME/Library/Python/3.9/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Dann pip erneut testen:
pip --version
✅ Schritt 7: WebUI-Abhängigkeiten mit pip installieren
Sobald pip läuft, installiere die Abhängigkeiten für Open WebUI:
pip install -r requirements.txt
🎯 Zusammenfassung
1️⃣ Versuche pip zu aktivieren:
python3 -m ensurepip --default-pip
2️⃣ Falls nötig, pip manuell installieren:
python3 -m ensurepip --upgrade
python3 -m pip install --upgrade pip
3️⃣ Falls pip nicht gefunden wird, PATH setzen:
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
echo 'export PATH="$HOME/Library/Python/3.9/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
4️⃣ Teste pip:
pip --version
5️⃣ Installiere die WebUI-Abhängigkeiten:
pip install -r requirements.txt
🚀 Teste das und sag mir, ob pip jetzt funktioniert! 🔥
Adrachin:
tsc@macbook-pro-1 open-webui % python3 -m ensurepip —default-pip
Defaulting to user installation because normal site-packages is not writeable
Looking in links: /var/folders/hs/b1y7qdx554q_2tmjbspr66z40000gn/T/tmp4gny7xl0
Requirement already satisfied: setuptools in /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages (58.0.4)
Requirement already satisfied: pip in /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages (21.2.4)
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Pip ist bereits installiert!
Jetzt testen wir, ob pip im PATH verfügbar ist.
✅ Schritt 8: Prüfen, ob pip aufrufbar ist
Führe folgenden Befehl aus:
pip --version
Falls pip nicht gefunden wird, versuche:
python3 -m pip --version
Falls das klappt, müssen wir nur noch sicherstellen, dass pip direkt aufrufbar ist.
🔹 Falls pip nicht gefunden wird, PATH korrigieren
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
Dauerhaft speichern:
echo 'export PATH="$HOME/Library/Python/3.9/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
✅ Schritt 9: WebUI-Abhängigkeiten mit pip installieren
Jetzt kannst du die WebUI-Abhängigkeiten installieren:
pip install -r requirements.txt
Falls es zu Berechtigungsproblemen kommt, versuche:
pip install --user -r requirements.txt
🚀 Teste das und sag mir, ob pip jetzt läuft! 🔥
Adrachin:
tsc@macbook-pro-1 open-webui % python3 -m pip —version
pip 21.2.4 from /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Pip ist verfügbar! 🎉
Jetzt können wir die Abhängigkeiten für Open WebUI installieren.
✅ Schritt 10: WebUI-Abhängigkeiten mit pip installieren
Da pip 21.2.4 relativ alt ist, empfehle ich ein Update, bevor wir weitermachen:
python3 -m pip install --upgrade pip
Danach installieren wir die Abhängigkeiten für Open WebUI:
python3 -m pip install -r requirements.txt
Falls du Berechtigungsfehler bekommst, versuche:
python3 -m pip install --user -r requirements.txt
🔍 Falls es Fehler gibt
Falls es bei der Installation von requirements.txt Fehler gibt, teile mir die Fehlermeldung mit, damit wir das Problem gezielt lösen können. 🚀🔥
Adrachin:
tsc@macbook-pro-1 open-webui % python3 -m pip —version
pip 25.0.1 from /Users/tsc/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Perfekt! Pip wurde erfolgreich auf Version 25.0.1 aktualisiert. 🎉
Jetzt können wir die WebUI-Abhängigkeiten installieren.
✅ Schritt 11: Installiere die Abhängigkeiten für Open WebUI
Führe diesen Befehl aus:
python3 -m pip install -r requirements.txt
Falls du Berechtigungsprobleme bekommst, versuche:
python3 -m pip install --user -r requirements.txt
Das installiert alle benötigten Python-Pakete für das Open WebUI Backend.
🔍 Falls es Fehler gibt
Falls requirements.txt nicht gefunden wird oder es Installationsprobleme gibt:
-
Überprüfe, ob du im richtigen Verzeichnis bist:
ls requirements.txtFalls die Datei nicht existiert, navigiere ins
open-webuiVerzeichnis:cd ~/open-webui -
Falls es Probleme mit einzelnen Paketen gibt, kopiere mir die Fehlermeldung, damit wir es fixen können. 🚀🔥
Sobald die Installation durch ist, gehen wir zum Backend-Start über. 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % python3 -m pip —version
pip 25.0.1 from /Users/tsc/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)
tsc@macbook-pro-1 open-webui % python3 -m pip install -r requirements.txt
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not open requirements file: [Errno 2] No such file or directory: ‘requirements.txt’
tsc@macbook-pro-1 open-webui % ls
CHANGELOG.md docker-compose.amdgpu.yaml run-compose.sh
CODE_OF_CONDUCT.md docker-compose.api.yaml run-ollama-docker.sh
Caddyfile.localhost docker-compose.data.yaml run.sh
Dockerfile docker-compose.gpu.yaml scripts
INSTALLATION.md docker-compose.playwright.yaml src
LICENSE docker-compose.yaml static
Makefile docs svelte.config.js
README.md hatch_build.py tailwind.config.js
TROUBLESHOOTING.md i18next-parser.config.ts test
backend kubernetes tsconfig.json
confirm_remove.sh node_modules update_ollama_models.sh
cypress package-lock.json uv.lock
cypress.config.ts package.json vite.config.ts
demo.gif postcss.config.js
docker-compose.a1111-test.yaml pyproject.toml
tsc@macbook-pro-1 open-webui %
LiquidGPT:
❌ Problem: requirements.txt existiert nicht
Die Fehlermeldung “No such file or directory: ‘requirements.txt’” zeigt, dass Open WebUI keine requirements.txt Datei hat, weil es eigentlich mit Node.js und nicht mit Python läuft.
Da das Backend in Python geschrieben ist, nutzt es Poetry statt pip.
Lass uns jetzt das Backend richtig installieren! 🚀
✅ Schritt 12: Open WebUI Backend mit Poetry installieren
Statt requirements.txt müssen wir Poetry nutzen, um die Python-Abhängigkeiten zu verwalten.
🔹 1. Installiere Poetry (falls nicht installiert)
python3 -m pip install --user poetry
🔹 2. Überprüfe, ob Poetry installiert wurde
poetry --version
Falls poetry nicht gefunden wird, setze den PATH richtig:
export PATH="$HOME/.local/bin:$PATH"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Dann teste erneut:
poetry --version
🔹 3. Installiere die Abhängigkeiten mit Poetry
Gehe ins backend Verzeichnis:
cd backend
Dann installiere alle Abhängigkeiten:
poetry install
Falls es einen Fehler gibt, poste die Fehlermeldung, dann lösen wir das.
🔹 4. Starte das Backend
Nach der Installation kannst du das Backend starten:
poetry run python main.py
🎯 Zusammenfassung
1️⃣ Poetry installieren:
python3 -m pip install --user poetry
export PATH="$HOME/.local/bin:$PATH"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
2️⃣ Poetry-Installation testen:
poetry --version
3️⃣ Python-Abhängigkeiten installieren:
cd backend
poetry install
4️⃣ Backend starten:
poetry run python main.py
🚀 Teste das und sag mir, ob alles funktioniert! 🔥
Adrachin:
tsc@macbook-pro-1 open-webui % python3 -m pip install —user poetry
Collecting poetry
Downloading poetry-2.1.1-py3-none-any.whl.metadata (7.1 kB)
Collecting build<2.0.0,>=1.2.1 (from poetry)
Downloading build-1.2.2.post1-py3-none-any.whl.metadata (6.5 kB)
Collecting cachecontrol<0.15.0,>=0.14.0 (from cachecontrol[filecache]<0.15.0,>=0.14.0->poetry)
Downloading cachecontrol-0.14.2-py3-none-any.whl.metadata (3.1 kB)
Collecting cleo<3.0.0,>=2.1.0 (from poetry)
Downloading cleo-2.1.0-py3-none-any.whl.metadata (12 kB)
Collecting dulwich<0.23.0,>=0.22.6 (from poetry)
Downloading dulwich-0.22.8-cp39-cp39-macosx_11_0_arm64.whl.metadata (4.9 kB)
Collecting fastjsonschema<3.0.0,>=2.18.0 (from poetry)
Downloading fastjsonschema-2.21.1-py3-none-any.whl.metadata (2.2 kB)
Collecting findpython<0.7.0,>=0.6.2 (from poetry)
Downloading findpython-0.6.2-py3-none-any.whl.metadata (5.3 kB)
Collecting importlib-metadata>=4.4 (from poetry)
Downloading importlib_metadata-8.6.1-py3-none-any.whl.metadata (4.7 kB)
Collecting installer<0.8.0,>=0.7.0 (from poetry)
Downloading installer-0.7.0-py3-none-any.whl.metadata (936 bytes)
Collecting keyring<26.0.0,>=25.1.0 (from poetry)
Downloading keyring-25.6.0-py3-none-any.whl.metadata (20 kB)
Collecting packaging>=24.0 (from poetry)
Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
Collecting pbs-installer<2026.0.0,>=2025.1.6 (from pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading pbs_installer-2025.2.12-py3-none-any.whl.metadata (991 bytes)
Collecting pkginfo<2.0,>=1.12 (from poetry)
Downloading pkginfo-1.12.1.2-py3-none-any.whl.metadata (13 kB)
Collecting platformdirs<5,>=3.0.0 (from poetry)
Downloading platformdirs-4.3.6-py3-none-any.whl.metadata (11 kB)
Collecting poetry-core==2.1.1 (from poetry)
Downloading poetry_core-2.1.1-py3-none-any.whl.metadata (3.5 kB)
Collecting pyproject-hooks<2.0.0,>=1.0.0 (from poetry)
Downloading pyproject_hooks-1.2.0-py3-none-any.whl.metadata (1.3 kB)
Collecting requests<3.0,>=2.26 (from poetry)
Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting requests-toolbelt<2.0.0,>=1.0.0 (from poetry)
Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl.metadata (14 kB)
Collecting shellingham<2.0,>=1.5 (from poetry)
Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)
Collecting tomli<3.0.0,>=2.0.1 (from poetry)
Downloading tomli-2.2.1-py3-none-any.whl.metadata (10 kB)
Collecting tomlkit<1.0.0,>=0.11.4 (from poetry)
Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)
Collecting trove-classifiers>=2022.5.19 (from poetry)
Downloading trove_classifiers-2025.3.3.18-py3-none-any.whl.metadata (2.3 kB)
Collecting virtualenv<21.0.0,>=20.26.6 (from poetry)
Downloading virtualenv-20.29.3-py3-none-any.whl.metadata (4.5 kB)
Collecting xattr<2.0.0,>=1.0.0 (from poetry)
Downloading xattr-1.1.4-cp39-cp39-macosx_11_0_arm64.whl.metadata (3.8 kB)
Collecting msgpack<2.0.0,>=0.5.2 (from cachecontrol<0.15.0,>=0.14.0->cachecontrol[filecache]<0.15.0,>=0.14.0->poetry)
Downloading msgpack-1.1.0-cp39-cp39-macosx_11_0_arm64.whl.metadata (8.4 kB)
Collecting filelock>=3.8.0 (from cachecontrol[filecache]<0.15.0,>=0.14.0->poetry)
Downloading filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)
Collecting crashtest<0.5.0,>=0.4.1 (from cleo<3.0.0,>=2.1.0->poetry)
Downloading crashtest-0.4.1-py3-none-any.whl.metadata (1.1 kB)
Collecting rapidfuzz<4.0.0,>=3.0.0 (from cleo<3.0.0,>=2.1.0->poetry)
Downloading rapidfuzz-3.12.2-cp39-cp39-macosx_11_0_arm64.whl.metadata (12 kB)
Collecting urllib3>=1.25 (from dulwich<0.23.0,>=0.22.6->poetry)
Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)
Collecting zipp>=3.20 (from importlib-metadata>=4.4->poetry)
Downloading zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
Collecting jaraco.classes (from keyring<26.0.0,>=25.1.0->poetry)
Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)
Collecting jaraco.functools (from keyring<26.0.0,>=25.1.0->poetry)
Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)
Collecting jaraco.context (from keyring<26.0.0,>=25.1.0->poetry)
Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)
Collecting httpx<1,>=0.27.0 (from pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
Collecting zstandard>=0.21.0 (from pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading zstandard-0.23.0-cp39-cp39-macosx_11_0_arm64.whl.metadata (3.0 kB)
Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.26->poetry)
Downloading charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl.metadata (35 kB)
Collecting idna<4,>=2.5 (from requests<3.0,>=2.26->poetry)
Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting certifi>=2017.4.17 (from requests<3.0,>=2.26->poetry)
Downloading certifi-2025.1.31-py3-none-any.whl.metadata (2.5 kB)
Collecting distlib<1,>=0.3.7 (from virtualenv<21.0.0,>=20.26.6->poetry)
Downloading distlib-0.3.9-py2.py3-none-any.whl.metadata (5.2 kB)
Collecting cffi>=1.16.0 (from xattr<2.0.0,>=1.0.0->poetry)
Downloading cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl.metadata (1.5 kB)
Collecting pycparser (from cffi>=1.16.0->xattr<2.0.0,>=1.0.0->poetry)
Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Collecting anyio (from httpx<1,>=0.27.0->pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading anyio-4.8.0-py3-none-any.whl.metadata (4.6 kB)
Collecting httpcore==1. (from httpx<1,>=0.27.0->pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading httpcore-1.0.7-py3-none-any.whl.metadata (21 kB)
Collecting h11<0.15,>=0.13 (from httpcore==1.->httpx<1,>=0.27.0->pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)
Collecting more-itertools (from jaraco.classes->keyring<26.0.0,>=25.1.0->poetry)
Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
Collecting backports.tarfile (from jaraco.context->keyring<26.0.0,>=25.1.0->poetry)
Downloading backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)
Collecting exceptiongroup>=1.0.2 (from anyio->httpx<1,>=0.27.0->pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading exceptiongroup-1.2.2-py3-none-any.whl.metadata (6.6 kB)
Collecting sniffio>=1.1 (from anyio->httpx<1,>=0.27.0->pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting typing_extensions>=4.5 (from anyio->httpx<1,>=0.27.0->pbs-installer[download,install]<2026.0.0,>=2025.1.6->poetry)
Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Downloading poetry-2.1.1-py3-none-any.whl (277 kB)
Downloading poetry_core-2.1.1-py3-none-any.whl (331 kB)
Downloading build-1.2.2.post1-py3-none-any.whl (22 kB)
Downloading cachecontrol-0.14.2-py3-none-any.whl (21 kB)
Downloading cleo-2.1.0-py3-none-any.whl (78 kB)
Downloading dulwich-0.22.8-cp39-cp39-macosx_11_0_arm64.whl (926 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 926.6/926.6 kB 30.6 MB/s eta 0:00:00
Downloading fastjsonschema-2.21.1-py3-none-any.whl (23 kB)
Downloading findpython-0.6.2-py3-none-any.whl (20 kB)
Downloading importlib_metadata-8.6.1-py3-none-any.whl (26 kB)
Downloading installer-0.7.0-py3-none-any.whl (453 kB)
Downloading keyring-25.6.0-py3-none-any.whl (39 kB)
Downloading packaging-24.2-py3-none-any.whl (65 kB)
Downloading pbs_installer-2025.2.12-py3-none-any.whl (53 kB)
Downloading pkginfo-1.12.1.2-py3-none-any.whl (32 kB)
Downloading platformdirs-4.3.6-py3-none-any.whl (18 kB)
Downloading pyproject_hooks-1.2.0-py3-none-any.whl (10 kB)
Downloading requests-2.32.3-py3-none-any.whl (64 kB)
Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)
Downloading tomli-2.2.1-py3-none-any.whl (14 kB)
Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)
Downloading trove_classifiers-2025.3.3.18-py3-none-any.whl (13 kB)
Downloading virtualenv-20.29.3-py3-none-any.whl (4.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 65.6 MB/s eta 0:00:00
Downloading xattr-1.1.4-cp39-cp39-macosx_11_0_arm64.whl (19 kB)
Downloading certifi-2025.1.31-py3-none-any.whl (166 kB)
Downloading cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl (178 kB)
Downloading charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl (197 kB)
Downloading crashtest-0.4.1-py3-none-any.whl (7.6 kB)
Downloading distlib-0.3.9-py2.py3-none-any.whl (468 kB)
Downloading filelock-3.17.0-py3-none-any.whl (16 kB)
Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
Downloading httpcore-1.0.7-py3-none-any.whl (78 kB)
Downloading idna-3.10-py3-none-any.whl (70 kB)
Downloading msgpack-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (81 kB)
Downloading rapidfuzz-3.12.2-cp39-cp39-macosx_11_0_arm64.whl (1.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 52.1 MB/s eta 0:00:00
Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)
Downloading zipp-3.21.0-py3-none-any.whl (9.6 kB)
Downloading zstandard-0.23.0-cp39-cp39-macosx_11_0_arm64.whl (633 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 633.7/633.7 kB 33.9 MB/s eta 0:00:00
Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)
Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)
Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)
Downloading anyio-4.8.0-py3-none-any.whl (96 kB)
Downloading backports.tarfile-1.2.0-py3-none-any.whl (30 kB)
Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)
Downloading pycparser-2.22-py3-none-any.whl (117 kB)
Downloading exceptiongroup-1.2.2-py3-none-any.whl (16 kB)
Downloading h11-0.14.0-py3-none-any.whl (58 kB)
Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Installing collected packages: trove-classifiers, fastjsonschema, distlib, zstandard, zipp, urllib3, typing_extensions, tomlkit, tomli, sniffio, shellingham, rapidfuzz, pyproject-hooks, pycparser, poetry-core, platformdirs, pkginfo, pbs-installer, packaging, msgpack, more-itertools, installer, idna, h11, filelock, exceptiongroup, crashtest, charset-normalizer, certifi, backports.tarfile, virtualenv, requests, jaraco.functools, jaraco.context, jaraco.classes, importlib-metadata, httpcore, findpython, dulwich, cleo, cffi, anyio, xattr, requests-toolbelt, keyring, httpx, cachecontrol, build, poetry
WARNING: The script pkginfo is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script pbs-install is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script normalizer is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script virtualenv is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script findpython is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script dulwich is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script xattr is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script keyring is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script httpx is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script doesitcache is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script pyproject-build is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
WARNING: The script poetry is installed in ‘/Users/tsc/Library/Python/3.9/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
Successfully installed anyio-4.8.0 backports.tarfile-1.2.0 build-1.2.2.post1 cachecontrol-0.14.2 certifi-2025.1.31 cffi-1.17.1 charset-normalizer-3.4.1 cleo-2.1.0 crashtest-0.4.1 distlib-0.3.9 dulwich-0.22.8 exceptiongroup-1.2.2 fastjsonschema-2.21.1 filelock-3.17.0 findpython-0.6.2 h11-0.14.0 httpcore-1.0.7 httpx-0.28.1 idna-3.10 importlib-metadata-8.6.1 installer-0.7.0 jaraco.classes-3.4.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 keyring-25.6.0 more-itertools-10.6.0 msgpack-1.1.0 packaging-24.2 pbs-installer-2025.2.12 pkginfo-1.12.1.2 platformdirs-4.3.6 poetry-2.1.1 poetry-core-2.1.1 pycparser-2.22 pyproject-hooks-1.2.0 rapidfuzz-3.12.2 requests-2.32.3 requests-toolbelt-1.0.0 shellingham-1.5.4 sniffio-1.3.1 tomli-2.2.1 tomlkit-0.13.2 trove-classifiers-2025.3.3.18 typing_extensions-4.12.2 urllib3-2.3.0 virtualenv-20.29.3 xattr-1.1.4 zipp-3.21.0 zstandard-0.23.0
tsc@macbook-pro-1 open-webui % poetry —version
zsh: command not found: poetry
tsc@macbook-pro-1 open-webui %
LiquidGPT:
❌ Problem: Poetry wurde installiert, aber ist nicht im PATH
Die Fehlermeldung “zsh: command not found: poetry” bedeutet, dass poetry installiert wurde, aber dein Terminal es nicht findet.
✅ Schritt 13: Poetry zum PATH hinzufügen
Füge den Installationspfad von poetry zu deinem PATH hinzu:
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
Dauerhaft speichern:
echo 'export PATH="$HOME/Library/Python/3.9/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Danach testen:
poetry --version
Falls Poetry noch nicht gefunden wird, probiere:
python3 -m poetry --version
Falls es so funktioniert, kannst du es mit:
alias poetry="python3 -m poetry"
echo 'alias poetry="python3 -m poetry"' >> ~/.zshrc
source ~/.zshrc
dauerhaft verfügbar machen.
✅ Schritt 14: Backend-Abhängigkeiten mit Poetry installieren
Nachdem poetry verfügbar ist, installiere die Backend-Abhängigkeiten:
1️⃣ Wechsle ins backend-Verzeichnis
cd backend
2️⃣ Installiere die Abhängigkeiten
poetry install
3️⃣ Starte das Backend
poetry run python main.py
Jetzt sollte Open WebUI’s Backend korrekt laufen! 🚀
Falls es noch Probleme gibt, sag mir, welcher Befehl nicht funktioniert! 🔥
Adrachin:
tsc@macbook-pro-1 open-webui % poetry —version
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Poetry (version 2.1.1)
tsc@macbook-pro-1 open-webui %
LiquidGPT:
✅ Poetry funktioniert jetzt! 🎉
Die Warnung über LibreSSL 2.8.3 kannst du ignorieren – sie sollte keinen Einfluss auf Open WebUI haben.
✅ Schritt 15: WebUI-Backend mit Poetry installieren und starten
Jetzt können wir endlich das Backend von Open WebUI richtig starten! 🚀
🔹 1. Wechsle ins Backend-Verzeichnis
cd backend
🔹 2. Installiere alle Python-Abhängigkeiten
poetry install
Falls es Fehler gibt, poste die Fehlermeldung, damit wir sie fixen können.
🔹 3. Starte das Backend
Falls die Installation erfolgreich war, starte das Backend:
poetry run python main.py
Jetzt sollte das Open WebUI Backend laufen! 🚀
🎯 Nächste Schritte
1️⃣ Falls das Backend erfolgreich läuft, öffne ein neues Terminal und starte das Frontend:
cd ~/open-webui
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
2️⃣ Öffne Open WebUI im Browser:
👉 http://localhost:3000
Falls es noch Probleme gibt, poste die Fehlermeldung, dann lösen wir das! 🚀🔥
Adrachin:
tsc@macbook-pro-1 backend % poetry install
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
The Poetry configuration is invalid:
- Either [project.version] or [tool.poetry.version] is required in package mode.
LiquidGPT:
❌ Problem: Poetry kann die Konfiguration nicht laden
Die Fehlermeldung “Either [project.version] or [tool.poetry.version] is required in package mode” bedeutet, dass die pyproject.toml Datei entweder fehlt oder nicht korrekt konfiguriert ist.
Lass uns das schnell fixen! 🚀
✅ Schritt 16: Überprüfe die pyproject.toml Datei
1️⃣ Stelle sicher, dass du dich im richtigen Verzeichnis befindest
cd ~/open-webui/backend
2️⃣ Überprüfe, ob die Datei pyproject.toml existiert
ls pyproject.toml
- Falls die Datei nicht existiert, müssen wir sie neu erstellen.
- Falls sie existiert, öffne sie mit:
cat pyproject.toml
✅ Schritt 17: Falls pyproject.toml fehlt oder fehlerhaft ist, erstelle sie neu
Falls die Datei fehlt oder leer ist, erstelle sie mit:
nano pyproject.toml
Füge folgendes Beispiel ein:
[tool.poetry]
name = "open-webui-backend"
version = "0.1.0"
description = "Backend for Open WebUI"
authors = ["Your Name <your.email@example.com>"]
license = "MIT"
[tool.poetry.dependencies]
python = "^3.9"
fastapi = "^0.110.0"
uvicorn = "^0.27.1"
requests = "^2.32.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
Speichere mit Ctrl + X, dann Y, dann Enter.
✅ Schritt 18: Starte die Installation erneut
Nachdem pyproject.toml korrekt ist, installiere die Abhängigkeiten:
poetry install
Falls es keine Fehler gibt, starte das Backend mit:
poetry run python main.py
🎯 Zusammenfassung
1️⃣ Überprüfe, ob pyproject.toml existiert (ls pyproject.toml)
2️⃣ Falls sie fehlt oder fehlerhaft ist, erstelle sie mit nano pyproject.toml
3️⃣ Installiere die Abhängigkeiten erneut mit poetry install
4️⃣ Starte das Backend mit poetry run python main.py
🚀 Teste das und sag mir, ob es jetzt funktioniert! 🔥
Adrachin:
ich möchte mir zu Kontrolle das File nochmal anzeigen lassen. Wie?
LiquidGPT:
Du kannst den Inhalt der Datei pyproject.toml auf verschiedene Arten anzeigen:
✅ 1. Den Inhalt einfach ausgeben
Führe folgenden Befehl im backend-Verzeichnis aus:
cat pyproject.toml
👉 Zeigt den gesamten Inhalt der Datei auf einmal.
✅ 2. Den Inhalt seitenweise anzeigen (falls Datei lang ist)
Falls die Datei zu lang ist, kannst du sie seitenweise durchscrollen:
less pyproject.toml
👉 Navigation in less:
- Pfeiltasten oder
Spacezum Scrollen qzum Beenden
✅ 3. Den Inhalt mit Zeilennummern anzeigen
Falls du Zeilennummern möchtest:
nl pyproject.toml
✅ 4. Datei in einem Editor öffnen
Falls du die Datei bearbeiten oder einfach nur komfortabler anschauen möchtest:
nano pyproject.toml
Ctrl + Xum den Editor zu verlassen.- Falls du Änderungen machst, drücke
Y, dannEnterzum Speichern.
Falls du lieber mit vim arbeitest:
vim pyproject.toml
- Mit
:q!verlassen, falls du nichts ändern willst. - Mit
:wqspeichern und beenden.
🎯 Zusammenfassung
| Befehl | Beschreibung |
|---|---|
cat pyproject.toml |
Datei auf einmal anzeigen |
less pyproject.toml |
Datei seitenweise durchscrollen (q zum Beenden) |
nl pyproject.toml |
Datei mit Zeilennummern anzeigen |
nano pyproject.toml |
Datei im Editor öffnen (Ctrl + X zum Beenden) |
vim pyproject.toml |
Datei im Vim-Editor öffnen (:q! zum Verlassen) |
👉 Teste es und sag mir, wenn du Änderungen an der Datei machen möchtest! 🚀🔥
Adrachin:
tsc@macbook-pro-1 backend % cat pyproject.toml
[tool.poetry]
name = “open-webui-backend”
version = “0.1.0”
description = “Backend for Open WebUI”
authors = [“Your Name your.email@example.com”]
license = “MIT”
[tool.poetry.dependencies]
python = “^3.9”
fastapi = “^0.110.0”
uvicorn = “^0.27.1”
requests = “^2.32.3”
[build-system]
requires = [“poetry-core”]
build-backend = “poetry.core.masonry.api”
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ Deine pyproject.toml Datei sieht gut aus! 🎉
Jetzt können wir endlich die Backend-Abhängigkeiten installieren und das Backend starten. 🚀
✅ Schritt 19: Installiere die Python-Abhängigkeiten
Führe im backend-Verzeichnis aus:
poetry install
Falls es Probleme gibt, poste die Fehlermeldung, dann beheben wir sie.
✅ Schritt 20: Starte das Backend
Falls die Installation erfolgreich war, starte das Backend mit:
poetry run python main.py
🎯 Nächste Schritte
1️⃣ Falls das Backend läuft, öffne ein neues Terminal und starte das Frontend:
cd ~/open-webui
OLLAMA_API_BASE_URL=http://localhost:11434 npm run dev
2️⃣ Öffne Open WebUI im Browser:
👉 http://localhost:3000
🚀 Teste das und sag mir, ob das Backend jetzt läuft! 🔥
Adrachin:
tsc@macbook-pro-1 backend % poetry install
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Creating virtualenv open-webui-backend-p-K4Z5Gn-py3.9 in /Users/tsc/Library/Caches/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies… (1.8s)
Package operations: 17 installs, 0 updates, 0 removals
- Installing exceptiongroup (1.2.2)
- Installing idna (3.10)
- Installing sniffio (1.3.1)
- Installing typing-extensions (4.12.2)
- Installing annotated-types (0.7.0)
- Installing anyio (4.8.0)
- Installing pydantic-core (2.27.2)
- Installing certifi (2025.1.31)
- Installing charset-normalizer (3.4.1)
- Installing click (8.1.8)
- Installing h11 (0.14.0)
- Installing pydantic (2.10.6)
- Installing starlette (0.37.2)
- Installing urllib3 (2.3.0)
- Installing fastapi (0.110.3)
- Installing requests (2.32.3)
- Installing uvicorn (0.27.1)
Writing lock file
Installing the current project: open-webui-backend (0.1.0)
Error: The current project could not be installed: No file/folder found for package open-webui-backend
If you do not want to install the current project use —no-root.
If you want to use Poetry only for dependency management but not for packaging, you can disable package mode by setting package-mode = false in your pyproject.toml file.
If you did intend to install the current project, you may need to set packages in your pyproject.toml file.
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Fehler: “No file/folder found for package open-webui-backend”
Die Installation der Abhängigkeiten hat funktioniert, aber Poetry kann das Backend nicht als installierbares Paket erkennen.
Das liegt daran, dass wir kein packages-Feld in der pyproject.toml Datei definiert haben.
✅ Schritt 21: Fehler beheben – packages definieren
1️⃣ Öffne die pyproject.toml Datei zur Bearbeitung
nano pyproject.toml
2️⃣ Füge diese Zeile unter [tool.poetry] hinzu:
packages = [{include = "backend"}]
Die Datei sollte dann so aussehen:
[tool.poetry]
name = "open-webui-backend"
version = "0.1.0"
description = "Backend for Open WebUI"
authors = ["Your Name <your.email@example.com>"]
license = "MIT"
packages = [{include = "backend"}] # Diese Zeile hinzufügen!
[tool.poetry.dependencies]
python = "^3.9"
fastapi = "^0.110.0"
uvicorn = "^0.27.1"
requests = "^2.32.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
3️⃣ Speichern und den Editor verlassen:
- Drücke
Ctrl + X, dannY, dannEnter.
✅ Schritt 22: Installation erneut ausführen
Führe jetzt erneut aus:
poetry install
Falls das nicht funktioniert, probiere:
poetry install --no-root
✅ Schritt 23: Backend starten
Falls die Installation jetzt erfolgreich war, starte das Backend mit:
poetry run python main.py
Falls es weiterhin Probleme gibt, poste die neue Fehlermeldung, dann lösen wir das! 🚀🔥
Adrachin:
tsc@macbook-pro-1 backend % poetry install
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Installing dependencies from lock file
No dependencies to install or update
Installing the current project: open-webui-backend (0.1.0)
/Users/tsc/open-webui/backend/backend does not contain any element
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Fehler: “/Users/tsc/open-webui/backend/backend does not contain any element”
Poetry sucht nach einem “backend”-Unterordner in backend, findet aber nichts.
Lass uns das Schritt für Schritt lösen! 🚀
✅ Schritt 24: Überprüfen, ob main.py existiert
Führe diesen Befehl aus:
ls -la ~/open-webui/backend
Falls du keine main.py Datei siehst, wurde die Backend-Struktur falsch gesetzt.
Falls main.py fehlt, erstelle sie mit:
touch ~/open-webui/backend/main.py
✅ Schritt 25: Korrigiere die pyproject.toml Konfiguration
1️⃣ Öffne die Datei:
nano pyproject.toml
2️⃣ Ändere die Zeile packages = [{include = "backend"}] zu:
packages = [{include = "main.py"}]
3️⃣ Speichere und beende (Ctrl + X, dann Y, dann Enter).
✅ Schritt 26: Neuinstallation der Abhängigkeiten
Jetzt versuche erneut:
poetry install --no-root
Falls das klappt, starte das Backend mit:
poetry run python main.py
🎯 Zusammenfassung
1️⃣ Prüfe, ob main.py existiert (ls -la ~/open-webui/backend)
2️⃣ Falls nicht, erstelle sie: touch ~/open-webui/backend/main.py
3️⃣ Ändere pyproject.toml → packages = [{include = "main.py"}]
4️⃣ Installiere Abhängigkeiten neu: poetry install --no-root
5️⃣ Starte das Backend mit poetry run python main.py
🚀 Teste das und sag mir, ob das Backend jetzt startet! 🔥
Adrachin:
tsc@macbook-pro-1 backend % ls -la ~/open-webui/backend
total 144
drwxr-xr-x 12 tsc staff 384 9 Mär 09:13 .
drwxr-xr-x 57 tsc staff 1824 9 Mär 08:43 ..
-rw-r—r— 1 tsc staff 150 9 Mär 08:20 .dockerignore
-rw-r—r— 1 tsc staff 119 9 Mär 08:20 .gitignore
drwxr-xr-x 3 tsc staff 96 9 Mär 08:20 data
-rwxr-xr-x 1 tsc staff 111 9 Mär 08:20 dev.sh
drwxr-xr-x 21 tsc staff 672 9 Mär 08:20 open_webui
-rw-r—r— 1 tsc staff 42595 9 Mär 09:13 poetry.lock
-rw-r—r— 1 tsc staff 390 9 Mär 09:17 pyproject.toml
-rw-r—r— 1 tsc staff 1773 9 Mär 08:20 requirements.txt
-rwxr-xr-x 1 tsc staff 2499 9 Mär 08:20 start.sh
-rw-r—r— 1 tsc staff 1542 9 Mär 08:20 start_windows.bat
tsc@macbook-pro-1 backend %
Windows bat hat da sicher nichts zu suchen. Das ist MacOS
LiquidGPT:
✅ Perfekt! Wir haben jetzt Klarheit über die Verzeichnisstruktur.
Ja, die start_windows.bat Datei gehört zur Windows-Version und kann ignoriert oder gelöscht werden.
👉 Wichtiger Punkt: Es gibt keine main.py, sondern ein open_webui Verzeichnis.
🔍 Warum funktioniert poetry install nicht?
- Poetry sucht nach einer Python-Hauptdatei (
main.py) oder einem richtigen Paket. - Dein Code scheint in
open_webui/zu liegen, aber Poetry weiß das noch nicht.
✅ Schritt 27: Poetry richtig konfigurieren
Lass uns das pyproject.toml File so anpassen, dass poetry das open_webui-Verzeichnis erkennt.
🔹 1. pyproject.toml öffnen
nano pyproject.toml
🔹 2. Ändere diese Zeile:
Ersetze:
packages = [{include = "backend"}]
Durch:
packages = [{include = "open_webui"}]
Speichere mit Ctrl + X, dann Y, dann Enter.
✅ Schritt 28: Abhängigkeiten neu installieren
Führe jetzt erneut aus:
poetry install
Falls das nicht funktioniert, probiere:
poetry install --no-root
✅ Schritt 29: Backend starten
Falls die Installation erfolgreich ist, starte das Backend mit:
poetry run python -m open_webui
Falls open_webui ein Unterverzeichnis mit weiteren Dateien hat, kann es sein, dass wir eine genaue Startdatei angeben müssen.
Führe daher diesen Befehl aus und schau, welche Python-Dateien existieren:
ls open_webui
Falls eine Datei wie main.py oder app.py existiert, starte sie mit:
poetry run python open_webui/main.py
oder
poetry run python open_webui/app.py
🎯 Zusammenfassung
1️⃣ pyproject.toml anpassen: packages = [{include = "open_webui"}]
2️⃣ Abhängigkeiten erneut installieren: poetry install --no-root
3️⃣ Backend starten: poetry run python -m open_webui
4️⃣ Falls nötig, eine spezifische Datei starten: poetry run python open_webui/main.py
🚀 Teste das und sag mir, was passiert! 🔥
Adrachin:
tsc@macbook-pro-1 backend % poetry install —no-root
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Installing dependencies from lock file
No dependencies to install or update
tsc@macbook-pro-1 backend % poetry run python -m open_webui
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Traceback (most recent call last):
File “/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/runpy.py”, line 188, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File “/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/runpy.py”, line 147, in _get_module_details
return _get_module_details(pkg_main_name, error)
File “/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/runpy.py”, line 111, in _get_module_details
import(pkg_name)
File “/Users/tsc/open-webui/backend/open_webui/init.py”, line 6, in
import typer
ModuleNotFoundError: No module named ‘typer’
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Fehler: ModuleNotFoundError: No module named 'typer'
Das bedeutet, dass typer fehlt, eine Abhängigkeit, die im Backend verwendet wird.
✅ Schritt 30: Fehlende Abhängigkeit typer installieren
Installiere typer mit poetry:
poetry add typer
Falls das nicht funktioniert, versuche:
poetry add typer --no-root
Danach probiere erneut, das Backend zu starten:
poetry run python -m open_webui
✅ Falls weitere Module fehlen
Falls nach typer ein anderer Fehler auftaucht wie “No module named XYZ”, dann installiere dieses fehlende Modul mit:
poetry add XYZ
und versuche dann erneut:
poetry run python -m open_webui
🎯 Zusammenfassung
1️⃣ Fehlende Abhängigkeit typer installieren:
poetry add typer
2️⃣ Falls nötig, weitere fehlende Module installieren (XYZ ersetzen):
poetry add XYZ
3️⃣ Backend starten:
poetry run python -m open_webui
🚀 Teste das und sag mir, ob typer jetzt funktioniert oder ob ein anderes Modul fehlt! 🔥
Adrachin:
tsc@macbook-pro-1 backend % poetry add typer
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.15.2 for typer
Updating dependencies
Resolving dependencies… (0.5s)
Package operations: 6 installs, 0 updates, 0 removals
- Installing mdurl (0.1.2)
- Installing markdown-it-py (3.0.0)
- Installing pygments (2.19.1)
- Installing rich (13.9.4)
- Installing shellingham (1.5.4)
- Installing typer (0.15.2)
Writing lock file
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ typer wurde erfolgreich installiert! 🎉
Jetzt können wir das Backend erneut starten. 🚀
✅ Schritt 31: Backend erneut starten
Führe jetzt aus:
poetry run python -m open_webui
Falls erneut ein ModuleNotFoundError für eine andere Bibliothek kommt, installiere sie mit:
poetry add fehlendes-modul
und starte das Backend erneut.
🎯 Erwartetes Ergebnis
- Falls alles funktioniert, sollte Open WebUI’s Backend jetzt starten.
- Falls ein weiterer Fehler kommt, poste die Fehlermeldung, dann fixen wir das. 🚀🔥
Testen und schauen, ob es läuft! 🎉
Adrachin:
tsc@macbook-pro-1 backend % poetry run python -m open_webui
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.9/bin/python: No module named open_webui.main; ‘open_webui’ is a package and cannot be directly executed
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Fehler: “No module named open_webui.main”
Dieser Fehler bedeutet, dass open_webui ein Paket ist, aber keine ausführbare Hauptdatei (__main__.py oder main.py) hat.
Poetry kann das Backend daher nicht direkt starten.
✅ Schritt 32: Überprüfe, wie Open WebUI gestartet werden soll
Lass uns prüfen, ob es eine richtige Startdatei gibt:
1️⃣ Liste den Inhalt des open_webui-Ordners auf:
ls open_webui
2️⃣ Suche nach einer Startdatei wie main.py oder app.py
Falls eine der folgenden Dateien existiert, starte sie mit:
poetry run python open_webui/main.py
oder
poetry run python open_webui/app.py
oder
poetry run python open_webui/server.py
Falls keine Datei gefunden wird, brauchen wir eine korrekte __main__.py.
✅ Schritt 33: Falls keine Hauptdatei existiert, erstelle __main__.py
Falls es keine main.py gibt, erstelle eine neue Datei:
nano open_webui/__main__.py
Füge Folgendes ein:
from .app import main
if __name__ == "__main__":
main()
Dann Speichern und beenden:
- Drücke
Ctrl + X, dannY, dannEnter.
Starte das Backend dann erneut:
poetry run python -m open_webui
🎯 Zusammenfassung
1️⃣ Überprüfe, welche Python-Dateien in open_webui existieren:
ls open_webui
2️⃣ Falls main.py oder app.py existiert, starte sie mit:
poetry run python open_webui/main.py
3️⃣ Falls keine Datei existiert, erstelle __main__.py und füge den Code hinzu.
4️⃣ Starte das Backend erneut:
poetry run python -m open_webui
🚀 Teste das und sag mir, was passiert! 🔥
Adrachin:
tsc@macbook-pro-1 backend % ls open_webui
init.py constants.py functions.py migrations routers storage utils
alembic.ini data internal models socket tasks.py
config.py env.py main.py retrieval static test
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ Wir haben eine main.py gefunden! 🎉
Das bedeutet, dass wir das Backend direkt mit dieser Datei starten können.
✅ Schritt 34: Backend mit main.py starten
Da open_webui/main.py existiert, probiere:
poetry run python open_webui/main.py
Falls das nicht funktioniert, probiere:
poetry run python -m open_webui.main
🔍 Falls Fehler auftreten
Falls das Backend trotzdem nicht startet:
- Poste die genaue Fehlermeldung, dann fixen wir das.
- Falls eine weitere fehlende Bibliothek gemeldet wird, installiere sie mit:
poetry add fehlendes-modul
🚀 Teste den Start und sag mir, ob es funktioniert oder ob eine Fehlermeldung kommt! 🔥
Adrachin:
Irgendwie beschleicht mich das Gefühl dass das bisherige Vorgehen nicht unbedingt straight forward und systematisch ist. Wieder fehlt etwas:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 15, in
from sqlalchemy import text
ModuleNotFoundError: No module named ‘sqlalchemy’
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Problem: “No module named ‘sqlalchemy’”
Das bedeutet, dass sqlalchemy nicht installiert ist. Es scheint, als würden einige Abhängigkeiten fehlen oder nicht richtig verwaltet werden.
✅ Schritt 1: Systematisches Vorgehen – Erst prüfen, dann fixen
Anstatt immer nur fehlende Module nachzuinstallieren, gehen wir sauber und strukturiert vor.
1️⃣ Überprüfe die pyproject.toml, ob sqlalchemy als Abhängigkeit drin ist
Führe diesen Befehl aus:
cat pyproject.toml | grep sqlalchemy
- Falls
sqlalchemygelistet ist, bedeutet das, dasspoetry installes nicht richtig installiert hat. - Falls es NICHT gelistet ist, müssen wir es als Abhängigkeit hinzufügen.
2️⃣ Falls sqlalchemy fehlt, füge es mit Poetry hinzu
Falls sqlalchemy nicht in der pyproject.toml steht, installiere es jetzt sauber:
poetry add sqlalchemy
Falls du async-Datenbanken nutzt (z. B. mit FastAPI), installiere auch:
poetry add sqlalchemy[asyncio]
3️⃣ Falls die Abhängigkeit bereits vorhanden ist, erzwinge eine Neuinstallation
Falls sqlalchemy schon in pyproject.toml war, dann zwinge Poetry dazu, die Abhängigkeiten neu zu installieren:
poetry install --no-root
Falls du ein beschädigtes venv vermutest, entferne es und installiere alles neu:
poetry env remove python
poetry install
4️⃣ Starte das Backend erneut
Falls die Installation erfolgreich war, starte das Backend:
poetry run python open_webui/main.py
Falls ein weiteres Modul fehlt, bedeutet das, dass wir nicht alle Abhängigkeiten installiert haben.
In diesem Fall müssen wir prüfen, ob es eine vollständige requirements.txt oder eine vollständige pyproject.toml gibt, um alles in einem Schritt zu fixen.
🎯 Zusammenfassung – Saubere und systematische Fixes
1️⃣ Prüfe, ob sqlalchemy in pyproject.toml existiert:
cat pyproject.toml | grep sqlalchemy
2️⃣ Falls es fehlt, installiere es mit Poetry:
poetry add sqlalchemy
3️⃣ Falls es vorhanden ist, aber nicht installiert wurde, installiere es erneut:
poetry install --no-root
4️⃣ Falls nötig, entferne das virtuelle Environment und installiere alles neu:
poetry env remove python
poetry install
5️⃣ Starte das Backend erneut:
poetry run python open_webui/main.py
🚀 Teste das und sag mir, ob sqlalchemy jetzt funktioniert oder ob ein neues Modul fehlt! 🔥
Adrachin:
Wozu brauche ich das?
LiquidGPT:
Gute Frage! Du brauchst sqlalchemy[asyncio] nur, wenn dein Backend eine asynchrone Datenbankverbindung nutzt – das ist oft der Fall bei FastAPI oder anderen modernen Web-Frameworks.
✅ Wann brauchst du sqlalchemy[asyncio]?
-
Falls dein Code mit
async defundawaitarbeitet, z. B.:from sqlalchemy.ext.asyncio import AsyncSession async def get_users(session: AsyncSession): result = await session.execute("SELECT * FROM users") return result.fetchall() -
Falls du eine
async-fähige Datenbank nutzt (z. B.asyncpgfür PostgreSQL oderaiomysqlfür MySQL). -
Falls dein Web-Framework FastAPI ist und du asynchron arbeiten willst.
❌ Wann brauchst du es NICHT?
- Falls dein Code nur synchron läuft, also alles mit
defstattasync def. - Falls du keine asynchrone Datenbank verwendest (z. B. SQLite oder eine normale MySQL/PostgreSQL-Installation ohne
asyncpg).
🔍 Wie kannst du prüfen, ob dein Backend async nutzt?
Führe diesen Befehl aus:
cat open_webui/main.py | grep "async def"
Falls du async def Methoden siehst, ist das Backend asynchron und sqlalchemy[asyncio] wäre sinnvoll.
Falls kein async def vorkommt, reicht einfach:
poetry add sqlalchemy
🎯 Kurzfassung
- Ja, falls dein Code
async defoderawaitnutzt. - Nein, falls alles synchron (
defohneasync) läuft.
👉 Teste es mit grep, dann wissen wir es genau! 🚀
Adrachin:
tsc@macbook-pro-1 backend % cat open_webui/main.py | grep “async def”
async def get_response(self, path: str, scope):
async def lifespan(app: FastAPI):
async def dispatch(self, request: Request, call_next):
async def commit_session_after_request(request: Request, call_next):
async def check_url(request: Request, call_next):
async def inspect_websocket(request: Request, call_next):
async def get_models(request: Request, user=Depends(get_verified_user)):
async def get_base_models(request: Request, user=Depends(get_admin_user)):
async def chat_completion(
async def chat_completed(
async def chat_action(
async def stop_task_endpoint(task_id: str, user=Depends(get_verified_user)):
async def list_tasks_endpoint(user=Depends(get_verified_user)):
async def get_app_config(request: Request):
async def get_webhook_url(user=Depends(get_admin_user)):
async def update_webhook_url(form_data: UrlForm, user=Depends(get_admin_user)):
async def get_app_version():
async def get_app_latest_release_version(user=Depends(get_verified_user)):
async def get_app_changelog():
async def oauth_login(provider: str, request: Request):
async def oauth_callback(provider: str, request: Request, response: Response):
async def get_manifest_json():
async def get_opensearch_xml():
async def healthcheck():
async def healthcheck_with_db():
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ Das Backend nutzt async def – das bedeutet, dass sqlalchemy[asyncio] erforderlich ist! 🎉
✅ Schritt 35: Installiere sqlalchemy[asyncio]
Da dein Backend asynchron ist, installiere jetzt sqlalchemy mit Async-Unterstützung:
poetry add sqlalchemy[asyncio]
Falls du eine asynchrone PostgreSQL- oder MySQL-Datenbank nutzt, installiere auch den passenden Treiber:
- PostgreSQL mit
asyncpg:poetry add asyncpg - MySQL mit
aiomysql:poetry add aiomysql
✅ Schritt 36: Backend erneut starten
Falls die Installation erfolgreich war, versuche erneut:
poetry run python open_webui/main.py
Falls ein weiteres Modul fehlt, poste die Fehlermeldung, damit wir es endgültig fixen können. 🚀🔥
Adrachin:
tsc@macbook-pro-1 backend % poetry add sqlalchemy[asyncio]
zsh: no matches found: sqlalchemy[asyncio]
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Fehler: “zsh: no matches found: sqlalchemy[asyncio]”
Das passiert, weil zsh eckige Klammern [] als spezielle Zeichen interpretiert. Du kannst das Problem ganz einfach lösen! 🚀
✅ Schritt 1: Nutze Anführungszeichen oder Escape-Zeichen
Versuche eine der folgenden Methoden:
🔹 Methode 1: Anführungszeichen nutzen (empfohlen)
poetry add "sqlalchemy[asyncio]"
🔹 Methode 2: Escape-Zeichen nutzen
poetry add sqlalchemy\[asyncio\]
✅ Schritt 2: Backend erneut starten
Falls die Installation erfolgreich war, starte das Backend mit:
poetry run python open_webui/main.py
Falls ein weiteres Modul fehlt, poste die genaue Fehlermeldung, dann fixen wir das. 🚀🔥
Adrachin:
Ich frage mich wieso es eine Methode zur Prüfung von Abhängigkeiten gibt wenn hinterher doch noch vieles fehlt.
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 18, in
from aiocache import cached
ModuleNotFoundError: No module named ‘aiocache’
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Problem: “ModuleNotFoundError: No module named ‘aiocache’”
Ja, ich verstehe deine Frustration. Das Problem liegt darin, dass die pyproject.toml Datei nicht alle Abhängigkeiten enthält, die das Projekt tatsächlich benötigt.
Das sollte eigentlich nicht passieren, aber es gibt eine systematische Lösung. 🚀
✅ Schritt 1: Fehlendes Modul aiocache installieren
Da das Backend aiocache verwendet, installiere es jetzt mit Poetry:
poetry add aiocache
Falls noch weitere Module fehlen, dann müssen wir eine komplette Neuinstallation aller Abhängigkeiten durchführen.
✅ Schritt 2: Überprüfung der vollständigen Abhängigkeitsliste
🔍 Option 1: Gibt es eine requirements.txt Datei?
Schau nach, ob es eine requirements.txt gibt:
ls -la | grep requirements.txt
Falls die Datei existiert, dann installiere einfach alle Abhängigkeiten in einem Schritt:
poetry add $(cat requirements.txt)
🔍 Option 2: Automatische Abhängigkeitsprüfung mit pipreqs
Falls keine vollständige Abhängigkeitsliste existiert, können wir mit pipreqs automatisch alle benötigten Pakete aus dem Code extrahieren.
Installiere pipreqs:
poetry add pipreqs
Dann lasse es laufen:
poetry run pipreqs open_webui --force
Dadurch wird eine vollständige requirements.txt generiert.
Installiere danach alle Abhängigkeiten:
poetry add $(cat open_webui/requirements.txt)
✅ Schritt 3: Backend erneut starten
Nach der Installation aller Abhängigkeiten starte das Backend wieder:
poetry run python open_webui/main.py
Falls es wieder ein fehlendes Modul gibt, dann haben wir noch nicht alle Abhängigkeiten erwischt.
🎯 Zusammenfassung: Systematische Fehlerbehebung
1️⃣ Fehlendes Modul aiocache installieren:
poetry add aiocache
2️⃣ Prüfe, ob eine requirements.txt existiert und installiere alle Pakete:
ls -la | grep requirements.txt
poetry add $(cat requirements.txt)
3️⃣ Falls requirements.txt fehlt, erstelle sie mit pipreqs und installiere alle Pakete:
poetry add pipreqs
poetry run pipreqs open_webui --force
poetry add $(cat open_webui/requirements.txt)
4️⃣ Starte das Backend erneut:
poetry run python open_webui/main.py
🚀 Teste das und sag mir, ob es jetzt läuft oder ob wieder ein Modul fehlt! 🔥
Adrachin:
tsc@macbook-pro-1 backend % ls -la | grep requirements.txt
-rw-r—r— 1 tsc staff 1773 9 Mär 08:20 requirements.txt
tsc@macbook-pro-1 backend % poetry add $(cat requirements.txt)
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
The following packages are already present in the pyproject.toml and will be skipped:
- aiocache
If you want to update it to the latest compatible version, you can use poetry update package.
If you prefer to upgrade it to the latest available version, you can use poetry add package@latest.
Using version ^5.0.1 for async-timeout
Using version ^24.1.0 for aiofiles
Using version ^4.11.2 for pymongo
Using version ^5.2.1 for redis
‘files’
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ Jetzt haben wir fast alle Abhängigkeiten installiert! 🎉
Aber es scheint, als wäre das files-Modul nicht erkannt worden. Das könnte ein Problem mit dem Format der requirements.txt sein.
✅ Schritt 1: Überprüfe requirements.txt
Führe diesen Befehl aus, um den Inhalt zu prüfen:
cat requirements.txt
Falls es eine Zeile mit files gibt, die isoliert steht oder fehlerhaft aussieht, dann könnte das der Fehler sein.
Falls ja, entferne sie oder korrigiere sie.
✅ Schritt 2: Installiere alle Abhängigkeiten erneut (sicherstellen)
Falls nach files noch andere Module fehlen, installiere alle Abhängigkeiten nochmals sauber:
poetry install --no-root
Falls das nicht reicht, kannst du auch ein erzwungenes Update für alle installierten Pakete machen:
poetry update
✅ Schritt 3: Backend starten
Falls die Installation sauber durchging, starte das Backend erneut:
poetry run python open_webui/main.py
Falls wieder eine neue fehlende Abhängigkeit auftaucht, poste die Fehlermeldung. 🚀🔥
Adrachin:
tsc@macbook-pro-1 backend % cat requirements.txt
fastapi==0.115.7
uvicorn[standard]==0.34.0
pydantic==2.10.6
python-multipart==0.0.18
python-socketio==5.11.3
python-jose==3.4.0
passlib[bcrypt]==1.7.4
requests==2.32.3
aiohttp==3.11.11
async-timeout
aiocache
aiofiles
sqlalchemy==2.0.38
alembic==1.14.0
peewee==3.17.9
peewee-migrate==1.12.2
psycopg2-binary==2.9.9
pgvector==0.3.5
PyMySQL==1.1.1
bcrypt==4.3.0
pymongo
redis
boto3==1.35.53
argon2-cffi==23.1.0
APScheduler==3.10.4
RestrictedPython==8.0
loguru==0.7.2
asgiref==3.8.1
AI libraries
openai
anthropic
google-generativeai==0.7.2
tiktoken
langchain==0.3.19
langchain-community==0.3.18
fake-useragent==1.5.1
chromadb==0.6.2
pymilvus==2.5.0
qdrant-client~=1.12.0
opensearch-py==2.8.0
playwright==1.49.1 # Caution: version must match docker-compose.playwright.yaml
elasticsearch==8.17.1
transformers
sentence-transformers==3.3.1
colbert-ai==0.2.21
einops==0.8.0
ftfy==6.2.3
pypdf==4.3.1
fpdf2==2.8.2
pymdown-extensions==10.14.2
docx2txt==0.8
python-pptx==1.0.0
unstructured==0.16.17
nltk==3.9.1
Markdown==3.7
pypandoc==1.13
pandas==2.2.3
openpyxl==3.1.5
pyxlsb==1.0.10
xlrd==2.0.1
validators==0.34.0
psutil
sentencepiece
soundfile==0.13.1
azure-ai-documentintelligence==1.0.0
opencv-python-headless==4.11.0.86
rapidocr-onnxruntime==1.3.24
rank-bm25==0.2.2
faster-whisper==1.1.1
PyJWT[crypto]==2.10.1
authlib==1.4.1
black==25.1.0
langfuse==2.44.0
youtube-transcript-api==0.6.3
pytube==15.0.0
extract_msg
pydub
duckduckgo-search~=7.3.2
Google Drive
google-api-python-client
google-auth-httplib2
google-auth-oauthlib
Tests
docker~=7.1.0
pytest~=8.3.2
pytest-docker~=3.1.1
googleapis-common-protos==1.63.2
google-cloud-storage==2.19.0
azure-identity==1.20.0
azure-storage-blob==12.24.1
LDAP
ldap3==2.9.1
Firecrawl
firecrawl-py==1.12.0
LiquidGPT:
✅ Das ist eine vollständige requirements.txt – damit können wir nun ALLE fehlenden Abhängigkeiten installieren! 🎉
✅ Schritt 1: Alle fehlenden Abhängigkeiten auf einmal installieren
Anstatt jede fehlende Bibliothek einzeln zu installieren, installiere einfach alles auf einmal:
poetry add $(cat requirements.txt)
Falls es Fehler gibt, probiere:
poetry add $(grep -v '^#' requirements.txt)
(Dies entfernt alle Kommentarzeilen # aus der Installation.)
Falls zsh meckert, probiere:
poetry add "$(cat requirements.txt)"
✅ Schritt 2: Backend starten
Falls die Installation erfolgreich war, starte das Backend mit:
poetry run python open_webui/main.py
Falls wieder ein Modul fehlt, poste die neue Fehlermeldung, dann beheben wir es final! 🚀🔥
Adrachin:
tsc@macbook-pro-1 backend % poetry add $(cat requirements.txt)
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
The following packages are already present in the pyproject.toml and will be skipped:
- aiocache
If you want to update it to the latest compatible version, you can use poetry update package.
If you prefer to upgrade it to the latest available version, you can use poetry add package@latest.
Using version ^5.0.1 for async-timeout
Using version ^24.1.0 for aiofiles
Using version ^4.11.2 for pymongo
Using version ^5.2.1 for redis
‘files’
tsc@macbook-pro-1 backend % poetry add $(grep -v ‘^#’ requirements.txt)
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
The following packages are already present in the pyproject.toml and will be skipped:
- aiocache
If you want to update it to the latest compatible version, you can use poetry update package.
If you prefer to upgrade it to the latest available version, you can use poetry add package@latest.
Using version ^5.0.1 for async-timeout
Using version ^24.1.0 for aiofiles
Using version ^4.11.2 for pymongo
Using version ^5.2.1 for redis
Using version ^1.65.4 for openai
Using version ^0.49.0 for anthropic
Using version ^0.9.0 for tiktoken
‘files’
tsc@macbook-pro-1 backend % poetry add “$(cat requirements.txt)”
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not parse version constraint: AI
tsc@macbook-pro-1 backend %
LiquidGPT:
❌ Problem: “Could not parse version constraint: AI” & “files”
Die Fehlermeldungen bedeuten, dass Poetry einige Einträge in der requirements.txt nicht richtig versteht.
Ursachen:
1️⃣ Bestimmte Einträge wie files oder AI werden als Modul interpretiert
2️⃣ Einige Module haben keine genaue Versionsangabe (openai, tiktoken, etc.)
3️⃣ ZSH kann bestimmte Zeichen in der Datei nicht verarbeiten
✅ Schritt 1: Bereinige requirements.txt
Erstelle eine bereinigte Version ohne fehlerhafte Einträge:
grep -v -E "^#|^files|^AI|^ " requirements.txt > clean-requirements.txt
Dadurch wird:
- Kommentare (
#am Anfang) entfernt - Fehlerhafte Einträge wie
files,AIoder Leerzeilen entfernt
👉 Prüfe den Inhalt mit:
cat clean-requirements.txt
✅ Schritt 2: Installiere alle bereinigten Abhängigkeiten
Nun installiere alle bereinigten Abhängigkeiten mit:
poetry add $(cat clean-requirements.txt)
Falls immer noch Fehler auftreten, probiere:
poetry add "$(grep -v -E '^#|^files|^AI|^ ' requirements.txt)"
Falls zsh trotzdem meckert, nutze:
while read p; do poetry add "$p"; done < clean-requirements.txt
✅ Schritt 3: Backend starten
Falls die Installation erfolgreich war, starte das Backend:
poetry run python open_webui/main.py
Falls wieder eine Fehlermeldung auftaucht, poste sie hier, dann fixen wir das endgültig! 🚀🔥
Adrachin:
Dieser Befehl:
while read p; do poetry add “$p”; done < clean-requirements.txt
hat eine umfangreiche Installation angestossen. Hier die Ausgabe:
tsc@macbook-pro-1 backend % while read p; do poetry add “$p”; done < clean-requirements.txt
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.3s)
Package operations: 0 installs, 2 updates, 0 removals
- Updating starlette (0.37.2 -> 0.45.3)
- Updating fastapi (0.110.3 -> 0.115.7)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.7s)
Package operations: 6 installs, 1 update, 0 removals
- Installing httptools (0.6.4)
- Installing python-dotenv (1.0.1)
- Installing pyyaml (6.0.2)
- Installing uvloop (0.21.0)
- Installing watchfiles (1.0.4)
- Installing websockets (15.0.1)
- Updating uvicorn (0.27.1 -> 0.34.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.2s)
Package operations: 1 install, 0 updates, 0 removals
- Installing python-multipart (0.0.18)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.6s)
Package operations: 5 installs, 0 updates, 0 removals
- Installing wsproto (1.2.0)
- Installing simple-websocket (1.1.0)
- Installing bidict (0.23.1)
- Installing python-engineio (4.11.2)
- Installing python-socketio (5.11.3)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.6s)
Package operations: 5 installs, 0 updates, 0 removals
- Installing pyasn1 (0.4.8)
- Installing six (1.17.0)
- Installing ecdsa (0.19.0)
- Installing rsa (4.9)
- Installing python-jose (3.4.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.2s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing bcrypt (4.3.0)
- Installing passlib (1.7.4)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.0s)
Package operations: 9 installs, 0 updates, 0 removals
- Installing frozenlist (1.5.0)
- Installing multidict (6.1.0)
- Installing propcache (0.3.0)
- Installing aiohappyeyeballs (2.5.0)
- Installing aiosignal (1.3.2)
- Installing async-timeout (5.0.1)
- Installing attrs (25.1.0)
- Installing yarl (1.18.3)
- Installing aiohttp (3.11.11)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^5.0.1 for async-timeout
Updating dependencies
Resolving dependencies… (0.1s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
The following packages are already present in the pyproject.toml and will be skipped:
- aiocache
If you want to update it to the latest compatible version, you can use poetry update package.
If you prefer to upgrade it to the latest available version, you can use poetry add package@latest.
Nothing to add.
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^24.1.0 for aiofiles
Updating dependencies
Resolving dependencies… (0.3s)
Package operations: 1 install, 0 updates, 0 removals
- Installing aiofiles (24.1.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.4s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing markupsafe (3.0.2)
- Installing mako (1.3.9)
- Installing alembic (1.14.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… Downloading https://files.pythonhosted.org/packages/57/09/4393bd378e70b7fc3163ee83353cc27bb5Resolving dependencies… (2.0s)
Package operations: 1 install, 0 updates, 0 removals
- Installing peewee (3.17.9)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.3s)
Package operations: 1 install, 0 updates, 0 removals
- Installing peewee-migrate (1.12.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.3s)
Package operations: 1 install, 0 updates, 0 removals
- Installing psycopg2-binary (2.9.9)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.3s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing numpy (2.0.2)
- Installing pgvector (0.3.5)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.2s)
Package operations: 1 install, 0 updates, 0 removals
- Installing pymysql (1.1.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^4.11.2 for pymongo
Updating dependencies
Resolving dependencies… (0.3s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing dnspython (2.7.0)
- Installing pymongo (4.11.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^5.2.1 for redis
Updating dependencies
Resolving dependencies… (0.2s)
Package operations: 1 install, 0 updates, 0 removals
- Installing redis (5.2.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (3.5s)
Package operations: 5 installs, 1 update, 0 removals
- Installing jmespath (1.0.1)
- Installing python-dateutil (2.9.0.post0)
- Downgrading urllib3 (2.3.0 -> 1.26.20)
- Installing botocore (1.35.99)
- Installing s3transfer (0.10.4)
- Installing boto3 (1.35.53)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.7s)
Package operations: 4 installs, 0 updates, 0 removals
- Installing pycparser (2.22)
- Installing cffi (1.17.1)
- Installing argon2-cffi-bindings (21.2.0)
- Installing argon2-cffi (23.1.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.5s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing pytz (2025.1)
- Installing tzlocal (5.3.1)
- Installing apscheduler (3.10.4)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
The current project’s supported Python range (>=3.9,<4.0) is not compatible with some of the required packages Python requirement:
- restrictedpython requires Python <3.14,>=3.9, so it will not be installable for Python >=3.14,<4.0
Because open-webui-backend depends on restrictedpython (8.0) which requires Python <3.14,>=3.9, version solving failed.
-
Check your dependencies Python requirement: The Python requirement can be specified via the
pythonormarkerspropertiesFor restrictedpython, a possible solution would be to set the
pythonproperty to “>=3.9,<3.14”https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
https://python-poetry.org/docs/dependency-specification/#using-environment-markers
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.3s)
Package operations: 1 install, 0 updates, 0 removals
- Installing loguru (0.7.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.2s)
Package operations: 1 install, 0 updates, 0 removals
- Installing asgiref (3.8.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^1.65.4 for openai
Updating dependencies
Resolving dependencies… (0.7s)
Package operations: 6 installs, 0 updates, 0 removals
- Installing httpcore (1.0.7)
- Installing distro (1.9.0)
- Installing httpx (0.28.1)
- Installing jiter (0.8.2)
- Installing tqdm (4.67.1)
- Installing openai (1.65.4)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.49.0 for anthropic
Updating dependencies
Resolving dependencies… (0.4s)
Package operations: 1 install, 0 updates, 0 removals
- Installing anthropic (0.49.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (2.7s)
Package operations: 16 installs, 0 updates, 0 removals
- Installing protobuf (4.25.6)
- Installing cachetools (5.5.2)
- Installing googleapis-common-protos (1.69.1)
- Installing grpcio (1.70.0)
- Installing pyasn1-modules (0.4.1)
- Installing pyparsing (3.2.1)
- Installing google-auth (2.38.0)
- Installing grpcio-status (1.62.3)
- Installing httplib2 (0.22.0)
- Installing proto-plus (1.26.0)
- Installing google-api-core (2.24.1)
- Installing google-auth-httplib2 (0.2.0)
- Installing uritemplate (4.1.1)
- Installing google-ai-generativelanguage (0.6.6)
- Installing google-api-python-client (2.163.0)
- Installing google-generativeai (0.7.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.9.0 for tiktoken
Updating dependencies
Resolving dependencies… (0.8s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing regex (2024.11.6)
- Installing tiktoken (0.9.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.2s)
Because langchain (0.3.19) depends on async-timeout (>=4.0.0,<5.0.0)
and open-webui-backend depends on async-timeout (>=5.0.1,<6.0.0), langchain is forbidden.
So, because open-webui-backend depends on langchain (0.3.19), version solving failed.
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.4s)
Because no versions of langchain match >0.3.19,<0.3.20 || >0.3.20,<1.0.0
and langchain (0.3.19) depends on async-timeout (>=4.0.0,<5.0.0), langchain (>=0.3.19,<0.3.20 || >0.3.20,<1.0.0) requires async-timeout (>=4.0.0,<5.0.0).
And because langchain (0.3.20) depends on async-timeout (>=4.0.0,<5.0.0)
and langchain-community (0.3.18) depends on langchain (>=0.3.19,<1.0.0), langchain-community (0.3.18) requires async-timeout (>=4.0.0,<5.0.0).
So, because open-webui-backend depends on both async-timeout (>=5.0.1,<6.0.0) and langchain-community (0.3.18), version solving failed.
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.5s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing zipp (3.21.0)
- Installing importlib-resources (6.5.2)
- Installing fake-useragent (1.5.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (8.9s)
Package operations: 43 installs, 0 updates, 0 removals
-
Installing wrapt (1.17.2)
-
Installing deprecated (1.2.18)
-
Installing importlib-metadata (8.4.0)
-
Installing opentelemetry-api (1.27.0)
-
Installing setuptools (75.9.1)
-
Installing filelock (3.17.0)
-
Installing fsspec (2025.3.0)
-
Installing humanfriendly (10.0)
-
Installing mpmath (1.3.0)
-
Installing oauthlib (3.2.2)
-
Installing opentelemetry-instrumentation (0.48b0)
-
Installing opentelemetry-proto (1.27.0)
-
Installing opentelemetry-semantic-conventions (0.48b0)
-
Installing opentelemetry-util-http (0.48b0)
-
Installing packaging (24.2)
-
Installing backoff (2.2.1)
-
Installing coloredlogs (15.0.1)
-
Installing durationpy (0.9)
-
Installing flatbuffers (25.2.10)
-
Installing huggingface-hub (0.29.2)
-
Installing monotonic (1.6)
-
Installing opentelemetry-exporter-otlp-proto-common (1.27.0)
-
Installing opentelemetry-instrumentation-asgi (0.48b0)
-
Installing opentelemetry-sdk (1.27.0)
-
Installing pyproject-hooks (1.2.0)
-
Installing requests-oauthlib (2.0.0)
-
Installing sympy (1.13.3)
-
Installing tomli (2.2.1)
-
Installing websocket-client (1.8.0)
-
Installing build (1.2.2.post1)
-
Installing chroma-hnswlib (0.7.6)
-
Installing kubernetes (32.0.1)
-
Installing mmh3 (5.1.0)
-
Installing onnxruntime (1.20.1): Failed
| Unable to find installation candidates for onnxruntime (1.20.1)
|
| This is likely not a Poetry issue.
|
| - 21 candidate(s) were identified for the package
| - 21 wheel(s) were skipped as your project’s environment does not support the identified abi tags
|
| Solutions:
| Make sure the lockfile is up-to-date. You can try one of the following;
|
| 1. Regenerate lockfile: poetry lock —no-cache —regenerate
| 2. Update package : poetry update —no-cache onnxruntime
|
| If neither works, please first check to verify that the onnxruntime has published wheels available from your configured source that are compatible with your environment- ie. operating system, architecture (x86_64, arm64 etc.), python interpreter.
|
| You can also run your poetry command with -v to see more information. -
Installing opentelemetry-exporter-otlp-proto-grpc (1.27.0)
-
Installing opentelemetry-instrumentation-fastapi (0.48b0)
-
Installing orjson (3.10.15)
-
Installing overrides (7.7.0)
-
Installing posthog (3.19.0)
-
Installing pypika (0.48.9)
-
Installing tenacity (9.0.0)
-
Installing tokenizers (0.21.0)
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.4s)
Package operations: 5 installs, 1 update, 0 removals
- Downgrading grpcio (1.70.0 -> 1.67.1)
- Installing tzdata (2025.1)
- Installing milvus-lite (2.4.11)
- Installing pandas (2.2.3)
- Installing ujson (5.10.0)
- Installing pymilvus (2.5.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (2.7s)
Package operations: 6 installs, 0 updates, 0 removals
- Installing hpack (4.1.0)
- Installing hyperframe (6.1.0)
- Installing h2 (4.2.0)
- Installing grpcio-tools (1.62.3)
- Installing portalocker (2.10.1)
- Installing qdrant-client (1.12.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.9s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing events (0.5)
- Installing opensearch-py (2.8.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.7s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing pyee (12.0.0)
- Installing playwright (1.49.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.6s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing elastic-transport (8.17.0)
- Installing elasticsearch (8.17.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^4.49.0 for transformers
Updating dependencies
Resolving dependencies… (0.8s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing safetensors (0.5.3)
- Installing transformers (4.49.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (3.7s)
Package operations: 9 installs, 1 update, 0 removals
- Installing jinja2 (3.1.6)
- Installing joblib (1.4.2)
- Installing networkx (3.2.1)
- Installing scipy (1.13.1)
- Downgrading sympy (1.13.3 -> 1.13.1)
- Installing threadpoolctl (3.5.0)
- Installing pillow (11.1.0)
- Installing scikit-learn (1.6.1)
- Installing torch (2.6.0)
- Installing sentence-transformers (3.3.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (8.5s)
Package operations: 16 installs, 1 update, 0 removals
- Installing smmap (5.0.2)
- Installing dill (0.3.7)
- Installing gitdb (4.0.12)
- Installing blinker (1.9.0)
- Installing gitpython (3.1.44)
- Updating importlib-metadata (8.4.0 -> 8.6.1)
- Installing itsdangerous (2.2.0)
- Installing multiprocess (0.70.15)
- Installing pyarrow (19.0.1)
- Installing werkzeug (3.1.3)
- Installing xxhash (3.5.0)
- Installing bitarray (3.1.1)
- Installing datasets (2.14.4)
- Installing flask (3.1.0)
- Installing git-python (1.0.3)
- Installing ninja (1.11.1.3)
- Installing colbert-ai (0.2.21)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.0s)
Package operations: 1 install, 0 updates, 0 removals
- Installing einops (0.8.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.0s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing wcwidth (0.2.13)
- Installing ftfy (6.2.3)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.9s)
Package operations: 1 install, 0 updates, 0 removals
- Installing pypdf (4.3.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.2s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing defusedxml (0.7.1)
- Installing fonttools (4.56.0)
- Installing fpdf2 (2.8.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.0s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing markdown (3.7)
- Installing pymdown-extensions (10.14.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.7s)
Package operations: 1 install, 0 updates, 0 removals
- Installing docx2txt (0.8)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.3s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing lxml (5.3.1)
- Installing xlsxwriter (3.2.2)
- Installing python-pptx (1.0.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
The current project’s supported Python range (>=3.9,<4.0) is not compatible with some of the required packages Python requirement:
- unstructured requires Python <3.13,>=3.9.0, so it will not be installable for Python >=3.13,<4.0
Because open-webui-backend depends on unstructured (0.16.17) which requires Python <3.13,>=3.9.0, version solving failed.
-
Check your dependencies Python requirement: The Python requirement can be specified via the
pythonormarkerspropertiesFor unstructured, a possible solution would be to set the
pythonproperty to “>=3.9,<3.13”https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
https://python-poetry.org/docs/dependency-specification/#using-environment-markers
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.9s)
Package operations: 1 install, 0 updates, 0 removals
- Installing nltk (3.9.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.8s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.0s)
Package operations: 1 install, 0 updates, 0 removals
- Installing pypandoc (1.13)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.8s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.0s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing et-xmlfile (2.0.0)
- Installing openpyxl (3.1.5)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.9s)
Package operations: 1 install, 0 updates, 0 removals
- Installing pyxlsb (1.0.10)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.9s)
Package operations: 1 install, 0 updates, 0 removals
- Installing xlrd (2.0.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.9s)
Package operations: 1 install, 0 updates, 0 removals
- Installing validators (0.34.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^7.0.0 for psutil
Updating dependencies
Resolving dependencies… (0.8s)
Package operations: 1 install, 0 updates, 0 removals
- Installing psutil (7.0.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.2.0 for sentencepiece
Updating dependencies
Resolving dependencies… (1.1s)
Package operations: 1 install, 0 updates, 0 removals
- Installing sentencepiece (0.2.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.9s)
Package operations: 1 install, 0 updates, 0 removals
- Installing soundfile (0.13.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.1s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing azure-core (1.32.0)
- Installing isodate (0.7.2)
- Installing azure-ai-documentintelligence (1.0.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.1s)
Package operations: 1 install, 0 updates, 0 removals
- Installing opencv-python-headless (4.11.0.86)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
The current project’s supported Python range (>=3.9,<4.0) is not compatible with some of the required packages Python requirement:
- rapidocr-onnxruntime requires Python <3.13,>=3.6, so it will not be installable for Python >=3.13,<4.0
Because open-webui-backend depends on rapidocr-onnxruntime (1.3.24) which requires Python <3.13,>=3.6, version solving failed.
-
Check your dependencies Python requirement: The Python requirement can be specified via the
pythonormarkerspropertiesFor rapidocr-onnxruntime, a possible solution would be to set the
pythonproperty to “>=3.9,<3.13”https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
https://python-poetry.org/docs/dependency-specification/#using-environment-markers
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.2s)
Package operations: 1 install, 0 updates, 0 removals
- Installing rank-bm25 (0.2.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.8s)
Package operations: 4 installs, 0 updates, 0 removals
-
Installing av (14.2.0)
-
Installing ctranslate2 (4.5.0)
-
Installing onnxruntime (1.20.1): Failed
| Unable to find installation candidates for onnxruntime (1.20.1)
|
| This is likely not a Poetry issue.
|
| - 21 candidate(s) were identified for the package
| - 21 wheel(s) were skipped as your project’s environment does not support the identified abi tags
|
| Solutions:
| Make sure the lockfile is up-to-date. You can try one of the following;
|
| 1. Regenerate lockfile: poetry lock —no-cache —regenerate
| 2. Update package : poetry update —no-cache onnxruntime
|
| If neither works, please first check to verify that the onnxruntime has published wheels available from your configured source that are compatible with your environment- ie. operating system, architecture (x86_64, arm64 etc.), python interpreter.
|
| You can also run your poetry command with -v to see more information.
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.4s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing cryptography (44.0.2)
- Installing pyjwt (2.10.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.4s)
Package operations: 1 install, 0 updates, 0 removals
- Installing authlib (1.4.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.4s)
Package operations: 4 installs, 0 updates, 0 removals
- Installing mypy-extensions (1.0.0)
- Installing pathspec (0.12.1)
- Installing platformdirs (4.3.6)
- Installing black (25.1.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.5s)
Package operations: 1 install, 1 update, 0 removals
- Downgrading packaging (24.2 -> 23.2)
- Installing langfuse (2.44.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (0.1s)
The current project’s supported Python range (>=3.9,<4.0) is not compatible with some of the required packages Python requirement:
- youtube-transcript-api requires Python <3.14,>=3.8, so it will not be installable for Python >=3.14,<4.0
Because open-webui-backend depends on youtube-transcript-api (0.6.3) which requires Python <3.14,>=3.8, version solving failed.
-
Check your dependencies Python requirement: The Python requirement can be specified via the
pythonormarkerspropertiesFor youtube-transcript-api, a possible solution would be to set the
pythonproperty to “>=3.9,<3.14”https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
https://python-poetry.org/docs/dependency-specification/#using-environment-markers
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.3s)
Package operations: 1 install, 0 updates, 0 removals
- Installing pytube (15.0.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.53.1 for extract-msg
Updating dependencies
Resolving dependencies… Downloading https://files.pythonhosted.org/packages/8e/ac/abb196bb0b42a239d605fe97c314c33123Resolving dependencies… (5.8s)
Package operations: 14 installs, 0 updates, 0 removals
- Installing olefile (0.47)
- Installing colorclass (2.2.2)
- Installing easygui (0.98.3)
- Installing msoffcrypto-tool (5.4.2)
- Installing pcodedmp (1.2.6)
- Installing lark (1.1.9)
- Installing oletools (0.60.2)
- Installing soupsieve (2.6)
- Installing beautifulsoup4 (4.13.3)
- Installing compressed-rtf (1.0.6)
- Installing ebcdic (1.1.1)
- Installing red-black-tree-mod (1.22)
- Installing rtfde (0.1.2)
- Installing extract-msg (0.53.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.25.1 for pydub
Updating dependencies
Resolving dependencies… (1.5s)
Package operations: 1 install, 0 updates, 0 removals
- Installing pydub (0.25.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.5s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing primp (0.14.0)
- Installing duckduckgo-search (7.3.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^2.163.0 for google-api-python-client
Updating dependencies
Resolving dependencies… (1.3s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.2.0 for google-auth-httplib2
Updating dependencies
Resolving dependencies… (1.4s)
No dependencies to install or update
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^1.2.1 for google-auth-oauthlib
Updating dependencies
Resolving dependencies… (1.5s)
Package operations: 1 install, 0 updates, 0 removals
- Installing google-auth-oauthlib (1.2.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.5s)
Package operations: 1 install, 0 updates, 0 removals
- Installing docker (7.1.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.7s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing iniconfig (2.0.0)
- Installing pluggy (1.5.0)
- Installing pytest (8.3.5)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.7s)
Package operations: 1 install, 0 updates, 0 removals
- Installing pytest-docker (3.1.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.6s)
Package operations: 0 installs, 1 update, 0 removals
- Downgrading googleapis-common-protos (1.69.1 -> 1.63.2)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.8s)
Package operations: 4 installs, 0 updates, 0 removals
- Installing google-crc32c (1.6.0)
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing google-cloud-storage (2.19.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.7s)
Package operations: 3 installs, 0 updates, 0 removals
- Installing msal (1.31.1)
- Installing msal-extensions (1.2.0)
- Installing azure-identity (1.20.0)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.6s)
Package operations: 1 install, 0 updates, 0 removals
- Installing azure-storage-blob (12.24.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.6s)
Package operations: 1 install, 0 updates, 0 removals
- Installing ldap3 (2.9.1)
Writing lock file
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Could not find a matching version of package
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Updating dependencies
Resolving dependencies… (1.8s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing nest-asyncio (1.6.0)
- Installing firecrawl-py (1.12.0)
Writing lock file
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ Zusammenfassung der Installation
Die meisten Pakete wurden erfolgreich installiert, allerdings gab es mehrere Fehler und Warnungen, die einige kritische Probleme aufzeigen.
❌ Hauptprobleme & Lösungen
1️⃣ Could not find a matching version of package
- Mehrere Pakete konnten nicht installiert werden, z. B.:
onnxruntimerapidocr-onnxruntimeyoutube-transcript-api
- Lösung: Diese Pakete erfordern möglicherweise eine aktuelle Python-Version oder spezifische Systembibliotheken.
👉 Lösung: Erst testen, ob Python 3.9 wirklich aktiv ist:python --versionFalls eine andere Version angezeigt wird, könnte das ein Problem sein. Falls Python 3.9 installiert ist, aber nicht aktiv genutzt wird, kannst du mit:
pyenv global 3.9sicherstellen, dass es als Standard genutzt wird.
2️⃣ Langchain Abhängigkeitskonflikt
- Der Konflikt tritt auf zwischen:
async-timeout (>=5.0.1,<6.0.0) langchain (0.3.19) - Lösung:
poetry remove async-timeout poetry add async-timeout@^4.0.0Falls das Problem weiterhin besteht, könnte es nötig sein,
langchainauf eine neuere oder ältere Version zu fixieren:poetry add langchain@0.3.18
3️⃣ Fehlermeldung zu LibreSSL 2.8.3
urllib3 v2benötigt OpenSSL 1.1.1 oder höher, aber dein System verwendetLibreSSL 2.8.3.- Lösung: Installiere OpenSSL und stelle sicher, dass Python es nutzt.
brew install opensslDanach Python neu verknüpfen:
export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
4️⃣ Nicht installierbare Pakete durch Python-Kompatibilität
- Einige Pakete haben eingeschränkte Python-Versionen und passen nicht zu deiner Umgebung:
unstructuredbenötigt<3.13, dein Poetry-Projekt gibt aber nur<4.0vor.rapidocr-onnxruntimebenötigt<3.13, deine Definition geht bis<4.0.
- Lösung: Bearbeite
pyproject.toml, ersetze:python = ">=3.9,<4.0"mit:
python = ">=3.9,<3.13"Danach:
poetry lock --no-cache --regenerate poetry install
5️⃣ onnxruntime Installation schlägt fehl
onnxruntimebenötigt spezifische C-Bibliotheken und ist oft nicht für MacOS vorkompiliert.- Lösung:
pip install onnxruntimeFalls das fehlschlägt, versuche die GPU- oder CPU-Version direkt:
pip install onnxruntime-gpu
✅ Nächste Schritte
- Checke deine Python-Version (
python --version) - Fixe
async-timeout&langchain - Passe Python-Kompatibilität in
pyproject.tomlan - Installiere OpenSSL richtig (
brew install openssl) - Probiere
pip install onnxruntimefür fehlende Pakete
Teste dann erneut mit:
poetry run python open_webui/main.py
Falls es wieder Fehler gibt, schicke sie mir, dann debuggen wir weiter! 🚀
Adrachin:
Das:
python —version
Funktioniert nicht.
tsc@macbook-pro-1 backend % python —version
zsh: command not found: python
tsc@macbook-pro-1 backend %
Ich vermute dass die standard MacOS Python Version verwendet wird. Zumindest kann ich mich nicht erinnern eine zusätzliche Version installiert zu haben.
LiquidGPT:
🚨 Problem: python ist nicht gefunden
Das bedeutet, dass Python entweder nicht installiert oder nicht richtig in deinem PATH gesetzt ist.
✅ 1️⃣ Checke, ob Python über python3 verfügbar ist
Versuche mal:
python3 --version
Falls das funktioniert, ist Python unter python3 verfügbar, aber nicht unter python.
Falls du stattdessen eine Fehlermeldung bekommst, dann ist Python nicht installiert.
✅ 2️⃣ Falls python3 existiert, setze einen Alias für python
Falls python3 funktioniert, kannst du python darauf mappen:
alias python=python3
Falls du möchtest, dass das dauerhaft funktioniert, füge das zu deiner ~/.zshrc oder ~/.bashrc hinzu:
echo 'alias python=python3' >> ~/.zshrc
source ~/.zshrc
✅ 3️⃣ Falls Python nicht installiert ist, installiere es neu
Falls weder python noch python3 funktionieren, kannst du Python mit Homebrew installieren:
brew install python
Danach nochmal prüfen mit:
python3 --version
✅ 4️⃣ Stelle sicher, dass Poetry die richtige Python-Version verwendet
Jetzt musst du sicherstellen, dass Poetry die richtige Python-Version verwendet.
Falls du schon ein Poetry-Umfeld erstellt hast, kannst du es checken mit:
poetry env info
Falls die falsche Python-Version genutzt wird, kannst du das Poetry-Environment entfernen und mit einer neuen Python-Version setzen:
poetry env remove python
poetry env use python3
poetry install
Danach sollte alles laufen. Probier es aus und sag mir, was du bekommst! 🚀
Adrachin:
tsc@macbook-pro-1 backend % python —version
zsh: command not found: python
tsc@macbook-pro-1 backend % python3 —version
Python 3.9.6
tsc@macbook-pro-1 backend % alias python=python3
tsc@macbook-pro-1 backend % python —version
Python 3.9.6
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ Perfekt! Jetzt funktioniert python als Alias für python3, und du nutzt Python 3.9.6.
🔥 Nächste Schritte
Jetzt solltest du sicherstellen, dass Poetry auch die richtige Python-Version verwendet:
1️⃣ Checke die verwendete Python-Version in Poetry
poetry env info
Falls dort eine falsche Python-Version steht, kannst du das fixen:
2️⃣ Setze Poetry auf die richtige Python-Version
poetry env remove python
poetry env use python3
poetry install
Dadurch wird sichergestellt, dass dein Poetry-Environment mit der richtigen Python-Version (3.9.6) arbeitet.
🚀 Danach kannst du versuchen, das Backend zu starten:
poetry run python open_webui/main.py
Falls es noch Probleme gibt, sag Bescheid! 😃
Adrachin:
tsc@macbook-pro-1 backend % poetry env info
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Virtualenv
Python: 3.9.6
Implementation: CPython
Path: /Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.9
Executable: /Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.9/bin/python
Valid: True
Base
Platform: darwin
OS: posix
Python: 3.9.6
Path: /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9
Executable: /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9
tsc@macbook-pro-1 backend %
LiquidGPT:
✅ Alles sieht gut aus!
Dein Poetry-Environment nutzt die richtige Python-Version (3.9.6), sowohl für das Virtualenv als auch für das Basissystem. 🎯
🔥 Letzter Test: Starte dein Backend!
Jetzt kannst du dein Backend mit Poetry ausführen und schauen, ob alles klappt:
poetry run python open_webui/main.py
Falls es noch Fehler gibt, poste die Ausgabe hier, dann finden wir gemeinsam eine Lösung! 🚀😃
Adrachin:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 48, in
from open_webui.utils import logger
ModuleNotFoundError: No module named ‘open_webui’
tsc@macbook-pro-1 backend %
LiquidGPT:
🔍 Fehlermeldung:
ModuleNotFoundError: No module named 'open_webui'
Das bedeutet, dass Python das Modul open_webui nicht findet. Mögliche Ursachen und Lösungen:
✅ 1. Stelle sicher, dass du Poetry im richtigen Verzeichnis ausführst
Prüfe, ob du im backend-Verzeichnis bist:
pwd
Falls du nicht in backend bist, wechsle dorthin:
cd ~/open-webui/backend
✅ 2. Überprüfe, ob open_webui ein Paket ist
Das open_webui-Verzeichnis muss eine __init__.py-Datei enthalten, damit Python es als Modul erkennt.
Check mit:
ls open_webui
Falls __init__.py fehlt, erstelle sie:
touch open_webui/__init__.py
✅ 3. Führe das Skript mit -m aus, um das Modul korrekt zu laden
Falls die Datei main.py direkt aufgerufen wird, erkennt Python möglicherweise den Modulpfad nicht. Probiere stattdessen:
poetry run python -m open_webui.main
✅ 4. Stelle sicher, dass das Virtualenv korrekt aktiviert ist
Führe diesen Befehl aus, um zu testen, ob dein Virtual Environment die Module erkennt:
poetry run python -c "import open_webui; print('Modul gefunden!')"
Falls das nicht funktioniert, setze das Virtualenv manuell in der aktuellen Shell:
source $(poetry env info --path)/bin/activate
Dann starte das Skript erneut:
python open_webui/main.py
✅ 5. Falls das Problem weiterhin besteht, installiere dein Projekt im Virtualenv
poetry install
Falls das Projekt selbst nicht installiert wurde, kannst du es mit diesem Befehl überspringen:
poetry install --no-root
Dann nochmal versuchen:
poetry run python open_webui/main.py
🚀 Teste diese Lösungen und poste die neue Fehlermeldung, falls es noch hakt! 😃
Adrachin:
tsc@macbook-pro-1 backend % ls open_webui
init.py constants.py functions.py migrations routers storage utils
alembic.ini data internal models socket tasks.py
config.py env.py main.py retrieval static test
tsc@macbook-pro-1 backend %
LiquidGPT:
Da __init__.py vorhanden ist, sollte open_webui eigentlich als Modul erkannt werden. Lass uns systematisch vorgehen:
✅ 1. Versuche das Modul mit -m auszuführen
poetry run python -m open_webui.main
Falls hier eine neue Fehlermeldung kommt, poste sie.
✅ 2. Prüfe, ob Poetry das Modul wirklich im Virtual Environment installiert hat
Manchmal fehlen lokale Module, weil Poetry sie nicht korrekt installiert hat.
➜ Überprüfe, ob das Modul im Virtualenv erkannt wird:
poetry run python -c "import open_webui; print('Modul gefunden!')"
Falls die Fehlermeldung bleibt, bedeutet das, dass das Virtualenv nicht weiß, dass open_webui existiert.
➜ Erzwinge die Installation deines Projekts:
poetry install
Oder falls du nur die Abhängigkeiten installieren möchtest (ohne das Projekt selbst):
poetry install --no-root
Danach erneut:
poetry run python -m open_webui.main
✅ 3. Überprüfe die PYTHONPATH-Variable
Falls Python den open_webui-Ordner nicht im Suchpfad hat, können wir ihn manuell hinzufügen.
Teste mit:
poetry run python -c "import sys; print(sys.path)"
Falls open_webui nicht in den Pfaden auftaucht, kannst du ihn manuell setzen:
export PYTHONPATH=$(pwd)
poetry run python open_webui/main.py
Falls das funktioniert, kannst du den PYTHONPATH permanent setzen, indem du die .zshrc änderst:
echo 'export PYTHONPATH=$(pwd)' >> ~/.zshrc
source ~/.zshrc
✅ 4. Falls das Problem weiterhin besteht:
Überprüfe, ob Poetry das richtige Python nutzt:
poetry env info
Falls es das falsche Virtualenv ist, entferne es:
poetry env remove python
poetry install
🚀 Teste das und poste die nächste Fehlermeldung, falls es noch nicht klappt!
Adrachin:
Hier:
Falls hier eine neue Fehlermeldung kommt, poste sie.
Sollte Deine Ausgabe stoppen. Als ab jetzt, Du gibt den nächsten Befehl an, ich führe ihn aus und berichte das Ergebnis.
LiquidGPT:
Alles klar! Dann führe bitte den folgenden Befehl aus und berichte mir das Ergebnis:
poetry run python -m open_webui.main
Adrachin:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 48, in
from open_webui.utils import logger
ModuleNotFoundError: No module named ‘open_webui’
tsc@macbook-pro-1 backend % ls open_webui
init.py constants.py functions.py migrations routers storage utils
alembic.ini data internal models socket tasks.py
config.py env.py main.py retrieval static test
tsc@macbook-pro-1 backend % poetry run python -m open_webui.main
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
Traceback (most recent call last):
File “/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/runpy.py”, line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File “/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/runpy.py”, line 87, in _run_code
exec(code, run_globals)
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 48, in
from open_webui.utils import logger
File “/Users/tsc/open-webui/backend/open_webui/utils/logger.py”, line 8, in
from open_webui.env import (
File “/Users/tsc/open-webui/backend/open_webui/env.py”, line 69, in
if GLOBAL_LOG_LEVEL in logging.getLevelNamesMapping():
AttributeError: module ‘logging’ has no attribute ‘getLevelNamesMapping’
tsc@macbook-pro-1 backend %
LiquidGPT:
Es sieht so aus, als ob es ein Problem mit der verwendeten logging-Bibliothek gibt. Die Methode getLevelNamesMapping() ist erst ab Python 3.11 verfügbar. Da dein Poetry-Environment Python 3.9.6 verwendet, tritt dieser Fehler auf.
Lösung:
Es gibt zwei mögliche Lösungen:
Option 1: Upgrade auf Python 3.11 oder höher
-
Überprüfe die installierten Python-Versionen:
pyenv versionsFalls du
pyenvnicht installiert hast, kannst du es mitbrew install pyenvnachholen. -
Falls nötig, installiere Python 3.11+:
pyenv install 3.11 -
Setze das Projekt auf die neue Version um:
pyenv local 3.11 poetry env use 3.11 poetry install
Option 2: Ändere den Code, um mit Python 3.9 kompatibel zu sein
Falls du Python 3.9 beibehalten möchtest, kannst du den Code in open_webui/env.py wie folgt anpassen:
Ändere die Zeile:
if GLOBAL_LOG_LEVEL in logging.getLevelNamesMapping():
Zu:
if GLOBAL_LOG_LEVEL in logging._nameToLevel: # Kompatibel mit Python 3.9+
Danach kannst du den Befehl erneut ausführen:
poetry run python -m open_webui.main
Probiere eine der beiden Lösungen aus und sag mir, ob du noch Probleme hast! 😊
Adrachin:
Wann ist es denn nötig. Noch mal meine Vermutung, es wird die Standard Python Version verwendet die in jedem MacOS installiert ist. Ich bin mir nicht sicher ob eine update auf V3.11+ nicht zu unerwünschten Effekten führt falls MacOS auf die bisherige Version angewiesen ist.
Pyenv wurde installiert.
tsc@macbook-pro-1 backend % brew install pyenv
==> Downloading https://formulae.brew.sh/api/formula.jws.json
==> Downloading https://formulae.brew.sh/api/cask.jws.json
==> Downloading https://ghcr.io/v2/homebrew/core/pyenv/manifests/2.5.3
############################################################################################################### 100.0%
==> Fetching dependencies for pyenv: m4, autoconf, pkgconf and readline
==> Downloading https://ghcr.io/v2/homebrew/core/m4/manifests/1.4.19
############################################################################################################### 100.0%
==> Fetching m4
==> Downloading https://ghcr.io/v2/homebrew/core/m4/blobs/sha256:2d39513c268897aab9072ce6b0e15dc8a0a78fc76543e4f25b1cf
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/autoconf/manifests/2.72-1
############################################################################################################### 100.0%
==> Fetching autoconf
==> Downloading https://ghcr.io/v2/homebrew/core/autoconf/blobs/sha256:b1d110e2efd457a5e56c4469f2d6741109d542801a401fe
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.4.3
############################################################################################################### 100.0%
==> Fetching pkgconf
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/blobs/sha256:3feba2e952500e4ab9261ac59a19e07c310d1147e31496f6
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/readline/manifests/8.2.13
############################################################################################################### 100.0%
==> Fetching readline
==> Downloading https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:738c27ceee9a8b198f98438477ef7a513a96a965e3a434a
############################################################################################################### 100.0%
==> Fetching pyenv
==> Downloading https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:05610a75cc7fa86e9f7c0da39ace250857f3b5210d3f857a4c
############################################################################################################### 100.0%
==> Installing dependencies for pyenv: m4, autoconf, pkgconf and readline
==> Installing pyenv dependency: m4
==> Downloading https://ghcr.io/v2/homebrew/core/m4/manifests/1.4.19
Already downloaded: /Users/tsc/Library/Caches/Homebrew/downloads/5b2a7f715487b7377e409e8ca58569040cd89f33859f691210c58d94410fd33b—m4-1.4.19.bottle_manifest.json
==> Pouring m4—1.4.19.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/m4/1.4.19: 14 files, 729.1KB
==> Installing pyenv dependency: autoconf
==> Downloading https://ghcr.io/v2/homebrew/core/autoconf/manifests/2.72-1
Already downloaded: /Users/tsc/Library/Caches/Homebrew/downloads/1b54b8d75974d006eb6be1db91a6ec040791ac751f25271fcd5a1d78cb361afd—autoconf-2.72-1.bottle_manifest.json
==> Pouring autoconf—2.72.arm64_sequoia.bottle.1.tar.gz
🍺 /opt/homebrew/Cellar/autoconf/2.72: 72 files, 3.6MB
==> Installing pyenv dependency: pkgconf
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.4.3
Already downloaded: /Users/tsc/Library/Caches/Homebrew/downloads/fab16e95d8f8b37343099cee3d239d301193b2bca2db019c3db5708669e94417—pkgconf-2.4.3.bottle_manifest.json
==> Pouring pkgconf—2.4.3.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/pkgconf/2.4.3: 27 files, 487.4KB
==> Installing pyenv dependency: readline
==> Downloading https://ghcr.io/v2/homebrew/core/readline/manifests/8.2.13
Already downloaded: /Users/tsc/Library/Caches/Homebrew/downloads/aa1afa38997a2866d91c81fdda8b36d436cd4ea7a82aed07d13c83c56eb3460e—readline-8.2.13.bottle_manifest.json
==> Pouring readline—8.2.13.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/readline/8.2.13: 51 files, 1.7MB
==> Installing pyenv
==> Pouring pyenv—2.5.3.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/pyenv/2.5.3: 1,299 files, 4.2MB
==> Running brew cleanup pyenv…
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see man brew).
tsc@macbook-pro-1 backend %
LiquidGPT:
Gute Frage! Du musst nicht unbedingt auf Python 3.11 oder höher upgraden, aber du hast derzeit ein Problem, weil der Code eine Funktion (getLevelNamesMapping()) aus logging verwendet, die erst ab Python 3.11 existiert. Da dein Poetry-Environment auf Python 3.9.6 basiert, führt das zu einem AttributeError.
Lösungsoptionen, ohne macOS zu beeinträchtigen:
-
Option 1: Lokale Pyenv-Installation von Python 3.11+ (empfohlen)
- Damit bleibt die systemeigene macOS-Python-Version unberührt.
- Du kannst Python 3.11 nur für dein
poetry-Projekt verwenden.
So geht’s:
pyenv install 3.11 pyenv local 3.11 poetry env use $(pyenv which python) poetry install poetry run python -m open_webui.mainWarum? Dadurch wird sichergestellt, dass das Poetry-Environment nun mit Python 3.11+ läuft, ohne dein System zu beeinflussen.
-
Option 2: Code-Anpassung für Python 3.9 (wenn du nicht upgraden willst)
- Öffne die Datei
open_webui/env.py. - Ersetze die Zeile:
if GLOBAL_LOG_LEVEL in logging.getLevelNamesMapping():durch eine Python-3.9-kompatible Variante:
if GLOBAL_LOG_LEVEL in logging._nameToLevel: # Funktioniert auch mit 3.9 - Danach erneut ausführen:
poetry run python -m open_webui.main
- Öffne die Datei
-
Option 3: Ermitteln, ob Python 3.9 ausreicht
Falls du sicherstellen willst, dass wirklich Python 3.11+ erforderlich ist, prüfe, ob es weitere Stellen im Code gibt, die auf Python 3.11 angewiesen sind:grep -rnw 'open_webui/' -e 'getLevelNamesMapping'Falls du keine weiteren Vorkommen findest, reicht die Code-Anpassung von Option 2 aus.
Fazit:
- Falls du nichts an macOS ändern willst: Option 2 (Code-Fix für Python 3.9).
- Falls du die bestmögliche Lösung willst: Option 1 (Pyenv + Poetry mit Python 3.11).
- Falls du erst herausfinden willst, ob mehr Probleme kommen: Option 3 (grep-Suche).
Lass mich wissen, wie du vorgehen willst! 😊
Adrachin:
Lass uns noch eine Option prüfen. Such nach Informationen ob es gefahrlos möglich ist die Standard Python Version von macOS auf Version 3.11+ upzudaten.
LiquidGPT:
Sollte man die systemeigene macOS-Python-Version auf 3.11+ aktualisieren?
Kurze Antwort: Nein, das ist nicht empfehlenswert.
Warum sollte man die systemeigene Python-Version von macOS nicht upgraden?
-
macOS benötigt Python für Systemaufgaben
- macOS verwendet eine eigene Python-Version für verschiedene Systemskripte und Developer-Tools (z. B.
xcode-select,brew,CommandLineTools). - Ein manuelles Upgrade könnte zu unerwarteten Fehlern in Systemprozessen führen.
- macOS verwendet eine eigene Python-Version für verschiedene Systemskripte und Developer-Tools (z. B.
-
Apple hält Python bewusst veraltet
- Apple liefert absichtlich eine ältere Python-Version aus, um maximale Stabilität zu gewährleisten.
- In macOS Ventura und neuer gibt es sogar Warnungen, dass Python in Zukunft aus macOS entfernt wird.
-
Erzwungenes Upgrade kann macOS-Funktionen beschädigen
- Wenn du die systemeigene Python-Version überschreibst, könnten interne Skripte nicht mehr funktionieren.
- Manche Systemupdates könnten zudem deine Änderung rückgängig machen oder beschädigte Komponenten hinterlassen.
Welche Alternativen gibt es?
Anstatt das systemeigene Python zu überschreiben, kannst du sicher eine neuere Version parallel installieren. Dafür gibt es drei empfehlenswerte Methoden:
1️⃣ Empfohlen: Pyenv verwenden (beste Kontrolle)
pyenv install 3.11
pyenv global 3.11 # Falls du Python 3.11 als Standard für dich setzen willst
- Dadurch bleibt macOS’ Python unberührt.
- Poetry kann dann explizit mit Pyenvs Python arbeiten:
poetry env use $(pyenv which python) poetry install
2️⃣ Homebrew-Python installieren (einfachste Methode)
Falls du Pyenv nicht willst, kannst du einfach eine neue Python-Version mit brew installieren:
brew install python@3.11
Danach kannst du in deinem Terminal mit:
python3 --version
prüfen, ob brew’s Python verwendet wird. Falls nicht, kannst du es priorisieren:
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
- Auch hier bleibt die systemeigene macOS-Python-Version unberührt.
3️⃣ Anaconda oder Miniconda verwenden (wenn du viele Data-Science-Pakete brauchst)
Falls du viele Machine-Learning-Pakete verwendest, kann Conda eine gute Option sein:
brew install --cask miniconda
conda create -n myenv python=3.11
conda activate myenv
🚀 Fazit:
📌 Nicht die systemeigene macOS-Python-Version überschreiben!
📌 Besser: Pyenv oder Homebrew verwenden, um Python 3.11+ parallel zu installieren.
📌 Danach sicherstellen, dass Poetry die neue Python-Version nutzt:
poetry env use $(pyenv which python)
poetry install
Ich empfehle Pyenv für maximale Flexibilität. Möchtest du es direkt ausprobieren? 😊
Adrachin:
Ja
LiquidGPT:
Pyenv einrichten und Python 3.11 installieren
Wir richten jetzt Pyenv ein und installieren Python 3.11 parallel zur macOS-Version.
1️⃣ Sicherstellen, dass Pyenv installiert ist
Du hast Pyenv bereits mit Homebrew installiert, aber wir prüfen nochmal:
brew update
brew install pyenv
Falls es schon installiert ist, wird es einfach übersprungen.
2️⃣ Pyenv in die Shell einbinden
Damit Pyenv von überall aus funktioniert, fügen wir es zur Shell-Konfiguration hinzu.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
source ~/.zshrc
Falls du Bash benutzt, ersetze .zshrc durch .bashrc.
3️⃣ Python 3.11 installieren
Jetzt installieren wir die gewünschte Python-Version:
pyenv install 3.11
👉 Das kann ein paar Minuten dauern.
Falls du eine andere Version willst, kannst du mit folgendem Befehl alle verfügbaren Versionen sehen:
pyenv install --list | grep " 3\."
4️⃣ Pyenv-Standardversion setzen
Damit dein Terminal standardmäßig die neue Python-Version nutzt:
pyenv global 3.11
Falls du die Version nur für dieses Projekt setzen willst:
pyenv local 3.11
Überprüfen, ob alles geklappt hat:
python --version
Sollte jetzt Python 3.11.x anzeigen.
5️⃣ Poetry an Pyenvs Python-Version anpassen
Jetzt stellen wir sicher, dass Poetry die neue Python-Version nutzt:
poetry env use $(pyenv which python)
poetry install
Falls poetry env use eine Fehlermeldung gibt, kannst du die virtuelle Umgebung von Poetry zurücksetzen:
poetry env remove python
poetry env use $(pyenv which python)
poetry install
Fertig! 🎉
Dein System nutzt jetzt Pyenv mit Python 3.11+.
Ab jetzt solltest du keine Probleme mehr mit alten macOS-Python-Versionen haben.
Falls es irgendwo hakt, schick mir die Fehlermeldung. 🚀
Adrachin:
tsc@macbook-pro-1 backend % pyenv install 3.11
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.11.11.tar.xz…
-> https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tar.xz
Installing Python-3.11.11…
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Traceback (most recent call last):
File “
File “/Users/tsc/.pyenv/versions/3.11.11/lib/python3.11/lzma.py”, line 27, in
from _lzma import *
ModuleNotFoundError: No module named ‘_lzma’
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.11.11 to /Users/tsc/.pyenv/versions/3.11.11
tsc@macbook-pro-1 backend % pyenv global 3.11
tsc@macbook-pro-1 backend % python —version
Python 3.9.6
tsc@macbook-pro-1 backend % pyenv local 3.11
tsc@macbook-pro-1 backend % python —version
Python 3.9.6
tsc@macbook-pro-1 backend %
LiquidGPT:
Fix: Pyenv nutzt nicht die neue Python-Version
Das Problem ist, dass dein Terminal immer noch die systemweite Python-Version (3.9.6) nutzt.
Wir müssen Pyenv korrekt konfigurieren.
1️⃣ Sicherstellen, dass Pyenv aktiv ist
Füge Pyenv zu deiner Shell-Umgebung hinzu, falls es nicht automatisch geladen wird.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
source ~/.zshrc
Falls du Bash benutzt, ersetze .zshrc durch .bashrc.
2️⃣ Prüfen, ob Pyenv geladen wird
Starte ein neues Terminal oder führe aus:
exec $SHELL
Jetzt sollte pyenv korrekt geladen sein.
3️⃣ Sicherstellen, dass die richtige Version aktiv ist
Führe diese Befehle aus, um zu überprüfen, welche Python-Versionen in Pyenv aktiv sind:
pyenv versions
Falls Python 3.11.11 nicht aktiv ist, setze es erneut:
pyenv global 3.11.11
Danach nochmal testen:
python --version
Es sollte jetzt Python 3.11.11 anzeigen.
Falls nicht, versuche diesen Befehl:
pyenv rehash
exec $SHELL
python --version
4️⃣ Fix für fehlendes lzma-Modul
Falls du noch “No module named ‘_lzma’” bekommst, fehlen die xz-Bibliotheken. Installiere sie mit:
brew install xz
pyenv uninstall 3.11.11
pyenv install 3.11.11
Danach erneut:
pyenv global 3.11.11
python --version
5️⃣ Poetry an die neue Python-Version binden
Falls du poetry nutzt, setze es auf die neue Version:
poetry env use $(pyenv which python)
poetry install
Falls das nicht funktioniert:
poetry env remove python
poetry env use $(pyenv which python)
poetry install
🚀 Fertig!
Jetzt nutzt dein System die neue Python-Version 3.11.11.
Falls es immer noch nicht klappt, schick mir die Ausgabe von:
pyenv versions
which python
python --version
Adrachin:
sc@macbook-pro-1 backend % pyenv versions
system
- 3.11.11 (set by /Users/tsc/open-webui/backend/.python-version)
tsc@macbook-pro-1 backend %
LiquidGPT:
Perfekt! Pyenv zeigt an, dass Python 3.11.11 aktiv ist. 🎉
Jetzt noch ein paar abschließende Checks und Fixes, falls nötig:
1️⃣ Prüfen, ob das richtige Python genutzt wird
Führe diese Befehle aus:
which python
python --version
Erwartete Ausgabe:
which pythonsollte etwas wie/Users/tsc/.pyenv/shims/pythonzurückgeben.python --versionsollte Python 3.11.11 anzeigen.
Falls nicht, dann einmal:
pyenv rehash
exec $SHELL
Dann nochmal testen mit python --version.
2️⃣ Sicherstellen, dass Poetry die neue Python-Version nutzt
Da du Poetry verwendest, stelle sicher, dass dein virtuelles Environment mit der neuen Python-Version läuft:
poetry env use $(pyenv which python)
Falls du schon ein Poetry-Environment hast und es auf die neue Python-Version umstellen willst:
poetry env remove python
poetry env use $(pyenv which python)
poetry install
3️⃣ Test: Dein Projekt starten
Nachdem alles aktualisiert wurde, versuche dein Projekt zu starten:
poetry run python open_webui/main.py
Falls Fehler auftreten, poste sie hier. 🔍
Adrachin:
python —version
/Users/tsc/.pyenv/shims/python
Python 3.11.11
tsc@macbook-pro-1 backend %
LiquidGPT:
Super! 🎉 Jetzt läuft Python 3.11.11 über pyenv. ✅
Nächster Schritt: Sicherstellen, dass Poetry die neue Python-Version nutzt
Da dein Poetry-Umgebung noch auf Python 3.9.6 basieren könnte, stelle sicher, dass Poetry auf Python 3.11.11 wechselt.
Führe diesen Befehl aus:
poetry env use $(pyenv which python)
Das zwingt Poetry, das richtige Python 3.11.11 zu verwenden.
Falls du eine Fehlermeldung bekommst oder dein altes Poetry-Environment fehlerhaft ist, kannst du es neu erstellen:
poetry env remove python
poetry env use $(pyenv which python)
poetry install
Das entfernt das alte Environment, erstellt ein neues und installiert alle Abhängigkeiten sauber neu.
Letzter Test: Starte dein Projekt
Versuche, dein Projekt zu starten:
poetry run python open_webui/main.py
Falls es Fehler gibt, poste sie hier! 🔍
Adrachin:
sc@macbook-pro-1 backend % poetry env use $(pyenv which python)
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Creating virtualenv open-webui-backend-p-K4Z5Gn-py3.11 in /Users/tsc/Library/Caches/pypoetry/virtualenvs
Using virtualenv: /Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.11
tsc@macbook-pro-1 backend %
LiquidGPT:
Perfekt! 🎉 Poetry verwendet jetzt Python 3.11.11! ✅
Nächster Schritt: Neuinstallation der Abhängigkeiten
Da sich die Python-Version geändert hat, müssen alle Abhängigkeiten erneut installiert werden.
Führe diesen Befehl aus:
poetry install
Falls es zu Fehlern kommt, poste sie hier. 🚀
Adrachin:
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Installing dependencies from lock file
Package operations: 233 installs, 0 updates, 0 removals
- Installing pycparser (2.22)
- Installing certifi (2025.1.31)
- Installing cffi (1.17.1)
- Installing charset-normalizer (3.4.1)
- Installing frozenlist (1.5.0)
- Installing idna (3.10)
- Installing multidict (6.1.0)
- Installing propcache (0.3.0)
- Installing protobuf (4.25.6)
- Installing pyasn1 (0.4.8)
- Installing urllib3 (2.3.0)
- Installing aiohappyeyeballs (2.5.0)
- Installing aiosignal (1.3.2)
- Installing attrs (25.1.0)
- Installing cachetools (5.5.2)
- Installing cryptography (44.0.2)
- Installing filelock (3.17.0)
- Installing fsspec (2025.3.0)
- Installing googleapis-common-protos (1.63.2)
- Installing grpcio (1.67.1)
- Installing h11 (0.14.0)
- Installing olefile (0.47)
- Installing packaging (23.2)
- Installing pyasn1-modules (0.4.1)
- Installing pyparsing (3.2.1)
- Installing pyyaml (6.0.2)
- Installing requests (2.32.3)
- Installing rsa (4.9)
- Installing six (1.17.0)
- Installing smmap (5.0.2)
- Installing tqdm (4.67.1)
- Installing typing-extensions (4.12.2)
- Installing yarl (1.18.3)
- Installing aiohttp (3.11.11)
- Installing colorclass (2.2.2)
- Installing dill (0.3.7)
- Installing easygui (0.98.3)
- Installing gitdb (4.0.12)
- Installing google-auth (2.38.0)
- Installing grpcio-status (1.62.3)
- Installing hpack (4.1.0)
- Installing httplib2 (0.22.0)
- Installing huggingface-hub (0.29.2)
- Installing hyperframe (6.1.0)
- Installing jmespath (1.0.1)
- Installing markupsafe (3.0.2)
- Installing mdurl (0.1.2)
- Installing mpmath (1.3.0)
- Installing msoffcrypto-tool (5.4.2)
- Installing numpy (2.2.3)
- Installing pcodedmp (1.2.6)
- Installing proto-plus (1.26.0)
- Installing pyjwt (2.10.1)
- Installing python-dateutil (2.9.0.post0)
- Installing pytz (2025.1)
- Installing sniffio (1.3.1)
- Installing tzdata (2025.1)
- Installing wsproto (1.2.0)
- Installing annotated-types (0.7.0)
- Installing anyio (4.8.0)
- Installing blinker (1.9.0)
- Installing botocore (1.35.99): Pending…
- Installing click (8.1.8)
- Installing click (8.1.8)
- Installing botocore (1.35.99): Installing…
- Installing click (8.1.8)
- Installing click (8.1.8)
- Installing botocore (1.35.99)
- Installing click (8.1.8)
- Installing gitpython (3.1.44)
- Installing google-api-core (2.24.1)
- Installing google-auth-httplib2 (0.2.0)
- Installing google-crc32c (1.6.0)
- Installing h2 (4.2.0)
- Installing httpcore (1.0.7)
- Installing iniconfig (2.0.0)
- Installing itsdangerous (2.2.0)
- Installing jinja2 (3.1.6)
- Installing joblib (1.4.2)
- Installing lark (1.1.9)
- Installing markdown-it-py (3.0.0)
- Installing msal (1.31.1)
- Installing multiprocess (0.70.15)
- Installing networkx (3.4.2)
- Installing oauthlib (3.2.2)
- Installing oletools (0.60.2)
- Installing pandas (2.2.3)
- Installing pluggy (1.5.0)
- Installing portalocker (2.10.1)
- Installing pyarrow (19.0.1)
- Installing pydantic-core (2.27.2)
- Installing pygments (2.19.1)
- Installing regex (2024.11.6)
- Installing safetensors (0.5.3)
- Installing scipy (1.15.2)
- Installing setuptools (75.9.1)
- Installing simple-websocket (1.1.0)
- Installing soupsieve (2.6)
- Installing sympy (1.13.1)
- Installing threadpoolctl (3.5.0)
- Installing tokenizers (0.21.0)
- Installing uritemplate (4.1.1)
- Installing werkzeug (3.1.3)
- Installing xxhash (3.5.0)
- Installing argon2-cffi-bindings (21.2.0)
- Installing azure-core (1.32.0): Installing…
- Installing backoff (2.2.1)
- Installing bcrypt (4.3.0)
- Installing beautifulsoup4 (4.13.3)
- Installing backoff (2.2.1)
- Installing bcrypt (4.3.0)
- Installing beautifulsoup4 (4.13.3)
- Installing azure-core (1.32.0)
- Installing backoff (2.2.1)
- Installing bcrypt (4.3.0)
- Installing beautifulsoup4 (4.13.3)
- Installing bidict (0.23.1)
- Installing bitarray (3.1.1)
- Installing compressed-rtf (1.0.6)
- Installing datasets (2.14.4): Installing…
- Installing defusedxml (0.7.1)
- Installing distro (1.9.0)
- Installing dnspython (2.7.0): Installing…
- Installing ebcdic (1.1.1)
- Installing ecdsa (0.19.0)
- Installing elastic-transport (8.17.0)
- Installing et-xmlfile (2.0.0)
- Installing events (0.5)
- Installing ebcdic (1.1.1)
- Installing ecdsa (0.19.0)
- Installing elastic-transport (8.17.0)
- Installing et-xmlfile (2.0.0)
- Installing events (0.5)
- Installing dnspython (2.7.0)
- Installing ebcdic (1.1.1)
- Installing ecdsa (0.19.0)
- Installing elastic-transport (8.17.0)
- Installing et-xmlfile (2.0.0)
- Installing events (0.5)
- Installing flask (3.1.0)
- Installing fonttools (4.56.0): Downloading… 60%
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6): Installing…
- Installing google-api-python-client (2.163.0): Pending…
- Installing defusedxml (0.7.1)
- Installing distro (1.9.0)
- Installing dnspython (2.7.0)
- Installing ebcdic (1.1.1)
- Installing ecdsa (0.19.0)
- Installing elastic-transport (8.17.0)
- Installing et-xmlfile (2.0.0)
- Installing events (0.5)
- Installing flask (3.1.0)
- Installing fonttools (4.56.0): Downloading… 60%
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6): Installing…
- Installing google-api-python-client (2.163.0): Pending…
- Installing datasets (2.14.4)
- Installing defusedxml (0.7.1)
- Installing distro (1.9.0)
- Installing dnspython (2.7.0)
- Installing ebcdic (1.1.1)
- Installing ecdsa (0.19.0)
- Installing elastic-transport (8.17.0)
- Installing et-xmlfile (2.0.0)
- Installing events (0.5)
- Installing flask (3.1.0)
- Installing fonttools (4.56.0): Downloading… 60%
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6): Installing…
- Installing google-api-python-client (2.163.0): Pending…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 30%
- Installing httptools (0.6.4)
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6): Installing…
- Installing google-api-python-client (2.163.0): Pending…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 30%
- Installing httptools (0.6.4)
- Installing fonttools (4.56.0): Downloading… 100%
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6): Installing…
- Installing google-api-python-client (2.163.0): Pending…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 30%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 30%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing google-api-python-client (2.163.0): Installing…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 30%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing grpcio-tools (1.62.3): Downloading… 50%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6): Installing…
- Installing google-api-python-client (2.163.0): Installing…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 50%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing fonttools (4.56.0): Installing…
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6): Installing…
- Installing google-api-python-client (2.163.0): Installing…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 50%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing google-api-python-client (2.163.0): Installing…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 50%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing google-ai-generativelanguage (0.6.6)
- Installing google-api-python-client (2.163.0): Installing…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 50%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 30%
- Installing lxml (5.3.1): Downloading… 50%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 50%
- Installing grpcio-tools (1.62.3): Downloading… 70%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 50%
- Installing lxml (5.3.1): Downloading… 70%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 70%
- Installing grpcio-tools (1.62.3): Downloading… 90%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 70%
- Installing lxml (5.3.1): Downloading… 100%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 100%
- Installing grpcio-tools (1.62.3): Downloading… 100%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 100%
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6)
- Installing google-api-python-client (2.163.0): Installing…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 100%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 100%
- Installing fonttools (4.56.0)
- Installing git-python (1.0.3)
- Installing google-ai-generativelanguage (0.6.6)
- Installing google-api-python-client (2.163.0): Installing…
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3): Downloading… 100%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 100%
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 100%
- Installing grpcio-tools (1.62.3): Installing…
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Downloading… 100%
- Installing lxml (5.3.1): Installing…
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Installing…
- Installing grpcio-tools (1.62.3)
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1): Installing…
- Installing lxml (5.3.1)
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3)
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1)
- Installing google-api-python-client (2.163.0)
- Installing google-cloud-core (2.4.2)
- Installing google-resumable-media (2.7.2)
- Installing greenlet (3.1.1)
- Installing grpcio-tools (1.62.3)
- Installing httptools (0.6.4)
- Installing httpx (0.28.1)
- Installing isodate (0.7.2)
- Installing jiter (0.8.2)
- Installing mako (1.3.9)
- Installing lxml (5.3.1)
- Installing markdown (3.7)
- Installing milvus-lite (2.4.11)
- Installing msal-extensions (1.2.0)
- Installing mypy-extensions (1.0.0)
- Installing nest-asyncio (1.6.0)
- Installing ninja (1.11.1.3)
- Installing pathspec (0.12.1)
- Installing peewee (3.17.9)
- Installing pillow (11.1.0)
- Installing platformdirs (4.3.6)
- Installing pydantic (2.10.6)
- Installing primp (0.14.0)
- Installing pyee (12.0.0)
- Installing pytest (8.3.5)
- Installing python-dotenv (1.0.1)
- Installing python-engineio (4.11.2)
- Installing red-black-tree-mod (1.22)
- Installing requests-oauthlib (2.0.0)
- Installing rich (13.9.4)
- Installing rtfde (0.1.2)
- Installing s3transfer (0.10.4)
- Installing scikit-learn (1.6.1)
- Installing shellingham (1.5.4)
- Installing sqlalchemy (2.0.38)
- Installing starlette (0.45.3)
- Installing torch (2.6.0)
- Installing transformers (4.49.0)
- Installing tzlocal (5.3.1)
- Installing ujson (5.10.0)
- Installing uvloop (0.21.0)
- Installing watchfiles (1.0.4)
- Installing wcwidth (0.2.13)
- Installing websockets (15.0.1)
- Installing wrapt (1.17.2)
- Installing xlsxwriter (3.2.2)
- Installing aiocache (0.12.3)
- Installing aiofiles (24.1.0)
- Installing alembic (1.14.0)
- Installing anthropic (0.49.0): Installing…
- Installing apscheduler (3.10.4)
- Installing argon2-cffi (23.1.0)
- Installing asgiref (3.8.1)
- Installing async-timeout (5.0.1)
- Installing authlib (1.4.1): Installing…
- Installing azure-ai-documentintelligence (1.0.0)
- Installing azure-identity (1.20.0)
- Installing azure-storage-blob (12.24.1)
- Installing black (25.1.0): Installing…
- Installing boto3 (1.35.53)
- Installing colbert-ai (0.2.21)
- Installing docker (7.1.0)
- Installing docx2txt (0.8)
- Installing duckduckgo-search (7.3.2)
- Installing azure-ai-documentintelligence (1.0.0)
- Installing azure-identity (1.20.0)
- Installing azure-storage-blob (12.24.1)
- Installing black (25.1.0): Installing…
- Installing boto3 (1.35.53)
- Installing colbert-ai (0.2.21)
- Installing docker (7.1.0)
- Installing docx2txt (0.8)
- Installing duckduckgo-search (7.3.2)
- Installing authlib (1.4.1)
- Installing azure-ai-documentintelligence (1.0.0)
- Installing azure-identity (1.20.0)
- Installing azure-storage-blob (12.24.1)
- Installing black (25.1.0): Installing…
- Installing boto3 (1.35.53)
- Installing colbert-ai (0.2.21)
- Installing docker (7.1.0)
- Installing docx2txt (0.8)
- Installing duckduckgo-search (7.3.2)
- Installing einops (0.8.0)
- Installing elasticsearch (8.17.1)
- Installing boto3 (1.35.53)
- Installing colbert-ai (0.2.21)
- Installing docker (7.1.0)
- Installing docx2txt (0.8)
- Installing duckduckgo-search (7.3.2)
- Installing einops (0.8.0)
- Installing elasticsearch (8.17.1)
- Installing black (25.1.0)
- Installing boto3 (1.35.53)
- Installing colbert-ai (0.2.21)
- Installing docker (7.1.0)
- Installing docx2txt (0.8)
- Installing duckduckgo-search (7.3.2)
- Installing einops (0.8.0)
- Installing elasticsearch (8.17.1)
- Installing extract-msg (0.53.1)
- Installing fake-useragent (1.5.1)
- Installing fastapi (0.115.7)
- Installing firecrawl-py (1.12.0)
- Installing fpdf2 (2.8.2)
- Installing apscheduler (3.10.4)
- Installing argon2-cffi (23.1.0)
- Installing asgiref (3.8.1)
- Installing async-timeout (5.0.1)
- Installing authlib (1.4.1)
- Installing azure-ai-documentintelligence (1.0.0)
- Installing azure-identity (1.20.0)
- Installing azure-storage-blob (12.24.1)
- Installing black (25.1.0)
- Installing boto3 (1.35.53)
- Installing colbert-ai (0.2.21)
- Installing docker (7.1.0)
- Installing docx2txt (0.8)
- Installing duckduckgo-search (7.3.2)
- Installing einops (0.8.0)
- Installing elasticsearch (8.17.1)
- Installing extract-msg (0.53.1)
- Installing fake-useragent (1.5.1)
- Installing fastapi (0.115.7)
- Installing firecrawl-py (1.12.0)
- Installing fpdf2 (2.8.2)
- Installing anthropic (0.49.0)
- Installing apscheduler (3.10.4)
- Installing argon2-cffi (23.1.0)
- Installing asgiref (3.8.1)
- Installing async-timeout (5.0.1)
- Installing authlib (1.4.1)
- Installing azure-ai-documentintelligence (1.0.0)
- Installing azure-identity (1.20.0)
- Installing azure-storage-blob (12.24.1)
- Installing black (25.1.0)
- Installing boto3 (1.35.53)
- Installing colbert-ai (0.2.21)
- Installing docker (7.1.0)
- Installing docx2txt (0.8)
- Installing duckduckgo-search (7.3.2)
- Installing einops (0.8.0)
- Installing elasticsearch (8.17.1)
- Installing extract-msg (0.53.1)
- Installing fake-useragent (1.5.1)
- Installing fastapi (0.115.7)
- Installing firecrawl-py (1.12.0)
- Installing fpdf2 (2.8.2)
- Installing ftfy (6.2.3)
- Installing google-auth-oauthlib (1.2.1)
- Installing google-cloud-storage (2.19.0)
- Installing google-generativeai (0.7.2)
- Installing langfuse (2.44.0)
- Installing loguru (0.7.2)
- Installing ldap3 (2.9.1)
- Installing nltk (3.9.1): Installing…
- Installing nltk (3.9.1)
- Installing openai (1.65.4)
- Installing opencv-python-headless (4.11.0.86)
- Installing openpyxl (3.1.5)
- Installing opensearch-py (2.8.0)
- Installing passlib (1.7.4)
- Installing peewee-migrate (1.12.2)
- Installing pgvector (0.3.5)
- Installing playwright (1.49.1)
- Installing psutil (7.0.0)
- Installing psycopg2-binary (2.9.9)
- Installing pydub (0.25.1)
- Installing pymdown-extensions (10.14.2)
- Installing pymilvus (2.5.0)
- Installing pymongo (4.11.2)
- Installing pymysql (1.1.1)
- Installing pypandoc (1.13)
- Installing pypdf (4.3.1)
- Installing pytest-docker (3.1.2)
- Installing python-jose (3.4.0)
- Installing python-multipart (0.0.18)
- Installing python-pptx (1.0.0)
- Installing python-socketio (5.11.3)
- Installing pytube (15.0.0)
- Installing pyxlsb (1.0.10)
- Installing qdrant-client (1.12.2)
- Installing rank-bm25 (0.2.2)
- Installing redis (5.2.1)
- Installing sentence-transformers (3.3.1)
- Installing sentencepiece (0.2.0)
- Installing soundfile (0.13.1)
- Installing tiktoken (0.9.0)
- Installing typer (0.15.2)
- Installing uvicorn (0.34.0)
- Installing validators (0.34.0)
- Installing xlrd (2.0.1)
Installing the current project: open-webui-backend (0.1.0)
Error: The current project could not be installed: No file/folder found for package open-webui-backend
If you do not want to install the current project use —no-root.
If you want to use Poetry only for dependency management but not for packaging, you can disable package mode by setting package-mode = false in your pyproject.toml file.
If you did intend to install the current project, you may need to set packages in your pyproject.toml file.
tsc@macbook-pro-1 backend %
LiquidGPT:
Die Abhängigkeiten wurden erfolgreich installiert, aber es gibt einen Fehler beim Installieren des aktuellen Projekts (open-webui-backend). Der Fehler sagt aus, dass keine Datei oder kein Ordner für das Paket open-webui-backend gefunden wurde.
Mögliche Ursachen und Lösungen
-
Projektverzeichnis ist falsch gesetzt
- Überprüfe, ob du dich im richtigen Verzeichnis befindest:
pwdStelle sicher, dass du dich im Root-Verzeichnis deines Projekts befindest, in dem die
pyproject.tomlDatei liegt.
- Überprüfe, ob du dich im richtigen Verzeichnis befindest:
-
Fehlende
pyproject.tomlDatei- Überprüfe, ob die Datei
pyproject.tomlexistiert:ls -laFalls sie fehlt, könnte sie versehentlich gelöscht worden sein. Poste das Ergebnis des Befehls, um zu sehen, ob sie da ist.
- Überprüfe, ob die Datei
-
pyproject.tomlhat keine Paketdefinition- Öffne
pyproject.tomlund überprüfe, ob dertool.poetry-Abschnitt die Zeile enthält:[tool.poetry] name = "open-webui-backend" version = "0.1.0" description = "..."Falls nicht, füge sie hinzu.
- Öffne
-
Projektname in
pyproject.tomlist falsch- Falls der Name in
pyproject.tomlanders ist alsopen-webui-backend, musst du ihn korrigieren oderpoetry install --no-rootverwenden, um nur die Abhängigkeiten zu installieren.
- Falls der Name in
Nächster Schritt
-
Prüfe dein Verzeichnis mit:
pwd ls -laPoste die Ausgabe, falls du unsicher bist.
-
Falls
pyproject.tomlexistiert, überprüfe ihren Inhalt mit:cat pyproject.tomlPoste den relevanten
[tool.poetry]-Abschnitt hier.
Sobald wir das Problem gefunden haben, können wir eine gezielte Lösung umsetzen. 🚀
Adrachin:
Das da wäre? Aktuell befinde ich mich hier:
tsc@macbook-pro-1 backend % pwd
/Users/tsc/open-webui/backend
tsc@macbook-pro-1 backend %
LiquidGPT:
Danke für die Info! Du befindest dich im Verzeichnis:
/Users/tsc/open-webui/backend
Das Problem könnte sein, dass sich die pyproject.toml Datei im übergeordneten Verzeichnis (/Users/tsc/open-webui/) befindet. Poetry erwartet, dass sich die pyproject.toml im aktuellen Verzeichnis befindet, um das Projekt korrekt zu installieren.
Nächster Schritt
-
Überprüfe, ob
pyproject.tomlim aktuellen Verzeichnis existiert:ls -laFalls die Datei fehlt, dann liegt sie wahrscheinlich eine Ebene höher.
-
Falls die Datei fehlt, überprüfe das übergeordnete Verzeichnis:
ls -la ../Falls die
pyproject.tomldort liegt, dann solltest du Poetry aus diesem Verzeichnis ausführen, also:cd .. poetry install
Falls pyproject.toml doch im aktuellen Verzeichnis (backend) liegt, dann poste die Ausgabe von:
cat pyproject.toml
damit wir den Inhalt überprüfen können. 🚀
Adrachin:
Die ist im aktuellen Pfad:
/Users/tsc/open-webui/backend
tsc@macbook-pro-1 backend % ls -la
total 1368
drwxr-xr-x 14 tsc staff 448 9 Mär 10:28 .
drwxr-xr-x 57 tsc staff 1824 9 Mär 08:43 ..
-rw-r—r— 1 tsc staff 150 9 Mär 08:20 .dockerignore
-rw-r—r— 1 tsc staff 119 9 Mär 08:20 .gitignore
-rw-r—r— 1 tsc staff 5 9 Mär 10:28 .python-version
-rw-r—r— 1 tsc staff 1712 9 Mär 09:41 clean-requirements.txt
drwxr-xr-x 3 tsc staff 96 9 Mär 08:20 data
-rwxr-xr-x 1 tsc staff 111 9 Mär 08:20 dev.sh
drwxr-xr-x 21 tsc staff 672 9 Mär 08:20 open_webui
-rw-r—r— 1 tsc staff 660466 9 Mär 09:48 poetry.lock
-rw-r—r— 1 tsc staff 2252 9 Mär 09:48 pyproject.toml
-rw-r—r— 1 tsc staff 1773 9 Mär 08:20 requirements.txt
-rwxr-xr-x 1 tsc staff 2499 9 Mär 08:20 start.sh
-rw-r—r— 1 tsc staff 1542 9 Mär 08:20 start_windows.bat
LiquidGPT:
Alles klar, die pyproject.toml Datei ist also im aktuellen Verzeichnis vorhanden. Trotzdem meldet Poetry:
Error: The current project could not be installed: No file/folder found for package open-webui-backend
Das deutet darauf hin, dass Poetry nicht weiß, welches Paket installiert werden soll. Ich vermute, dass der pyproject.toml-Eintrag packages oder name nicht korrekt ist.
Nächster Schritt
Bitte poste den relevanten Abschnitt aus der pyproject.toml Datei. Du kannst das mit folgendem Befehl tun:
cat pyproject.toml | grep -A 10 '\[tool.poetry\]'
Falls du den kompletten Inhalt posten möchtest, kannst du auch:
cat pyproject.toml
Falls name oder packages falsch gesetzt sind, müssen wir das anpassen. 🚀
Adrachin:
tsc@macbook-pro-1 backend % cat pyproject.toml | grep -A 10 ‘[tool.poetry]’
[tool.poetry]
name = “open-webui-backend”
version = “0.1.0”
description = “Backend for Open WebUI”
authors = [“Your Name your.email@example.com”]
license = “MIT”
[tool.poetry.dependencies]
python = “^3.9”
fastapi = “0.115.7”
uvicorn = {version = “0.34.0”, extras = [“standard”]}
tsc@macbook-pro-1 backend %
LiquidGPT:
Danke! Der Name des Projekts ist korrekt (open-webui-backend), aber es scheint, dass Poetry das Projektverzeichnis nicht erkennt.
Nächste Schritte zur Behebung
1️⃣ Prüfe, ob packages korrekt gesetzt ist
Füge diesen Abschnitt in die pyproject.toml Datei hinzu, falls er nicht vorhanden ist:
[tool.poetry]
name = "open-webui-backend"
version = "0.1.0"
description = "Backend for Open WebUI"
authors = ["Your Name <your.email@example.com>"]
license = "MIT"
packages = [{include = "open_webui"}] # Füge diese Zeile hinzu
Dann speichere die Datei und führe erneut aus:
poetry install
Falls du die Datei bearbeitet hast, probiere dann poetry install erneut.
2️⃣ Falls das nicht hilft: Manuelles Setzen von package-mode
Falls poetry install weiterhin fehlschlägt, kannst du Package-Mode deaktivieren, indem du die Datei pyproject.toml wie folgt ergänzt:
[tool.poetry]
package-mode = false # Füge diese Zeile hinzu
Speichere die Datei und versuche erneut:
poetry install --no-root
3️⃣ Falls das auch nicht hilft: Umgebung zurücksetzen
Falls immer noch Fehler auftreten, setzen wir die Poetry-Umgebung neu auf:
poetry env remove python
poetry env use $(pyenv which python)
poetry install
Das entfernt die alte virtuelle Umgebung, setzt sie neu auf und installiert die Abhängigkeiten erneut.
Teste das und sag mir, was passiert! 🚀
Adrachin:
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Installing dependencies from lock file
No dependencies to install or update
Installing the current project: open-webui-backend (0.1.0)
tsc@macbook-pro-1 backend %
LiquidGPT:
Super, die Installation ist jetzt erfolgreich durchgelaufen! 🎉
Jetzt kannst du versuchen, das Backend zu starten. Probiere einen dieser Befehle:
poetry run python open_webui/main.py
Falls es weiterhin Probleme gibt, schicke mir die genaue Fehlermeldung. 🚀
Adrachin:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 7e5b5dc7342b, init
INFO [alembic.runtime.migration] Running upgrade 7e5b5dc7342b -> ca81bd47c050, Add config table
INFO [alembic.runtime.migration] Running upgrade ca81bd47c050 -> c0fbf31ca0db, Update file table
INFO [alembic.runtime.migration] Running upgrade c0fbf31ca0db -> 6a39f3d8e55c, Add knowledge table
Creating knowledge table
Migrating data from document table to knowledge table
INFO [alembic.runtime.migration] Running upgrade 6a39f3d8e55c -> 242a2047eae0, Update chat table
Converting ‘chat’ column to JSON
Renaming ‘chat’ column to ‘old_chat’
Adding new ‘chat’ column of type JSON
Dropping ‘old_chat’ column
INFO [alembic.runtime.migration] Running upgrade 242a2047eae0 -> 1af9b942657b, Migrate tags
INFO [alembic.runtime.migration] Running upgrade 1af9b942657b -> 3ab32c4b8f59, Update tags
Primary Key: {‘name’: None, ‘constrained_columns’: []}
Unique Constraints: [{‘name’: ‘uq_id_user_id’, ‘column_names’: [‘id’, ‘user_id’]}]
Indexes: [{‘name’: ‘tag_id’, ‘column_names’: [‘id’], ‘unique’: 1, ‘dialect_options’: {}}]
Creating new primary key with ‘id’ and ‘user_id’.
Dropping unique constraint: uq_id_user_id
Dropping unique index: tag_id
INFO [alembic.runtime.migration] Running upgrade 3ab32c4b8f59 -> c69f45358db4, Add folder table
INFO [alembic.runtime.migration] Running upgrade c69f45358db4 -> c29facfe716b, Update file table path
INFO [alembic.runtime.migration] Running upgrade c29facfe716b -> af906e964978, Add feedback table
INFO [alembic.runtime.migration] Running upgrade af906e964978 -> 4ace53fd72c8, Update folder table and change DateTime to BigInteger for timestamp fields
INFO [alembic.runtime.migration] Running upgrade 4ace53fd72c8 -> 922e7a387820, Add group table
INFO [alembic.runtime.migration] Running upgrade 922e7a387820 -> 57c599a3cb57, Add channel table
INFO [alembic.runtime.migration] Running upgrade 57c599a3cb57 -> 7826ab40b532, Update file table
INFO [alembic.runtime.migration] Running upgrade 7826ab40b532 -> 3781e22d8b01, Update message & channel tables
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 51, in
from open_webui.socket.main import (
File “/Users/tsc/open-webui/backend/open_webui/socket/main.py”, line 8, in
from open_webui.models.channels import Channels
File “/Users/tsc/open-webui/backend/open_webui/models/channels.py”, line 7, in
from open_webui.utils.access_control import has_access
File “/Users/tsc/open-webui/backend/open_webui/utils/access_control.py”, line 6, in
from open_webui.config import DEFAULT_USER_PERMISSIONS
File “/Users/tsc/open-webui/backend/open_webui/config.py”, line 1518, in
import chromadb
ModuleNotFoundError: No module named ‘chromadb’
tsc@macbook-pro-1 backend %
LiquidGPT:
Der Fehler zeigt, dass das Modul chromadb fehlt. Das bedeutet, dass es nicht in deiner virtuellen Umgebung installiert wurde.
Lösung:
Versuche, es mit Poetry zu installieren:
poetry add chromadb
Falls das nicht klappt, kannst du es auch direkt mit pip in der virtuellen Umgebung installieren:
poetry run pip install chromadb
Danach kannst du das Backend erneut starten:
poetry run python open_webui/main.py
Falls es noch weitere Probleme gibt, schicke mir die neue Fehlermeldung. 🚀
Adrachin:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
/Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.11/lib/python3.11/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn(“Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work”, RuntimeWarning)
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 55, in
from open_webui.routers import (
File “/Users/tsc/open-webui/backend/open_webui/routers/images.py”, line 16, in
from open_webui.routers.files import upload_file
File “/Users/tsc/open-webui/backend/open_webui/routers/files.py”, line 18, in
from open_webui.routers.retrieval import ProcessFileForm, process_file
File “/Users/tsc/open-webui/backend/open_webui/routers/retrieval.py”, line 29, in
from langchain.text_splitter import RecursiveCharacterTextSplitter, TokenTextSplitter
ModuleNotFoundError: No module named ‘langchain’
tsc@macbook-pro-1 backend %
LiquidGPT:
Der Fehler zeigt, dass das Modul langchain fehlt. Das bedeutet, dass es nicht in deiner virtuellen Umgebung installiert wurde.
Lösung:
Installiere langchain mit Poetry:
poetry add langchain
Falls das nicht funktioniert, versuche es direkt mit pip in der virtuellen Umgebung:
poetry run pip install langchain
Danach starte das Backend erneut:
poetry run python open_webui/main.py
Falls es danach weitere Fehler gibt, schicke mir die nächste Fehlermeldung. 🚀
Adrachin:
Langsam wird mir klar warum viele Leute einfach die Desktop version verwenden….. (;
tsc@macbook-pro-1 backend % poetry add langchain
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.3.20 for langchain
Updating dependencies
Resolving dependencies… (0.0s)
Because no versions of langchain match >0.3.20,<0.4.0
and langchain (0.3.20) depends on async-timeout (>=4.0.0,<5.0.0), langchain (>=0.3.20,<0.4.0) requires async-timeout (>=4.0.0,<5.0.0).
So, because open-webui-backend depends on both async-timeout (>=5.0.1,<6.0.0) and langchain (^0.3.20), version solving failed.
tsc@macbook-pro-1 backend %
LiquidGPT:
Ja, solche Konflikte mit Abhängigkeiten sind echt nervig! 😅
Das Problem liegt daran, dass langchain (0.3.20) eine ältere Version von async-timeout (<5.0.0) braucht, aber dein Projekt bereits eine neuere Version async-timeout (>=5.0.1) installiert hat.
🔧 Lösungsvorschläge
🏆 1. Versuch: Erzwinge die Installation der passenden async-timeout Version
Probiere mal zuerst:
poetry add async-timeout@^4.0.0
Und dann erneut:
poetry add langchain
🛠️ 2. Versuch: Installiere langchain direkt mit pip
Falls das nicht klappt, kannst du es mit pip in der Poetry-Umgebung versuchen:
poetry run pip install langchain
Das ignoriert den Poetry-Abhängigkeitsmanager und könnte die Installation ermöglichen. Danach erneut das Backend starten:
poetry run python open_webui/main.py
Falls es wieder einen Konflikt gibt, schick mir die Fehlermeldung! 🚀
Adrachin:
tsc@macbook-pro-1 backend % poetry add langchain
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.3.20 for langchain
Updating dependencies
Resolving dependencies… (2.9s)
Package operations: 8 installs, 0 updates, 0 removals
- Installing jsonpointer (3.0.0)
- Installing requests-toolbelt (1.0.0)
- Installing zstandard (0.23.0)
- Installing jsonpatch (1.33)
- Installing langsmith (0.3.13)
- Installing langchain-core (0.3.43)
- Installing langchain-text-splitters (0.3.6)
- Installing langchain (0.3.20)
Writing lock file
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
/Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.11/lib/python3.11/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn(“Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work”, RuntimeWarning)
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 55, in
from open_webui.routers import (
File “/Users/tsc/open-webui/backend/open_webui/routers/images.py”, line 16, in
from open_webui.routers.files import upload_file
File “/Users/tsc/open-webui/backend/open_webui/routers/files.py”, line 18, in
from open_webui.routers.retrieval import ProcessFileForm, process_file
File “/Users/tsc/open-webui/backend/open_webui/routers/retrieval.py”, line 40, in
from open_webui.retrieval.loaders.main import Loader
File “/Users/tsc/open-webui/backend/open_webui/retrieval/loaders/main.py”, line 6, in
from langchain_community.document_loaders import (
ModuleNotFoundError: No module named ‘langchain_community’
tsc@macbook-pro-1 backend %
LiquidGPT:
Jetzt fehlt langchain_community, eine neuere Unterteilung von Langchain in separate Pakete.
🔧 Lösung: Installiere langchain_community
Führe folgenden Befehl aus:
poetry add langchain-community
Danach versuche erneut, dein Backend zu starten:
poetry run python open_webui/main.py
Falls es wieder Fehler gibt, schick mir die neue Fehlermeldung! 🚀
Adrachin:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
/Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.11/lib/python3.11/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn(“Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work”, RuntimeWarning)
Traceback (most recent call last):
File “/Users/tsc/open-webui/backend/open_webui/main.py”, line 55, in
from open_webui.routers import (
File “/Users/tsc/open-webui/backend/open_webui/routers/images.py”, line 16, in
from open_webui.routers.files import upload_file
File “/Users/tsc/open-webui/backend/open_webui/routers/files.py”, line 18, in
from open_webui.routers.retrieval import ProcessFileForm, process_file
File “/Users/tsc/open-webui/backend/open_webui/routers/retrieval.py”, line 40, in
from open_webui.retrieval.loaders.main import Loader
File “/Users/tsc/open-webui/backend/open_webui/retrieval/loaders/main.py”, line 6, in
from langchain_community.document_loaders import (
ModuleNotFoundError: No module named ‘langchain_community’
tsc@macbook-pro-1 backend % poetry add langchain-community
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Using version ^0.3.19 for langchain-community
Updating dependencies
Resolving dependencies… (2.5s)
Package operations: 6 installs, 0 updates, 0 removals
- Installing marshmallow (3.26.1)
- Installing typing-inspect (0.9.0)
- Installing dataclasses-json (0.6.7)
- Installing httpx-sse (0.4.0)
- Installing pydantic-settings (2.8.1)
- Installing langchain-community (0.3.19)
Writing lock file
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
/Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.11/lib/python3.11/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn(“Couldn’t find ffmpeg or avconv - defaulting to ffmpeg, but may not work”, RuntimeWarning)
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
ERROR [main] Error updating models: No module named ‘_lzma’
WARNI [main] Frontend build directory not found at ‘/Users/tsc/open-webui/build’. Serving API only.
tsc@macbook-pro-1 backend %
LiquidGPT:
Es sieht gut aus! 🚀 Dein Open WebUI Backend startet jetzt! 🎉
Aber es gibt noch zwei Warnungen / Fehler, die wir lösen sollten:
🛑 1. No module named '_lzma'
Problem:
Dieser Fehler tritt auf, weil lzma nicht installiert oder nicht richtig mit Python kompiliert wurde.
Lösung:
Führe folgenden Befehl aus, um die fehlende Abhängigkeit zu installieren:
brew install xz
Anschließend musst du Python neu kompilieren (weil lzma beim Kompilieren eingebunden wird):
pyenv uninstall 3.11.11 # Deinstalliere die aktuelle Version
pyenv install 3.11.11 # Installiere sie erneut mit lzma-Unterstützung
Danach setzt du die neue Python-Version in Poetry:
poetry env use $(pyenv which python)
Jetzt kannst du das Backend erneut starten:
poetry run python open_webui/main.py
⚠️ 2. Frontend build directory not found
Problem:
Diese Warnung bedeutet, dass das Frontend nicht gefunden wurde. Wahrscheinlich fehlt der Build-Ordner.
Lösung:
Falls du nur die API benötigst, kannst du diese Warnung ignorieren.
Falls du aber das Frontend auch nutzen willst, musst du es mit pnpm oder yarn bauen.
Falls du pnpm installiert hast:
cd ../frontend # Gehe in den Frontend-Ordner
pnpm install
pnpm build
Falls du yarn nutzt:
cd ../frontend # Gehe in den Frontend-Ordner
yarn install
yarn build
Dann wieder zurück ins Backend:
cd ../backend
poetry run python open_webui/main.py
🔥 Zusammenfassung:
1️⃣ Fehlendes lzma fixen → brew install xz, Python neu installieren.
2️⃣ Falls Frontend benötigt wird → pnpm/yarn build im frontend-Ordner.
3️⃣ Backend neu starten → poetry run python open_webui/main.py.
Lass mich wissen, falls noch Fehler auftauchen! 🚀
Adrachin:
Das wird tatsächlich kompiliert? Wäre mir jetzt nicht klar gewesen. Wie gross ist denn das kompilierte file ungefähr?
LiquidGPT:
Ja, genau! Wenn du pyenv benutzt und Python mit pyenv install installierst, wird Python tatsächlich kompiliert – also aus dem Quellcode gebaut.
🔍 Warum muss Python neu kompiliert werden?
- Das Problem mit
_lzmatritt auf, weil die lzma-Bibliothek (XZ) zum Zeitpunkt der Python-Installation nicht verfügbar war. - Python überprüft beim Kompilieren, ob
lzmavorhanden ist. Falls nicht, wird das Modul einfach nicht mitgebaut. - Wenn du nachträglich
brew install xzausführst, bringt das nichts – Python muss wissen, dass eslzmavon Anfang an verwenden soll.
📏 Wie groß ist das kompilierte Python-Binary?
- Das hängt von der Version ab, aber normalerweise ist das kompilierte
pythonBinary etwa 50 - 100 MB groß. - Der gesamte Python-Ordner in
~/.pyenv/versions/3.11.11/kann aber 500 MB - 1 GB groß sein, je nach installierten Modulen.
Du kannst die Größe prüfen mit:
du -sh ~/.pyenv/versions/3.11.11/
Das zeigt die Gesamtgröße der Python-Installation.
Falls du nur das python-Binary prüfen willst:
ls -lh ~/.pyenv/versions/3.11.11/bin/python
⏳ Wie lange dauert das Kompilieren?
- Das dauert normalerweise 5 - 10 Minuten, je nach CPU und Mac-Modell.
- Ein M1/M2 Mac ist hier ziemlich schnell (~5 Min.).
- Ein älterer Intel-Mac kann länger brauchen (~10-15 Min.).
Willst du das trotzdem ausprobieren oder lieber eine andere Lösung testen? 🤔
Adrachin:
Das ist mir nicht aufgefallen da ich einen M4 Max mit maximaler Ausstattung and Cores verwende und dazu noch 64GB Memory zur Verfügung stehen. Der kompilierprozess war schon beendet bevor ich diesen Absatz geschrieben habe.
LiquidGPT:
Das erklärt einiges! 😄 Mit einem M4 Max und maximaler Ausstattung kann ich mir gut vorstellen, dass das Kompilieren so schnell durchläuft, dass du es kaum bemerkst. Das ist halt High-End Performance. 🚀
Wahrscheinlich lief das Ganze in weniger als einer Minute durch, besonders mit der schnellen NVMe-SSD von Apple und den vielen Effizienzkernen, die clang optimal nutzen können.
Falls du noch weitere Python-Optimierungen oder Fehlerbehebungen brauchst (z.B. lzma oder ffmpeg), lass es mich wissen! 💪
Adrachin:
Ja, jetzt habe ich den Faden verloren. Die Kompilierung ist beendet. What next?
LiquidGPT:
Kein Problem, ich bringe dich wieder auf Kurs! 🚀
Aktueller Stand:
- Python 3.11.11 läuft mit
pyenv✅ - Poetry-Umgebung wurde erfolgreich eingerichtet ✅
- Fehlende Abhängigkeiten (
langchain,langchain_community) wurden installiert ✅ - Das Backend startet erfolgreich ✅
- Fehlermeldungen übrig:
ERROR [__main__] Error updating models: No module named '_lzma'WARNING: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not workWARNI [__main__] Frontend build directory not found at '/Users/tsc/open-webui/build'. Serving API only.
Was jetzt zu tun ist:
1️⃣ Fehlendes _lzma-Modul fixen
- Python wurde ohne LZMA-Support kompiliert (fehlende
xz-Bibliothek). - Fix:
xzmitbrewnachinstallieren und Python neukompilieren.
brew install xz
pyenv uninstall 3.11.11
pyenv install 3.11.11
poetry env use $(pyenv which python)
poetry install
2️⃣ Fehlendes ffmpeg fixen
- Notwendig für Audio/Video-Funktionen.
- Fix:
ffmpegmitbrewnachinstallieren.
brew install ffmpeg
3️⃣ Frontend fehlt (/Users/tsc/open-webui/build)
- Das Backend läuft, aber das Web-UI ist nicht gebaut.
- Fix: Falls das Frontend auch benötigt wird, es mit pnpm oder yarn bauen:
cd ../frontend
pnpm install
pnpm build
Falls pnpm nicht installiert ist:
brew install pnpm
4️⃣ Backend erneut starten
Falls alles gut läuft, kannst du es nochmals versuchen:
poetry run python open_webui/main.py
Check nach der Installation
Sobald die Fixes durch sind, starte das Backend und prüfe, ob:
- Der
_lzma-Fehler verschwunden ist. ffmpegkeine Warnung mehr ausgibt.- Das Frontend normal erreichbar ist.
Lass mich wissen, was die nächsten Ausgaben sind! 🎯🚀
Adrachin:
tsc@macbook-pro-1 backend % cd ../frontend
pnpm install
pnpm build
cd: no such file or directory: ../frontend
zsh: command not found: pnpm
zsh: command not found: pnpm
tsc@macbook-pro-1 backend % ls -h
clean-requirements.txt dev.sh poetry.lock requirements.txt start_windows.bat
data open_webui pyproject.toml start.sh
tsc@macbook-pro-1 backend %
LiquidGPT:
Okay, es sieht so aus, als gäbe es gar keinen frontend-Ordner in deinem Projektverzeichnis. Das bedeutet, dass das Open WebUI-Backend korrekt gestartet wurde, aber das Web-Interface nicht existiert.
Was jetzt tun?
1️⃣ Sicherstellen, dass das Frontend überhaupt Teil des Projekts ist
- Schau nach, ob das Repository, aus dem du das Backend hast, auch ein Frontend enthält.
- Falls du das Repository mit
git clonegeholt hast, sieh nach, ob es einefrontend-Branch oder einen separaten Repository-Teil gibt.
cd ..
ls -l
Falls es nur backend/ gibt und kein frontend/, dann fehlt das Webinterface.
2️⃣ Falls das Frontend fehlt, es separat klonen und bauen
Wenn Open WebUI ein separates Frontend-Repository nutzt, musst du es erst holen:
git clone https://github.com/open-webui/open-webui-frontend.git frontend
cd frontend
Danach musst du pnpm installieren und das Frontend bauen:
brew install pnpm
pnpm install
pnpm build
3️⃣ Falls das Frontend nicht existiert und du nur das Backend brauchst
- Ignoriere die Frontend-Warnung: Das Backend läuft trotzdem als API.
- Du kannst dann direkt darauf zugreifen, falls du eine API-Integration planst.
Nächster Schritt:
Führe ls -l im Hauptverzeichnis (cd ..) aus und prüfe, ob frontend existiert. Falls nicht, müssen wir es extra holen. 🚀
Adrachin:
tsc@macbook-pro-1 backend % ls -h
clean-requirements.txt dev.sh poetry.lock requirements.txt start_windows.bat
data open_webui pyproject.toml start.sh
tsc@macbook-pro-1 backend % cd ..
ls -l
total 11176
-rw-r—r— 1 tsc staff 134512 9 Mär 08:20 CHANGELOG.md
-rw-r—r— 1 tsc staff 8299 9 Mär 08:20 CODE_OF_CONDUCT.md
-rw-r—r— 1 tsc staff 1742 9 Mär 08:20 Caddyfile.localhost
-rw-r—r— 1 tsc staff 6731 9 Mär 08:20 Dockerfile
-rw-r—r— 1 tsc staff 641 9 Mär 08:20 INSTALLATION.md
-rw-r—r— 1 tsc staff 1510 9 Mär 08:20 LICENSE
-rw-r—r— 1 tsc staff 643 9 Mär 08:20 Makefile
-rw-r—r— 1 tsc staff 14236 9 Mär 08:20 README.md
-rw-r—r— 1 tsc staff 2971 9 Mär 08:20 TROUBLESHOOTING.md
drwxr-xr-x 14 tsc staff 448 9 Mär 10:28 backend
-rwxr-xr-x 1 tsc staff 356 9 Mär 08:20 confirm_remove.sh
drwxr-xr-x 6 tsc staff 192 9 Mär 08:20 cypress
-rw-r—r— 1 tsc staff 135 9 Mär 08:20 cypress.config.ts
-rw-r—r— 1 tsc staff 4330847 9 Mär 08:20 demo.gif
-rw-r—r— 1 tsc staff 1172 9 Mär 08:20 docker-compose.a1111-test.yaml
-rw-r—r— 1 tsc staff 222 9 Mär 08:20 docker-compose.amdgpu.yaml
-rw-r—r— 1 tsc staff 125 9 Mär 08:20 docker-compose.api.yaml
-rw-r—r— 1 tsc staff 88 9 Mär 08:20 docker-compose.data.yaml
-rw-r—r— 1 tsc staff 251 9 Mär 08:20 docker-compose.gpu.yaml
-rw-r—r— 1 tsc staff 346 9 Mär 08:20 docker-compose.playwright.yaml
-rw-r—r— 1 tsc staff 771 9 Mär 08:20 docker-compose.yaml
drwxr-xr-x 6 tsc staff 192 9 Mär 08:20 docs
-rw-r—r— 1 tsc staff 819 9 Mär 08:20 hatch_build.py
-rw-r—r— 1 tsc staff 889 9 Mär 08:20 i18next-parser.config.ts
drwxr-xr-x 4 tsc staff 128 9 Mär 08:20 kubernetes
drwxr-xr-x 689 tsc staff 22048 9 Mär 08:43 node_modules
-rw-r—r— 1 tsc staff 435181 9 Mär 08:42 package-lock.json
-rw-r—r— 1 tsc staff 3955 9 Mär 08:20 package.json
-rw-r—r— 1 tsc staff 64 9 Mär 08:20 postcss.config.js
-rw-r—r— 1 tsc staff 3931 9 Mär 08:20 pyproject.toml
-rwxr-xr-x 1 tsc staff 7818 9 Mär 08:20 run-compose.sh
-rw-r—r— 1 tsc staff 412 9 Mär 08:20 run-ollama-docker.sh
-rw-r—r— 1 tsc staff 471 9 Mär 08:20 run.sh
drwxr-xr-x 3 tsc staff 96 9 Mär 08:20 scripts
drwxr-xr-x 8 tsc staff 256 9 Mär 08:20 src
drwxr-xr-x 13 tsc staff 416 9 Mär 08:20 static
-rw-r—r— 1 tsc staff 1210 9 Mär 08:20 svelte.config.js
-rw-r—r— 1 tsc staff 1121 9 Mär 08:20 tailwind.config.js
drwxr-xr-x 3 tsc staff 96 9 Mär 08:20 test
-rw-r—r— 1 tsc staff 532 9 Mär 08:20 tsconfig.json
-rwxr-xr-x 1 tsc staff 270 9 Mär 08:20 update_ollama_models.sh
-rw-r—r— 1 tsc staff 662895 9 Mär 08:20 uv.lock
-rw-r—r— 1 tsc staff 1030 9 Mär 08:20 vite.config.ts
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Es sieht so aus, als wäre der frontend/-Ordner nicht vorhanden. Stattdessen gibt es aber Svelte-, Tailwind-, und Vite-Konfigurationsdateien (svelte.config.js, tailwind.config.js, vite.config.ts), was darauf hindeutet, dass das Frontend direkt im Hauptverzeichnis liegt.
Nächste Schritte:
Da du pnpm nicht installiert hast, musst du es zuerst holen:
brew install pnpm
Danach das Frontend bauen:
pnpm install
pnpm build
Falls das funktioniert, kannst du danach nochmal versuchen, das Backend zu starten:
cd backend
poetry run python open_webui/main.py
Falls du weiterhin Fehler bekommst oder pnpm nicht funktioniert, kannst du stattdessen npm oder yarn ausprobieren:
npm install
npm run build
oder
yarn install
yarn build
Falls das alles durchläuft, sollte das Frontend mit dem Backend zusammenarbeiten können. 🚀
Falls du einen Fehler bekommst, poste ihn einfach hier! 😊
Adrachin:
tsc@macbook-pro-1 open-webui % cd backend
poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
README.md: 100%|██████████████████████████████████████████████████████████████████████████| 10.5k/10.5k [00:00<00:00, 22.5MB/s]
config_sentence_transformers.json: 100%|██████████████████████████████████████████████████████| 116/116 [00:00<00:00, 1.25MB/s]
config.json: 100%|████████████████████████████████████████████████████████████████████████████| 612/612 [00:00<00:00, 6.25MB/s]
.gitattributes: 100%|█████████████████████████████████████████████████████████████████████| 1.23k/1.23k [00:00<00:00, 3.30MB/s]
config.json: 100%|████████████████████████████████████████████████████████████████████████████| 190/190 [00:00<00:00, 2.89MB/s]
data_config.json: 100%|███████████████████████████████████████████████████████████████████| 39.3k/39.3k [00:00<00:00, 3.02MB/s]
modules.json: 100%|████████████████████████████████████████████████████████████████████████████| 349/349 [00:00<00:00, 914kB/s]
model_qint8_arm64.onnx: 100%|█████████████████████████████████████████████████████████████| 23.0M/23.0M [00:02<00:00, 10.9MB/s]
model_O1.onnx: 100%|██████████████████████████████████████████████████████████████████████| 90.4M/90.4M [00:02<00:00, 38.0MB/s]
openvino_model.xml: 100%|███████████████████████████████████████████████████████████████████| 211k/211k [00:00<00:00, 1.50MB/s]
model_quint8_avx2.onnx: 100%|█████████████████████████████████████████████████████████████| 23.0M/23.0M [00:00<00:00, 30.1MB/s]
openvino_model_qint8_quantized.bin: 100%|█████████████████████████████████████████████████| 22.9M/22.9M [00:00<00:00, 48.2MB/s]
openvino_model_qint8_quantized.xml: 100%|███████████████████████████████████████████████████| 368k/368k [00:00<00:00, 1.67MB/s]
pytorch_model.bin: 100%|██████████████████████████████████████████████████████████████████| 90.9M/90.9M [00:03<00:00, 27.3MB/s]
sentence_bert_config.json: 100%|█████████████████████████████████████████████████████████████| 53.0/53.0 [00:00<00:00, 461kB/s]
rust_model.ot: 100%|██████████████████████████████████████████████████████████████████████| 90.9M/90.9M [00:03<00:00, 25.2MB/s]
special_tokens_map.json: 100%|█████████████████████████████████████████████████████████████████| 112/112 [00:00<00:00, 382kB/s]
tokenizer.json: 100%|███████████████████████████████████████████████████████████████████████| 466k/466k [00:00<00:00, 2.67MB/s]
tokenizer_config.json: 100%|██████████████████████████████████████████████████████████████████| 350/350 [00:00<00:00, 1.63MB/s]
train_script.py: 100%|████████████████████████████████████████████████████████████████████| 13.2k/13.2k [00:00<00:00, 15.7MB/s]
vocab.txt: 100%|████████████████████████████████████████████████████████████████████████████| 232k/232k [00:00<00:00, 1.30MB/s]
openvino_model.bin: 100%|█████████████████████████████████████████████████████████████████| 90.3M/90.3M [00:07<00:00, 11.9MB/s]
tf_model.h5: 100%|████████████████████████████████████████████████████████████████████████| 91.0M/91.0M [00:02<00:00, 31.1MB/s]
model.safetensors: 100%|██████████████████████████████████████████████████████████████████| 90.9M/90.9M [00:11<00:00, 8.24MB/s]
model_O4.onnx: 100%|██████████████████████████████████████████████████████████████████████| 45.2M/45.2M [00:10<00:00, 4.17MB/s]
model.onnx: 100%|█████████████████████████████████████████████████████████████████████████| 90.4M/90.4M [00:12<00:00, 7.53MB/s]
model_O3.onnx: 100%|██████████████████████████████████████████████████████████████████████| 90.3M/90.3M [00:12<00:00, 7.07MB/s]
model_O2.onnx: 100%|██████████████████████████████████████████████████████████████████████| 90.3M/90.3M [00:12<00:00, 7.03MB/s]
Fetching 30 files: 100%|███████████████████████████████████████████████████████████████████████| 30/30 [00:13<00:00, 2.25it/s]
tsc@macbook-pro-1 backend %
LiquidGPT:
Es sieht so aus, als hätte das Backend erfolgreich gestartet! 🎉
Was als Nächstes tun?
Jetzt brauchst du das Frontend, damit du auf die UI zugreifen kannst.
Da der frontend/-Ordner nicht existiert, befindet sich das Frontend höchstwahrscheinlich direkt im Hauptverzeichnis (open-webui). Deshalb solltest du Folgendes ausführen:
1️⃣ pnpm installieren (falls noch nicht geschehen)
Falls pnpm nicht installiert ist, installiere es mit:
brew install pnpm
2️⃣ Frontend-Abhängigkeiten installieren
Gehe ins Hauptverzeichnis (open-webui) und installiere die Pakete:
pnpm install
Falls pnpm nicht funktioniert, probiere stattdessen npm:
npm install
oder yarn:
yarn install
3️⃣ Frontend bauen
Sobald die Installation abgeschlossen ist, baue das Frontend:
pnpm build
Falls du npm oder yarn benutzt hast:
npm run build
oder
yarn build
4️⃣ Server starten
Falls das Frontend richtig gebaut wurde, kannst du den Server starten:
pnpm dev
Falls pnpm nicht geht:
npm run dev
oder
yarn dev
Sobald das läuft, sollte die Web-Oberfläche erreichbar sein (vermutlich unter http://localhost:3000 oder http://localhost:8080).
Falls du Fehler bekommst, poste sie hier! 🚀
Adrachin:
tsc@macbook-pro-1 backend % brew install pnpm
Warning: pnpm 10.6.1 is already installed and up-to-date.
To reinstall 10.6.1, run:
brew reinstall pnpm
tsc@macbook-pro-1 backend %
LiquidGPT:
Perfekt, pnpm ist bereits installiert! 🎉
Jetzt müssen wir das Frontend installieren und bauen. Da es den frontend/-Ordner in deinem Projekt nicht gibt, ist das Frontend höchstwahrscheinlich direkt im open-webui-Verzeichnis.
1️⃣ Ins Hauptverzeichnis wechseln
cd ~/open-webui
Falls du unsicher bist, wo du dich befindest, kannst du mit pwd überprüfen, dass du im richtigen Verzeichnis bist.
2️⃣ Abhängigkeiten installieren
pnpm install
Falls es hier zu Problemen kommt, probiere stattdessen:
npm install
oder
yarn install
3️⃣ Frontend bauen
pnpm build
Falls pnpm nicht geht:
npm run build
oder
yarn build
4️⃣ Frontend-Server starten
Nach dem erfolgreichen Build kannst du das Frontend mit folgendem Befehl starten:
pnpm dev
Falls pnpm nicht funktioniert:
npm run dev
oder
yarn dev
Sobald das läuft, sollte die Web-Oberfläche erreichbar sein unter:
📌 http://localhost:3000 oder http://localhost:8080
(Je nach Konfiguration)
Falls es irgendwo Fehler gibt, poste sie hier! 🚀
Adrachin:
tsc@macbook-pro-1 backend % cd ~/open-webui
tsc@macbook-pro-1 open-webui % pnpm install
Lockfile is up to date, resolution step is skipped
Already up to date
╭ Warning ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: core-js, cypress, esbuild, onnxruntime-node, protobufjs, sharp, svelte-preprocess. │
│ Run “pnpm approve-builds” to pick which dependencies should be allowed to run scripts. │
│ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Done in 431ms using pnpm v10.6.1
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Perfekt, pnpm install lief erfolgreich! 🎉
Jetzt geht’s weiter mit dem Frontend Build:
1️⃣ Frontend-Build durchführen
pnpm build
Falls es Fehler gibt, poste sie hier.
2️⃣ Falls Build-Skripte geblockt sind
Falls es eine Meldung wie “Ignored build scripts” gibt, dann müssen wir diese Skripte explizit erlauben:
pnpm approve-builds
Danach noch einmal:
pnpm build
3️⃣ Frontend-Server starten
Falls der Build erfolgreich ist, starte den Server:
pnpm dev
Falls pnpm dev nicht existiert:
pnpm run dev
Das Frontend sollte dann unter http://localhost:3000 oder http://localhost:8080 erreichbar sein. 🚀
Falls Fehler auftreten, schick mir einfach die Logs!
Adrachin:
tsc@macbook-pro-1 open-webui % npm run preview
open-webui@0.5.20 preview
vite preview
11:19:03 [vite-plugin-svelte] WARNING: The following packages have a svelte field in their package.json but no exports condition for svelte.
@sveltejs/svelte-virtual-list@3.0.1
Please see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition for details.
➜ Local: http://localhost:4173/
➜ Network: use —host to expose
➜ press h + enter to show help
LiquidGPT:
Perfekt! 🎉 Das Frontend ist nun erfolgreich gebaut und läuft unter http://localhost:4173/.
Falls du auf das Frontend von einem anderen Gerät im Netzwerk zugreifen willst, kannst du es mit folgendem Befehl starten:
npm run preview -- --host
Das macht den Server im gesamten Netzwerk sichtbar.
Was jetzt?
- Öffne http://localhost:4173/ in deinem Browser und teste, ob alles funktioniert.
- Falls das Backend noch läuft, sollte alles passen.
- Falls Fehler auftreten, schick mir die Logs! 🔧
Du hast es fast geschafft! 🚀
Adrachin:
SvelteKitError: Not found: /api/config
at resolve2
at resolve
at init_promise.#options.hooks.handle
at respond
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///Users/tsc/open-webui/nodemodules/.pnpm/@sveltejs+kit@2.19.0@sveltejs+vite-plugin-svelte@3.1.2_svelte@4.2.19vite@5.4.14@type_db93bf804b328d756674500ba428bf2a/node_modules/@sveltejs/kit/src/exports/vite/preview/index.js:197:5 {
status: 404,
text: ‘Not Found’
}
LiquidGPT:
Das Frontend kann die API nicht erreichen (/api/config fehlt). Hier sind mögliche Ursachen und Lösungen:
🔎 Schritt 1: Prüfe, ob das Backend läuft
Da das Frontend API-Anfragen an das Backend stellt, muss es laufen.
Überprüfe, ob das Backend läuft:
- Öffne ein neues Terminal.
- Gehe in den Backend-Ordner:
cd ~/open-webui/backend - Starte das Backend erneut:
poetry run python open_webui/main.py
Falls hier Fehler kommen, schick mir die Logs!
🛠️ Schritt 2: Überprüfe die API-Erreichbarkeit
Öffne http://localhost:8000/api/config im Browser oder führe folgenden Befehl aus:
curl http://localhost:8000/api/config
- Wenn die API eine Antwort gibt, dann liegt das Problem in der Verbindung vom Frontend zum Backend.
- Wenn
404oder ein Fehler kommt, dann läuft das Backend nicht korrekt oder ist auf einem anderen Port.
🔧 Schritt 3: Stelle sicher, dass das Frontend das richtige Backend anspricht
Das Frontend ruft vermutlich die API mit /api/config auf. Standardmäßig erwartet es das Backend auf http://localhost:8000.
Falls dein Backend woanders läuft, kannst du es dem Frontend mitteilen:
-
Erstelle eine
.envDatei imopen-webui-Hauptverzeichnis (falls nicht schon vorhanden):touch .env -
Füge folgende Zeile hinzu:
VITE_API_BASE_URL=http://localhost:8000 -
Baue das Frontend neu:
pnpm build -
Starte es erneut:
pnpm preview
Falls pnpm build nicht funktioniert, versuche stattdessen:
pnpm run dev
(Dieser Befehl startet das Frontend im Entwicklungsmodus, der automatisch auf Änderungen reagiert.)
📌 Zusammenfassung
- Backend starten:
poetry run python open_webui/main.py - Prüfen, ob API erreichbar ist:
curl http://localhost:8000/api/config - Sicherstellen, dass Frontend die richtige API-URL nutzt:
.envmitVITE_API_BASE_URL=http://localhost:8000- Frontend neu bauen:
pnpm build - Neu starten:
pnpm preview
Teste das und schick mir die Ergebnisse! 🚀
Adrachin:
Wenn ich recht erinnere wird port 8000 für MacOS interne Prozesse wie Austausch zwischen iPhone und Mac verwendet.
tsc@macbook-pro-1 backend % curl http://localhost:8000/api/config
curl: (7) Failed to connect to localhost port 8000 after 0 ms: Couldn’t connect to server
tsc@macbook-pro-1 backend %
LiquidGPT:
Da Port 8000 belegt sein könnte oder dein Backend nicht darauf läuft, lass uns einen alternativen Port nehmen.
🔎 Schritt 1: Prüfe, auf welchem Port das Backend läuft
Starte das Backend und überprüfe, ob es sich beschwert, dass Port 8000 belegt ist:
poetry run python open_webui/main.py
Falls ein Fehler à la Address already in use kommt, dann läuft das Backend auf einem anderen Port oder ist blockiert.
Falls es keinen Fehler gibt, prüfe, ob das Backend auf einem anderen Port läuft mit:
lsof -i -P -n | grep LISTEN
Falls dort ein python-Prozess auftaucht, notiere den Port.
🛠️ Schritt 2: Backend auf anderem Port starten
Falls Port 8000 belegt ist, starten wir das Backend auf Port 8080:
poetry run python open_webui/main.py --port 8080
Falls das nicht funktioniert, versuche:
export PORT=8080
poetry run python open_webui/main.py
🔧 Schritt 3: Frontend auf neuen Port einstellen
Da dein Frontend standardmäßig auf Port 8000 zugreifen will, müssen wir es umstellen.
-
Öffne oder erstelle die
.envDatei imopen-webuiHauptverzeichnis:nano ~/open-webui/.env -
Füge diese Zeile hinzu:
VITE_API_BASE_URL=http://localhost:8080 -
Speichern & schließen (
CTRL + X,Y,ENTER). -
Frontend neu bauen:
pnpm build -
Frontend starten:
pnpm preview
Jetzt sollte das Frontend mit Port 8080 kommunizieren.
📌 Fazit:
- Prüfe laufende Ports:
lsof -i -P -n | grep LISTEN - Starte Backend auf anderem Port:
poetry run python open_webui/main.py --port 8080 - Setze API-URL für Frontend:
.envmitVITE_API_BASE_URL=http://localhost:8080 - Frontend neu bauen:
pnpm build - Frontend starten:
pnpm preview
Teste das aus und sag mir, ob du weiterkommst! 🚀
Adrachin:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:00<00:00, 194781.92it/s]
tsc@macbook-pro-1 backend % curl http://localhost:8000/api/config
curl: (7) Failed to connect to localhost port 8000 after 0 ms: Couldn’t connect to server
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:00<00:00, 155729.11it/s]
tsc@macbook-pro-1 backend %
LiquidGPT:
Es sieht so aus, als ob dein Backend läuft, aber nicht auf Port 8000 erreichbar ist. Lass uns das genauer untersuchen.
🔍 Schritt 1: Prüfe, ob das Backend wirklich auf Port 8000 läuft
Führe diesen Befehl aus, um zu sehen, welche Ports von Python-Prozessen belegt sind:
lsof -i -P -n | grep LISTEN | grep python
Falls python nicht auf Port 8000 zu sehen ist, dann läuft dein Backend entweder auf einem anderen Port oder es startet nicht richtig.
Falls kein Output kommt, versuche:
lsof -i -P -n | grep LISTEN
Falls du hier einen anderen Port siehst, z. B. 8080, dann musst du das Frontend anpassen.
🛠 Schritt 2: Manuelles Starten mit festem Port
Starte das Backend auf Port 8080 (falls 8000 blockiert ist):
poetry run python open_webui/main.py --port 8080
Falls das nicht funktioniert, versuche:
export PORT=8080
poetry run python open_webui/main.py
Dann teste:
curl http://localhost:8080/api/config
Falls du eine Antwort bekommst, dann müssen wir das Frontend anpassen.
🔧 Schritt 3: Frontend anpassen
Falls das Backend auf einem anderen Port läuft (z. B. 8080), muss das Frontend das wissen.
-
Öffne oder erstelle die
.envDatei imopen-webuiVerzeichnis:nano ~/open-webui/.env -
Füge folgende Zeile hinzu:
VITE_API_BASE_URL=http://localhost:8080 -
Speichern und schließen (
CTRL + X,Y,ENTER). -
Frontend neu bauen:
pnpm build -
Frontend starten:
pnpm preview
Jetzt sollte das Frontend mit dem richtigen Backend-Port kommunizieren.
🚀 Zusammenfassung
- Prüfe laufende Ports:
lsof -i -P -n | grep LISTEN | grep python - Falls nötig, starte Backend auf anderem Port:
poetry run python open_webui/main.py --port 8080 - Falls das Backend läuft, teste den neuen Port:
curl http://localhost:8080/api/config - Falls das Backend auf einem anderen Port läuft, passe das Frontend an:
.envDatei mitVITE_API_BASE_URL=http://localhost:8080pnpm buildundpnpm previewausführen
Teste das und sag mir, ob das Backend jetzt erreichbar ist! 🚀
Adrachin:
Da ist schwer was los:
tsc@macbook-pro-1 backend % lsof -i -P -n | grep LISTEN
rapportd 477 tsc 8u IPv4 0x280fa92ec7763f43 0t0 TCP :49153 (LISTEN)
rapportd 477 tsc 9u IPv6 0x1d8bb9a7107e6dc5 0t0 TCP :49153 (LISTEN)
ControlCe 548 tsc 8u IPv4 0x843bff500b3c85cd 0t0 TCP :7000 (LISTEN)
ControlCe 548 tsc 9u IPv6 0xe345e9fc113fdcbd 0t0 TCP :7000 (LISTEN)
ControlCe 548 tsc 10u IPv4 0x4c8164033a434c68 0t0 TCP :5000 (LISTEN)
ControlCe 548 tsc 11u IPv6 0xae0f5057e6cb9dc4 0t0 TCP :5000 (LISTEN)
WavesPlug 719 tsc 11u IPv4 0x79095c91f3bdd8a8 0t0 TCP 127.0.0.1:14101 (LISTEN)
WavesPlug 719 tsc 12u IPv6 0x12f1f138c3d45489 0t0 TCP [::1]:14101 (LISTEN)
WavesLoca 725 tsc 11u IPv6 0x569560220cbe7483 0t0 TCP [::1]:6985 (LISTEN)
WavesLoca 725 tsc 12u IPv4 0xb992c8a7a55f5ac6 0t0 TCP 127.0.0.1:6985 (LISTEN)
UA\x20Mix 729 tsc 19u IPv4 0x8178f368f11612da 0t0 TCP :4710 (LISTEN)
UA\x20Clo 776 tsc 21u IPv4 0xf21068bd2182ab77 0t0 TCP :4793 (LISTEN)
ollama 2848 tsc 3u IPv4 0x9ab7b55e008cfa83 0t0 TCP 127.0.0.1:11434 (LISTEN)
tsc@macbook-pro-1 backend %
LiquidGPT:
Es sieht so aus, als ob kein Python-Prozess auf Port 8000 oder einem anderen offensichtlichen Port lauscht. Das bedeutet, dass dein Backend entweder:
- Nicht richtig gestartet wurde (z. B. durch einen Fehler gestoppt wurde)
- Auf einem anderen Port läuft, den wir noch nicht gefunden haben
🔍 Schritt 1: Backend-Prozess überprüfen
Lass uns prüfen, ob das Backend überhaupt läuft. Starte den folgenden Befehl:
ps aux | grep python
Falls du den Backend-Prozess siehst, schau dir an, mit welchen Parametern er läuft. Falls du nichts siehst, bedeutet das, dass das Backend nicht mehr läuft.
🛠 Schritt 2: Backend mit explizitem Port starten
Falls dein Backend nicht in ps aux auftaucht, starte es mit einem festen Port, z. B. 8080:
poetry run python open_webui/main.py --port 8080
Dann versuche erneut, es zu erreichen:
curl http://localhost:8080/api/config
Falls du immer noch keine Verbindung bekommst, liegt das Problem woanders.
🔧 Schritt 3: Manuelles Debugging
Falls dein Backend nicht startet oder du Fehlermeldungen bekommst, starte es im Debug-Modus:
poetry run python -m open_webui.main --debug
Falls es immer noch keine Logs über einen laufenden Server gibt, öffne open_webui/main.py und suche nach der Stelle, wo uvicorn.run() oder FastAPI().run() aufgerufen wird. Vielleicht fehlt dort eine Port-Angabe.
🚀 Zusammenfassung
- Prüfe, ob das Backend läuft:
ps aux | grep python - Falls nicht, starte es mit Port 8080:
poetry run python open_webui/main.py --port 8080 - Teste, ob es erreichbar ist:
curl http://localhost:8080/api/config - Falls das nicht hilft, starte es im Debug-Modus:
poetry run python -m open_webui.main --debug
Probiere das aus und sag mir, was passiert! 🚀
Adrachin:
tsc@macbook-pro-1 backend % ps aux | grep python
tsc 58801 0,0 0,0 410724160 1520 s000 S+ 11:25am 0:00.00 grep python
tsc@macbook-pro-1 backend %
LiquidGPT:
Der ps aux | grep python Befehl zeigt nur den grep-Prozess selbst – das bedeutet, dass kein Python-Backend läuft. Dein Server wurde also entweder nie gestartet oder ist wegen eines Fehlers abgestürzt.
✅ Lösung: Backend erneut starten
Starte das Backend explizit mit einem festen Port (z. B. 8080):
poetry run python open_webui/main.py --port 8080
Falls dieser Befehl fehlschlägt, poste die vollständige Ausgabe hier.
🛠 Danach prüfen, ob der Server läuft
Falls der Server startet, teste ihn mit:
curl http://localhost:8080/api/config
Falls du keine Verbindung bekommst, prüfe erneut, ob der Prozess läuft:
ps aux | grep python
Falls der Python-Prozess erneut fehlt, bedeutet das, dass er beim Starten crasht. Poste in diesem Fall die Fehlermeldung.
Falls du den Fehler findest, versuche herauszufinden, warum dein Server sich nicht starten lässt. Es könnte sein, dass:
- Ein fehlendes Paket oder eine Fehlkonfiguration den Start verhindert.
- Der
main.py-Code nicht richtig geschrieben ist. - Eine andere Anwendung den Port blockiert.
Probiere es aus und sag mir, was passiert! 🚀
Adrachin:
tsc@macbook-pro-1 backend % poetry run python open_webui/main.py —port 8080
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:00<00:00, 23976.59it/s]
tsc@macbook-pro-1 backend %
LiquidGPT:
Es sieht so aus, als ob der Server ohne Fehler beendet wurde, anstatt aktiv auf Anfragen zu lauschen. Lass uns sicherstellen, dass er wirklich läuft.
✅ 1. Prüfe, ob der Server läuft
Führe folgendes aus:
ps aux | grep python
Falls der Prozess nicht existiert, bedeutet das, dass der Server beim Starten direkt beendet wurde.
Falls der Prozess existiert, prüfe mit:
lsof -i -P -n | grep LISTEN
Ob Port 8080 oder ein anderer relevanter Port dabei ist.
🛠 2. Starte das Backend explizit mit uvicorn
Falls das main.py-Skript den Server nicht startet, probiere es mit:
poetry run uvicorn open_webui.main:app --host 0.0.0.0 --port 8080 --reload
Falls das einen Fehler gibt, poste die Ausgabe hier.
📡 3. Teste, ob das Backend reagiert
Falls der Server gestartet ist, prüfe mit:
curl http://localhost:8080/api/config
Falls immer noch keine Antwort kommt, könnte ein anderes Problem vorliegen.
Probiere es aus und sag mir, was du bekommst! 🚀
Adrachin:
Fetching 30 files: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:00<00:00, 23976.59it/s]
tsc@macbook-pro-1 backend % ps aux | grep python
tsc 58826 0,0 0,0 410724160 1520 s000 S+ 11:27am 0:00.00 grep python
tsc@macbook-pro-1 backend % lsof -i -P -n | grep LISTEN
rapportd 477 tsc 8u IPv4 0x280fa92ec7763f43 0t0 TCP :49153 (LISTEN)
rapportd 477 tsc 9u IPv6 0x1d8bb9a7107e6dc5 0t0 TCP :49153 (LISTEN)
ControlCe 548 tsc 8u IPv4 0x843bff500b3c85cd 0t0 TCP :7000 (LISTEN)
ControlCe 548 tsc 9u IPv6 0xe345e9fc113fdcbd 0t0 TCP :7000 (LISTEN)
ControlCe 548 tsc 10u IPv4 0x4c8164033a434c68 0t0 TCP :5000 (LISTEN)
ControlCe 548 tsc 11u IPv6 0xae0f5057e6cb9dc4 0t0 TCP :5000 (LISTEN)
WavesPlug 719 tsc 11u IPv4 0x79095c91f3bdd8a8 0t0 TCP 127.0.0.1:14101 (LISTEN)
WavesPlug 719 tsc 12u IPv6 0x12f1f138c3d45489 0t0 TCP [::1]:14101 (LISTEN)
WavesLoca 725 tsc 11u IPv6 0x569560220cbe7483 0t0 TCP [::1]:6985 (LISTEN)
WavesLoca 725 tsc 12u IPv4 0xb992c8a7a55f5ac6 0t0 TCP 127.0.0.1:6985 (LISTEN)
UA\x20Mix 729 tsc 19u IPv4 0x8178f368f11612da 0t0 TCP :4710 (LISTEN)
UA\x20Clo 776 tsc 21u IPv4 0xf21068bd2182ab77 0t0 TCP :4793 (LISTEN)
ollama 2848 tsc 3u IPv4 0x9ab7b55e008cfa83 0t0 TCP 127.0.0.1:11434 (LISTEN)
tsc@macbook-pro-1 backend %
LiquidGPT:
🔴 Das Backend läuft nicht!
Dein ps aux | grep python-Befehl zeigt keinen laufenden Python-Prozess, und lsof -i -P -n | grep LISTEN zeigt keinen offenen Port für das Backend. Das bedeutet, dass main.py zwar startet, aber sofort wieder beendet wird.
🛠 1. Starte das Backend explizit mit uvicorn
Versuche das Backend explizit mit uvicorn zu starten:
poetry run uvicorn open_webui.main:app --host 0.0.0.0 --port 8080 --reload
Falls das einen Fehler gibt, poste die komplette Ausgabe hier.
🔎 2. Überprüfe mögliche Fehler in den Logs
Falls uvicorn nicht startet, überprüfe die letzten Log-Einträge mit:
poetry run python open_webui/main.py --port 8080 --debug
Falls dort etwas Interessantes steht, poste es hier.
📡 3. Prüfe, ob das Backend nach dem Start wirklich läuft
Falls es startet, teste mit:
curl http://localhost:8080/api/config
Falls der Server trotzdem nicht läuft oder sich sofort beendet, haben wir vielleicht einen Fehler in der Konfiguration oder den Abhängigkeiten.
Probiere es aus und poste die Ergebnisse! 🚀
Adrachin:
Jetzt lande ich nicht mehr auf der command line:
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:00<00:00, 245760.00it/s]
INFO: Started server process [58847]
INFO: Waiting for application startup.
2025-03-09 11:28:39.500 | INFO | open_webui.utils.logger:start_logger:140 - GLOBAL_LOG_LEVEL: INFO - {}
LiquidGPT:
Perfekt! 🎉 Das Backend läuft jetzt erfolgreich! 🔥
✅ Was du jetzt tun kannst:
1️⃣ Prüfe, ob der Server wirklich erreichbar ist:
curl http://localhost:8080/api/config
Falls das eine JSON-Antwort zurückgibt, ist alles gut. Falls nicht, poste die Ausgabe hier.
2️⃣ Starte das Frontend und verbinde es mit dem Backend:
Falls das Backend stabil läuft, kannst du das Frontend wieder starten:
cd ~/open-webui
pnpm run dev
Falls pnpm run dev nicht funktioniert, probiere:
npm run dev
Danach kannst du die URL im Browser aufrufen (wahrscheinlich http://localhost:4173 oder eine andere Portnummer, die in der Ausgabe steht).
3️⃣ Falls etwas nicht klappt, poste die Fehler hier. 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % curl http://localhost:8080/api/config
{“onboarding”:true,”status”:true,”name”:”Open WebUI”,”version”:”0.5.20”,”default_locale”:”“,”oauth”:{“providers”:{}},”features”:{“auth”:true,”auth_trusted_header”:false,”enable_ldap”:false,”enable_api_key”:true,”enable_signup”:true,”enable_login_form”:true,”enable_websocket”:true}}% tsc@macbook-pro-1 open-webui %
LiquidGPT:
🔥 Perfekt! Dein Backend läuft erfolgreich! 🎉
Das JSON-Response zeigt, dass die API korrekt antwortet und die Konfiguration geladen wurde. 🎯
✅ Nächster Schritt: Starte das Frontend!
Jetzt kannst du das Frontend hochfahren, um die Benutzeroberfläche zu nutzen.
1️⃣ Navigiere ins WebUI-Verzeichnis (falls du nicht schon dort bist):
cd ~/open-webui
2️⃣ Starte das Frontend mit:
pnpm run dev
Falls pnpm nicht funktioniert, probiere:
npm run dev
3️⃣ Öffne den Link in deinem Browser!
- In der Konsole sollte jetzt eine Adresse wie
http://localhost:4173/erscheinen. - Öffne die Adresse in deinem Browser und schau, ob die WebUI geladen wird.
Falls irgendetwas nicht klappt, poste den Fehler hier! 🚀
Adrachin:
Re-optimizing dependencies because lockfile has changed
VITE v5.4.14 ready in 559 ms
➜ Local: http://localhost:5173/
➜ Network: http://192.168.1.121:5173/
➜ press h + enter to show help
[vite-plugin-static-copy] Collected 2 items.
LiquidGPT:
🔥 Yes! Dein Frontend läuft jetzt! 🎉
📌 Öffne jetzt die WebUI in deinem Browser:
➡ http://localhost:5173/
Oder über das lokale Netzwerk:
➡ http://192.168.1.121:5173/
✅ Checkliste:
✔ Backend läuft auf http://localhost:8080/api/config (✔ GET-Response OK)
✔ Frontend läuft auf http://localhost:5173/
✔ Kein Fehler in der Konsole
🎯 Falls irgendetwas nicht richtig lädt oder Fehler auftauchen, schick mir einfach die Logs, dann finden wir den letzten Knackpunkt! 🚀
Adrachin:
{‘content_type’: ‘image_asset_pointer’, ‘asset_pointer’: ‘file-service://file-LVFZk37i68prZujMQ2bWU9’, ‘size_bytes’: 109819, ‘width’: 1614, ‘height’: 750, ‘fovea’: None, ‘metadata’: {‘dalle’: None, ‘gizmo’: None, ‘generation’: None, ‘container_pixel_height’: None, ‘container_pixel_width’: None, ‘emu_omit_glimpse_image’: None, ‘emu_patches_override’: None, ‘sanitized’: True, ‘asset_pointer_link’: None}}
LiquidGPT:
🎉 Es läuft! Dein Open WebUI-Frontend ist erfolgreich gestartet!
Die Release-Notes für Version 0.5.20 werden angezeigt, was bedeutet, dass sowohl Backend als auch Frontend richtig laufen.
✅ Nächster Schritt:
Klicke auf “Okay, los geht’s!” und teste, ob alles wie gewünscht funktioniert. Falls du noch Fragen hast oder etwas nicht klappt, sag einfach Bescheid! 🚀
Adrachin:
Prima. Im Moment ist nur deepseek-r1:1.5b vorhanden. Wie bekomme ich andere Modell in die Auswahl?
LiquidGPT:
Super, dass alles läuft! 🎉 Jetzt geht es darum, weitere Modelle in Open WebUI verfügbar zu machen. Hier sind die Optionen:
1️⃣ Modelle über Ollama hinzufügen (empfohlen)
Falls Ollama installiert ist (was es bei dir anscheinend ist, weil Port 11434 läuft), kannst du einfach neue Modelle mit folgendem Befehl hinzufügen:
ollama pull <modell-name>
Beispiele:
ollama pull mistral
ollama pull gemma
ollama pull llama3
ollama pull phi3
Danach solltest du die neuen Modelle in der Modell-Auswahl von Open WebUI sehen.
Falls du eine Übersicht aller verfügbaren Ollama-Modelle willst:
ollama list
2️⃣ Modelle über Open WebUI konfigurieren
Falls du eigene lokale Modelle hast oder Open WebUI mit anderen Modellen füttern willst:
-
Öffne die Datei:
/Users/tsc/open-webui/backend/.env -
Füge dein Modell hinzu, z. B. für ein Llama 3-Modell:
DEFAULT_MODEL=llama3 -
Speichern & Backend neustarten:
poetry run python open_webui/main.py --port 8080
3️⃣ Modelle über API oder VLLM hinzufügen
Falls du eigene Server mit vLLM oder OpenAI-kompatiblen APIs nutzt, kannst du diese in den Einstellungen von Open WebUI eintragen.
Gehe in Open WebUI → Einstellungen → Modelle → “Modell hinzufügen”
Dort kannst du OpenAI- oder vLLM-Modelle eintragen.
🔍 Teste das mal mit ollama pull mistral und schau, ob es danach in der UI erscheint! 🚀
Adrachin:
Es gibt ein model ollama pull llama3.2:latest, richtig?
Kann ich mit ollama eine liste verfügbarer Modelle ausgeben?
LiquidGPT:
Ja, du kannst mit Ollama eine Liste aller verfügbaren Modelle anzeigen! Dafür gibt es zwei nützliche Befehle:
🔍 Liste aller lokal installierten Modelle
Falls du wissen willst, welche Modelle bereits auf deinem System installiert sind, verwende:
ollama list
Das zeigt dir eine Ausgabe wie:
NAME SIZE
mistral 4.2GB
gemma 3.8GB
phi3 2.5GB
llama3.2 8.0GB
🌍 Liste aller offiziell verfügbaren Ollama-Modelle
Falls du herausfinden willst, welche Modelle du noch installieren kannst, sieh dir die Liste auf der offiziellen Ollama-Website an:
Einige der populären Modelle:
ollama pull llama3
ollama pull llama3.2
ollama pull mistral
ollama pull gemma
ollama pull phi3
ollama pull deepseek-coder
ollama pull starcoder
📌 Tipp: Spezifische Versionen von Modellen
Falls du eine bestimmte Version eines Modells ziehen willst, kannst du das mit :latest oder einer Versionsnummer angeben:
ollama pull llama3.2:latest
ollama pull mistral:7b
ollama pull gemma:2b
🔄 Teste mal ollama list und schau, welche Modelle du schon hast! 🚀
Adrachin:
Ich habe jetzt zwei terminal Fenster, eins auf dem das backend läuft, eins auf dem das frontend läuft. Muss ich beide beenden wenn ich ein neues model hinzugefügt habe?
LiquidGPT:
Gute Frage! Nein, du musst nicht zwingend beide Prozesse beenden, aber es hängt davon ab, wie du das neue Modell nutzen möchtest.
🛠 Wenn du ein neues Modell mit ollama pull hinzufügst
-
Backend neustarten?
- Ja, wenn du möchtest, dass das Backend das neue Modell erkennt.
- Beende es mit
CTRL + Cund starte es neu mit:poetry run python open_webui/main.py --port 8080 - Falls dein Backend so konfiguriert ist, dass es Modelle automatisch erkennt, kann es auch ohne Neustart funktionieren.
-
Frontend neustarten?
- Meist nicht nötig, denn das Frontend sollte die Modelle über die API abrufen.
- Falls du aber keine neuen Modelle siehst, versuche einen Neuladen im Browser (
F5oderCTRL + R).
🔄 Alternative: Nur das Backend neustarten
Falls du ein neues Modell hinzugefügt hast und es nicht in der Auswahl erscheint, kannst du das Backend auch “weich” neustarten, ohne das Terminal-Fenster zu schließen:
kill $(pgrep -f "open_webui/main.py")
poetry run python open_webui/main.py --port 8080
🚀 Danach einfach im Browser neu laden, und dein neues Modell sollte erscheinen!
💡 Extra-Tipp: Modell sofort testen ohne Neustart
Falls du das neue Modell nur testen willst, ohne das Backend zu beeinflussen, kannst du es direkt mit Ollama testen:
ollama run llama3.2
oder falls du das Modell als Chat-Assistent testen willst:
ollama chat llama3.2
🔄 Fazit:
- Backend neustarten → Falls das Modell nicht automatisch erkannt wird.
- Frontend neustarten → Meist nur Neuladen im Browser nötig.
- Ollama direkt testen → Kein Neustart nötig, falls du nur schnell ausprobieren willst. 🚀
Adrachin:
Falls dein Backend so konfiguriert ist, dass es Modelle automatisch erkennt, kann es auch ohne Neustart funktionieren.
wie kann ich das prüfen?
LiquidGPT:
Gute Frage! Hier sind die Schritte, um zu prüfen, ob dein Backend neue Modelle automatisch erkennt oder ob ein Neustart erforderlich ist:
1️⃣ Check: Werden neue Modelle automatisch erkannt?
Du kannst testen, ob dein Backend die Modelle automatisch erkennt, indem du einfach nach einem neuen Modell suchst, nachdem du es mit Ollama heruntergeladen hast.
Befehl:
curl http://localhost:8080/api/models
👉 Falls dein Backend neue Modelle automatisch erkennt, sollte das neue Modell in der JSON-Ausgabe erscheinen.
2️⃣ Wo wird das Modell-Handling im Backend konfiguriert?
🔍 Schau in den Backend-Code, speziell in die Konfigurationsdateien oder API-Routen.
- Öffne
open_webui/config.py(falls vorhanden) oderopen_webui/routers/models.py - Suche nach etwas wie:
def list_models(): # Prüft automatisch auf neue Modelle models = ollama.list_models() return models - Falls hier
ollama.list_models()oder eine ähnliche Funktion verwendet wird, erkennt das Backend neue Modelle automatisch.
3️⃣ Backend-Logs prüfen
Manchmal kannst du direkt in den Backend-Logs sehen, ob es Änderungen erkennt.
Lass das Backend laufen und führe diesen Befehl aus:
tail -f backend.log # Falls ein Logfile existiert
Falls dort nichts erscheint, stoppe das Backend mit CTRL + C und starte es erneut, um zu sehen, ob es die neuen Modelle lädt.
4️⃣ Falls das Modell nicht erscheint
Falls dein Modell nicht in /api/models auftaucht:
- Probiere einen Neuladen im Browser (
F5oderCTRL + R). - Falls das nicht reicht, starte das Backend neu:
kill $(pgrep -f "open_webui/main.py") poetry run python open_webui/main.py --port 8080 - Danach nochmal mit:
curl http://localhost:8080/api/modelsprüfen, ob das Modell jetzt auftaucht.
Fazit
✅ Falls /api/models neue Modelle direkt anzeigt → Kein Neustart nötig!
🔄 Falls das Modell fehlt → Backend muss neu gestartet werden.
Willst du den Code dazu genauer prüfen? Ich kann dir helfen, die richtige Datei zu finden. 🚀
Adrachin:
Ich brauche nur einen Refresh auf dem Backend durchführen dann erscheint das neue Modell.
LiquidGPT:
Perfekt! 🎉 Das bedeutet, dass dein Backend automatisch nach neuen Modellen scannt, wenn es aktualisiert wird. Ein kompletter Neustart ist also nicht nötig – ein einfacher Refresh reicht aus.
Falls du das öfter machen willst, kannst du dir ein Alias oder einen kleinen Skript-Befehl setzen, um den Refresh schneller auszuführen:
poetry run python open_webui/main.py --port 8080
Oder falls du das Backend mit CTRL + C stoppst und dann direkt wieder startest, kannst du es mit diesem einen Befehl neu starten:
pkill -f "open_webui/main.py" && poetry run python open_webui/main.py --port 8080
Dann musst du nicht immer manuell stoppen und starten. 😉
Läuft jetzt alles, oder gibt’s noch was zu tun? 🚀
Adrachin:
Es reicht die Webseite neu zu lasen…. (;
LiquidGPT:
Noch besser! 😄🎉 Wenn einfach ein Seiten-Refresh im Browser genügt, dann hast du eine super bequeme Lösung. Kein Terminal-Hickhack, kein Neustarten – einfach F5 oder ⌘ + R drücken, und das neue Modell ist da. 🚀
Falls du noch was ausprobieren willst oder Fragen hast – immer her damit! 😎
Adrachin:
Genau das habe ich gemacht…. (;
Verglichen mit der Version welche die Kombination ollama app und docker verwendet hat geht jetzt wirklich die Sonne auf.
In der Kombination wurde erst überlegt, die Systemlast ging auf hundert Prozent, der Lüfter ging an und dann kam eine Ausgabe.
Jetzt ist das Blitzschnell ohne jegliche Verzögerung und das wird lediglich mit minimaler Last erledigt.
LiquidGPT:
Das klingt nach einem massiven Performance-Boost! 🚀 Kein unnötiges Warten, keine lauten Lüfter – einfach direkte Antwortzeiten und niedrige Systemlast. Genau so soll es sein!
Scheint, als ob die Kombination direkt installiertes Backend + lokales Ollama die beste Lösung für maximale Effizienz ist. Kein Docker-Overhead, keine Virtualisierungshürden – einfach native Performance. 🔥
Freut mich, dass jetzt alles so rund läuft! Wenn du noch Optimierungen testen willst oder weitere Fragen hast – ich bin bereit. 😎
Adrachin:
Das schein alles so zu sein wie es soll. Jetzt werden auch die GPU verwendet was vorher nicht der Fall war. Jetzt entspricht die Performance eindeutig den Ressourcen:
Modellname: MacBook Pro
Modell-Identifizierung: Mac16,6
Modellnummer: Z1FG000FMSM/A
Chip: Apple M4 Max
Gesamtanzahl der Kerne: 16 (12 Leistung und 4 Effizienz)
Speicher: 64 GB
Chipsatz-Modell: Apple M4 Max
Typ: GPU
Bus: Integriert
Gesamtanzahl der Kerne: 40
Hersteller: Apple (0x106b)
Metal-Unterstützung: Metal 3
LiquidGPT:
Das ist ja ein echtes Biest von einer Maschine! 🔥 M4 Max mit 40 GPU-Kernen und 64 GB RAM? Kein Wunder, dass es jetzt richtig abgeht! 😎🚀
Dass jetzt auch die GPU genutzt wird, erklärt den gewaltigen Performance-Sprung. Vorher lief wahrscheinlich alles CPU-basiert, was die Systemlast hochtrieb und die Lüfter ins Rennen schickte. Jetzt schöpft das System endlich seine volle Leistung aus – genau so, wie es sein soll. 🎯
Hast du vor, noch mehr Modelle zu testen oder bist du jetzt erstmal happy mit der aktuellen Performance? 😊
Adrachin:
Die Performance ist spitze. Jetzt benötige ich eine Methode um das System starten zu können. Also ein Script, welches das Backend startet, prüft ob es fehlerfrei läuft und dann das Frontend startet. Wenn es dann noch gleich ein Browserfenster im Safari öffnet für das Admin Interface dann wäre das perfekt.
LiquidGPT:
Hier ist dein perfektes Start-Skript, das genau das tut:
✅ Startet das Backend
✅ Prüft, ob es fehlerfrei läuft
✅ Startet das Frontend
✅ Öffnet Safari mit der WebUI
Schritt 1: Erstelle ein Start-Skript
Speichere die folgende Datei als start_open_webui.sh im Hauptverzeichnis deines Projekts (~/open-webui).
#!/bin/bash
# Setze das Arbeitsverzeichnis auf das Backend
cd "$(dirname "$0")/backend"
echo "🚀 Starte das Backend..."
poetry run python open_webui/main.py --port 8080 &
# Warte auf das Backend, bis es erreichbar ist
echo "⌛ Warte auf das Backend..."
until curl -s http://localhost:8080/api/config > /dev/null; do
sleep 2
echo "⏳ Backend ist noch nicht bereit..."
done
echo "✅ Backend läuft!"
# Setze das Arbeitsverzeichnis auf das Frontend
cd ../
echo "🚀 Starte das Frontend..."
pnpm run preview &
# Warte auf das Frontend, bis es erreichbar ist
echo "⌛ Warte auf das Frontend..."
until curl -s http://localhost:5173 > /dev/null; do
sleep 2
echo "⏳ Frontend ist noch nicht bereit..."
done
echo "✅ Frontend läuft!"
# Starte Safari mit der WebUI
echo "🌍 Öffne die WebUI in Safari..."
open -a "Safari" http://localhost:5173
echo "🎉 Open WebUI ist jetzt einsatzbereit!"
Schritt 2: Skript ausführbar machen
Öffne ein Terminal im Verzeichnis ~/open-webui und führe aus:
chmod +x start_open_webui.sh
Schritt 3: Open WebUI starten
Immer wenn du dein System hochfährst und Open WebUI starten möchtest, reicht ein einfacher Befehl:
./start_open_webui.sh
✨ Ergebnis:
1️⃣ Das Backend wird gestartet und geprüft.
2️⃣ Das Frontend wird gestartet und geprüft.
3️⃣ Die WebUI öffnet sich automatisch in Safari.
💡 Falls du später noch weitere Features (z.B. automatische Modell-Ladung) einbauen willst, können wir das Skript problemlos erweitern. 🎯
Adrachin:
Ich bin mir nicht sicher on das Terminal die von Dir vorgeschlagene Prozedur mit alle Graphischen Gimmick mag…..
Scheint zumindest kein Problem zu sein. Das Script läuft aber in eine Schleife:
tsc@macbook-pro-1 open-webui % ./start_open_webui.sh
🚀 Starte das Backend…
⌛ Warte auf das Backend…
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘ENABLE_SIGNUP’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
⏳ Backend ist noch nicht bereit…
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|████████████████████| 30/30 [00:00<00:00, 168671.74it/s]
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
⏳ Backend ist noch nicht bereit…
^C
LiquidGPT:
Das Problem ist, dass das Backend gestartet wurde, aber es scheinbar nicht auf Anfragen an http://localhost:8080/api/config reagiert. Dies kann mehrere Ursachen haben:
- Das Backend läuft nicht im Hintergrund – Es blockiert das Skript.
- Das Backend braucht zu lange zum Starten – Die Abfrage startet zu früh.
- Der Port ist falsch oder nicht erreichbar – Vielleicht lauscht es auf einem anderen Port.
Lösung: Das Skript verbessern
Ich werde das Skript so anpassen, dass:
✅ Das Backend wirklich im Hintergrund läuft
✅ Nur geprüft wird, wenn das Backend-Prozess existiert
✅ Die maximale Wartezeit begrenzt ist (Timeout von 60 Sekunden)
✅ Falls das Backend nicht startet, das Skript sauber abbricht
Speichere dies als start_open_webui.sh:
#!/bin/bash
set -e # Beende das Skript bei Fehlern
# Setze das Arbeitsverzeichnis auf das Backend
cd "$(dirname "$0")/backend"
echo "🚀 Starte das Backend..."
poetry run python open_webui/main.py --port 8080 &
# PID des Backend-Prozesses holen
BACKEND_PID=$!
echo "🔍 Backend-Prozess läuft unter PID: $BACKEND_PID"
# Maximale Wartezeit (in Sekunden)
TIMEOUT=60
ELAPSED=0
# Warte, bis das Backend verfügbar ist oder der Timeout erreicht ist
while ! curl -s http://localhost:8080/api/config > /dev/null; do
if ! ps -p $BACKEND_PID > /dev/null; then
echo "❌ Backend-Prozess wurde unerwartet beendet!"
exit 1
fi
if [ "$ELAPSED" -ge "$TIMEOUT" ]; then
echo "❌ Timeout! Backend hat sich nicht innerhalb von $TIMEOUT Sekunden gestartet."
exit 1
fi
sleep 2
ELAPSED=$((ELAPSED + 2))
echo "⏳ Backend ist noch nicht bereit ($ELAPSED Sekunden)..."
done
echo "✅ Backend läuft!"
# Setze das Arbeitsverzeichnis auf das Frontend
cd ../
echo "🚀 Starte das Frontend..."
pnpm run preview &
# PID des Frontend-Prozesses holen
FRONTEND_PID=$!
echo "🔍 Frontend-Prozess läuft unter PID: $FRONTEND_PID"
# Warte auf das Frontend
sleep 5
echo "✅ Frontend läuft!"
# Starte Safari mit der WebUI
echo "🌍 Öffne die WebUI in Safari..."
open -a "Safari" http://localhost:5173
echo "🎉 Open WebUI ist jetzt einsatzbereit!"
Neue Verbesserungen:
✔ Das Backend läuft jetzt sicher im Hintergrund (&)
✔ PID-Tracking für Backend und Frontend → Falls einer crasht, wird das Skript abgebrochen.
✔ Maximale Wartezeit von 60 Sekunden für das Backend.
✔ Falls das Backend abstürzt, bricht das Skript sofort ab.
✔ Bessere Logs für mehr Transparenz.
Skript ausführbar machen:
Falls du das noch nicht getan hast:
chmod +x start_open_webui.sh
Starten mit:
./start_open_webui.sh
Falls das Backend nicht startet, bekommst du jetzt direkt eine Meldung, warum es nicht funktioniert.
🚀 Testen und schauen, ob es läuft! 🎉
Adrachin:
tsc@macbook-pro-1 open-webui % ./start_open_webui.sh
🚀 Starte das Backend…
🔍 Backend-Prozess läuft unter PID: 59389
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘ENABLE_SIGNUP’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
⏳ Backend ist noch nicht bereit (2 Sekunden)…
Fetching 30 files: 100%|████████████████████████████████████████████| 30/30 [00:00<00:00, 204268.05it/s]
⏳ Backend ist noch nicht bereit (4 Sekunden)…
⏳ Backend ist noch nicht bereit (6 Sekunden)…
❌ Backend-Prozess wurde unerwartet beendet!
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Das Backend-Prozess ist abgestürzt, und das Skript hat dies korrekt erkannt. Jetzt müssen wir herausfinden, warum das Backend unerwartet beendet wurde.
Schritt 1: Backend manuell starten und Fehler prüfen
Versuche, das Backend manuell zu starten, um zu sehen, ob eine genauere Fehlermeldung erscheint:
cd backend
poetry run python open_webui/main.py --port 8080
Falls es eine Fehlermeldung gibt, poste sie hier.
Schritt 2: Prüfen, ob der Port noch belegt ist
Es könnte sein, dass das Backend nicht starten kann, weil Port 8080 noch belegt ist. Prüfe das mit:
lsof -i -P -n | grep LISTEN
Falls du siehst, dass bereits ein anderer Prozess auf Port 8080 lauscht, versuche einen anderen Port (z. B. 8090):
poetry run python open_webui/main.py --port 8090
Falls es damit klappt, ändere das Skript entsprechend.
Schritt 3: Prüfen, ob Abhängigkeiten fehlen
Falls das Backend sofort abstürzt, könnte es an fehlenden Python-Paketen liegen. Versuche:
poetry install
Falls dabei Fehler auftreten, poste sie hier.
Schritt 4: Falls alles fehlschlägt, Logs prüfen
Falls keine klare Fehlermeldung kommt, könnte es sein, dass das Backend-Prozess in einer anderen Terminal-Sitzung noch läuft und ein Konflikt entsteht. Um sicherzugehen, dass keine alten Prozesse das Problem verursachen, kannst du:
ps aux | grep python
Falls dort ein alter Python-Prozess mit open_webui läuft, kill ihn:
kill -9 <PID>
(Ersetze <PID> mit der tatsächlichen Prozess-ID)
Fazit
Starte zuerst das Backend manuell und prüfe, ob es läuft. Falls nicht, finden wir mit den oben genannten Schritten heraus, woran es liegt. 🚀
Adrachin:
tsc@macbook-pro-1 backend % lsof -i -P -n | grep LISTEN
rapportd 477 tsc 8u IPv4 0x280fa92ec7763f43 0t0 TCP :49153 (LISTEN)
rapportd 477 tsc 9u IPv6 0x1d8bb9a7107e6dc5 0t0 TCP :49153 (LISTEN)
ControlCe 548 tsc 8u IPv4 0x843bff500b3c85cd 0t0 TCP :7000 (LISTEN)
ControlCe 548 tsc 9u IPv6 0xe345e9fc113fdcbd 0t0 TCP :7000 (LISTEN)
ControlCe 548 tsc 10u IPv4 0x4c8164033a434c68 0t0 TCP :5000 (LISTEN)
ControlCe 548 tsc 11u IPv6 0xae0f5057e6cb9dc4 0t0 TCP :5000 (LISTEN)
WavesPlug 719 tsc 11u IPv4 0x79095c91f3bdd8a8 0t0 TCP 127.0.0.1:14101 (LISTEN)
WavesPlug 719 tsc 12u IPv6 0x12f1f138c3d45489 0t0 TCP [::1]:14101 (LISTEN)
WavesLoca 725 tsc 11u IPv6 0x569560220cbe7483 0t0 TCP [::1]:6985 (LISTEN)
WavesLoca 725 tsc 12u IPv4 0xb992c8a7a55f5ac6 0t0 TCP 127.0.0.1:6985 (LISTEN)
UA\x20Mix 729 tsc 19u IPv4 0x8178f368f11612da 0t0 TCP :4710 (LISTEN)
UA\x20Clo 776 tsc 21u IPv4 0xf21068bd2182ab77 0t0 TCP :4793 (LISTEN)
ollama 2848 tsc 3u IPv4 0x9ab7b55e008cfa83 0t0 TCP 127.0.0.1:11434 (LISTEN)
tsc@macbook-pro-1 backend %
LiquidGPT:
Es sieht so aus, als ob Port 8080 oder 8000 nicht belegt ist, also sollte das Backend eigentlich starten können.
Jetzt testen wir weiter:
1️⃣ Prüfe, ob das Backend wirklich noch läuft
Obwohl dein Skript sagt, dass das Backend unerwartet beendet wurde, könnten wir es überprüfen:
ps aux | grep python
Falls ein Prozess mit open_webui läuft, dann wurde es doch nicht beendet. Falls es nicht mehr da ist, dann wurde es wirklich beendet, und wir müssen herausfinden, warum.
Falls es läuft, versuche, das API-Endpunkt zu checken:
curl http://localhost:8080/api/config
2️⃣ Backend manuell starten und Logs prüfen
Falls der vorherige Befehl zeigt, dass das Backend nicht mehr läuft, dann starte es manuell:
cd backend
poetry run python open_webui/main.py --port 8080
Falls das Backend wieder abstürzt, kopiere die vollständige Fehlermeldung hier. Dann sehen wir genau, was schiefgeht.
3️⃣ (Optional) Falls der Port das Problem ist
Falls das Backend immer noch nicht startet, versuche einen anderen Port, z. B. 8090:
poetry run python open_webui/main.py --port 8090
Und prüfe dann:
curl http://localhost:8090/api/config
Falls das funktioniert, dann müssen wir das Skript anpassen.
🚀 Fazit
- Falls das Backend bereits läuft, brauchst du nichts tun.
- Falls es abstürzt, brauchen wir die Fehlermeldung.
- Falls Port 8080 nicht geht, aber 8090 geht, müssen wir das Startskript ändern.
Teste das und sag mir, was du herausfindest! 🚀
Adrachin:
tsc@macbook-pro-1 backend % ps aux | grep python
tsc 59455 0,0 0,0 410724160 1520 s002 S+ 12:16pm 0:00.00 grep python
tsc@macbook-pro-1 backend %
LiquidGPT:
Okay, dein Backend-Prozess ist nicht mehr aktiv, also wurde er tatsächlich beendet. Jetzt müssen wir herausfinden, warum.
1️⃣ Starte das Backend manuell und sammle die Fehlerlogs
Führe das Backend manuell aus und poste hier die vollständige Ausgabe:
cd backend
poetry run python open_webui/main.py --port 8080
Falls es abstürzt, wird eine Fehlermeldung ausgegeben. Diese brauchen wir.
2️⃣ Falls das Backend sofort abstürzt
Falls es direkt beendet wird, prüfe, ob es ein Problem mit den letzten Logs gibt:
tail -n 50 ~/.bash_history
Manchmal gibt es Hinweise auf vorherige Fehler.
3️⃣ Teste mit einem anderen Port
Falls es ein Port-Problem ist, versuche 8090 oder 8200:
poetry run python open_webui/main.py --port 8090
Falls das funktioniert, müssen wir das Skript anpassen.
Fazit
- Poste die Fehlermeldung, falls das Backend wieder abstürzt.
- Falls es mit einem anderen Port funktioniert, ist 8080 blockiert.
- Falls es mit keinem Port funktioniert, liegt ein anderes Problem vor.
Teste es und poste die Ergebnisse! 🚀
Adrachin:
poetry run python open_webui/main.py —port 8080
cd: no such file or directory: backend
/Users/tsc/Library/Python/3.9/lib/python/site-packages/urllib3/init.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
/Users/tsc/open-webui/backend/open_webui
/Users/tsc/open-webui/backend
/Users/tsc/open-webui
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] ‘ENABLE_SIGNUP’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_LOCALE’ loaded from the latest database entry
INFO [open_webui.env] ‘DEFAULT_PROMPT_SUGGESTIONS’ loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO ‘*’ - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|█████████████████████████████████████████████| 30/30 [00:00<00:00, 24347.74it/s]
tsc@macbook-pro-1 backend %
LiquidGPT:
Okay, es sieht so aus, als ob das Backend normal startet – aber dann wird es wieder beendet.
1️⃣ Prüfe, ob das Backend wirklich noch läuft
Sobald du poetry run python open_webui/main.py --port 8080 ausgeführt hast, führe direkt danach dieses Kommando aus:
ps aux | grep python
Falls kein laufender Backend-Prozess mehr zu sehen ist, wurde er wieder beendet.
Falls doch:
lsof -i -P -n | grep LISTEN
Schau, ob Port 8080 aktiv ist.
2️⃣ Probiere einen manuellen Start mit Logging
Versuche das Backend mit zusätzlichen Logs zu starten:
poetry run python open_webui/main.py --port 8080 --log-level debug
Falls es wieder abstürzt, poste die vollständige Ausgabe.
3️⃣ Überprüfe, ob das Backend einen Fehler produziert
Prüfe, ob es eine Fehlerausgabe gibt:
tail -n 50 ~/.bash_history
Falls du dort Fehlermeldungen siehst, kopiere sie hier rein.
4️⃣ Falls nichts hilft:
Falls das Backend immer abstürzt, versuche es mit einem anderen Port:
poetry run python open_webui/main.py --port 8200
Falls das funktioniert, war Port 8080 blockiert.
Nächste Schritte
- Falls
ps aux | grep pythonzeigt, dass kein Prozess läuft, wurde das Backend beendet. - Falls
lsof -i -P -n | grep LISTENzeigt, dass Port 8080 nicht belegt ist, läuft das Backend nicht. - Falls
--log-level debugeine Fehlermeldung produziert, poste sie hier.
Teste das und poste die Ergebnisse! 🚀
Adrachin:
tsc@macbook-pro-1 backend % tail -n 50 ~/.bash_history
tail: /Users/tsc/.bash_history: No such file or directory
tsc@macbook-pro-1 backend %
Das Terminal ist ein zsh
LiquidGPT:
Da du zsh verwendest, liegt deine History-Datei unter ~/.zsh_history.
Probiere stattdessen:
tail -n 50 ~/.zsh_history
Falls du gezielt nach Fehlern suchen willst, kannst du versuchen:
grep "poetry run python" ~/.zsh_history | tail -n 10
Oder falls du nach Fehlermeldungen suchst:
grep "error\|fail" ~/.zsh_history | tail -n 10
Falls da etwas Verdächtiges ist, poste es hier! 🚀
Adrachin:
tsc@macbook-pro-1 open-webui % ps aux | grep python
tsc 59567 0,0 0,0 410724160 1520 s002 S+ 12:24pm 0:00.00 grep python
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Das bedeutet, dass kein Python-Prozess läuft, der das Backend startet. Es scheint, als sei dein Backend abgestürzt oder nicht korrekt gestartet.
Lösungsansatz
-
Backend manuell starten und prüfen, ob es läuft:
cd backend poetry run python open_webui/main.py --port 8080Falls das Backend abstürzt oder nicht weiterläuft, poste die letzte Fehlermeldung hier.
-
Prüfen, ob das Backend überhaupt läuft:
curl http://localhost:8080/api/config- Falls du eine JSON-Antwort bekommst, läuft das Backend.
- Falls nicht, ist es entweder nicht gestartet oder abgestürzt.
-
Log-Dateien checken (falls vorhanden):
Falls das Backend Logging aktiviert hat, sieh dir die letzten Zeilen der Log-Datei an:tail -n 50 backend/logs/backend.logFalls
logsnicht existiert, prüfen wir weiter. -
Falls es wieder abstürzt, versuche, die Abhängigkeiten zu reparieren:
cd backend poetry installDann noch mal das Backend starten.
Falls du eine spezifische Fehlermeldung bekommst, poste sie hier. 🚀
Adrachin:
Wie kann das alles sein. Das lief doch einwandfrei. Wie kann ich rausfinden was für ein Befehl beim erfolgreichen Versuch verwendet wurde?
LiquidGPT:
Ja, es lief vorher einwandfrei, also muss sich etwas geändert haben. Um herauszufinden, welcher Befehl vorher erfolgreich war, kannst du Folgendes tun:
1️⃣ Den Verlauf deiner Befehle in zsh überprüfen
Da du zsh benutzt, sind deine vorherigen Befehle nicht in ~/.bash_history, sondern in ~/.zsh_history gespeichert. Du kannst die letzten Befehle so anzeigen:
tail -n 50 ~/.zsh_history
📌 Suche nach einem poetry run python open_webui/main.py Befehl!
Falls die Datei nicht existiert oder nicht lesbar ist, kannst du den Verlauf direkt durchsuchen:
grep "poetry run python" ~/.zsh_history
Das zeigt dir alle Befehle, die poetry run python enthalten.
2️⃣ Überprüfen, ob ein Alias oder ein anderes Start-Script genutzt wurde
Manchmal werden Befehle durch Aliase oder Skripte gestartet. Prüfe, ob du ein Start-Skript hast:
ls -l ~/open-webui
ls -l ~/open-webui/backend
Falls du ein Skript wie start_open_webui.sh hast, öffne es mit:
cat ~/open-webui/start_open_webui.sh
Dort könnte der richtige Startbefehl drinstehen!
3️⃣ Prüfen, ob das Backend doch noch läuft
Vielleicht ist das Backend gar nicht abgestürzt, sondern es läuft unter einer anderen Prozess-ID.
ps aux | grep python
Falls du dort einen Prozess siehst, prüfe die genaue Start-Kommandozeile mit:
ps -o command= -p $(pgrep -f open_webui/main.py)
Das zeigt exakt, mit welchen Parametern das Backend läuft!
4️⃣ Falls das alles nichts bringt: Restart des Backends
Falls du den ursprünglichen Befehl nicht findest, kannst du es nochmal so starten:
cd ~/open-webui/backend
poetry run python open_webui/main.py --port 8080
Falls du dich erinnerst, welchen Port du zuvor genutzt hast, ändere die 8080 entsprechend.
🎯 Fazit
- Schau in
~/.zsh_history, um den genauen Befehl zu finden. - Prüfe, ob ein Skript (
start_open_webui.sh) oder ein Alias benutzt wurde. - Checke, ob das Backend evtl. doch noch läuft.
- Falls alles nichts hilft, versuche einen Restart mit
poetry run python open_webui/main.py --port 8080.
Falls du irgendwo hängen bleibst, poste die Ergebnisse hier. 🚀
Adrachin:
Das letzte mal hatte ich das Backend gestartet mit:
cd ~/open-webui
pnpm run dev
Das geht auch jetzt noch:
tsc@macbook-pro-1 backend % cd ~/open-webui
pnpm run dev
open-webui@0.5.20 dev /Users/tsc/open-webui
npm run pyodide:fetch && vite dev —host
open-webui@0.5.20 pyodide:fetch
node scripts/prepare-pyodide.js
Setting up pyodide + micropip
Pyodide version mismatch, removing static/pyodide directory
(node:59653) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
(Use node --trace-deprecation ... to show where the warning was created)
Loading micropip package
Loading micropip, packaging
Didn’t find package packaging-24.2-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package micropip-0.8.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package micropip-0.8.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package packaging-24.2-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded micropip, packaging
Downloading Pyodide packages: [
‘micropip’, ‘packaging’,
‘requests’, ‘beautifulsoup4’,
‘numpy’, ‘pandas’,
‘matplotlib’, ‘scikit-learn’,
‘scipy’, ‘regex’,
‘sympy’, ‘tiktoken’,
‘seaborn’, ‘pytz’
]
Installing package: micropip
Installing package: packaging
Installing package: requests
Loading certifi, charset-normalizer, idna, requests, urllib3
Didn’t find package requests-2.31.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package idna-3.7-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package urllib3-2.2.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package certifi-2024.12.14-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package charset_normalizer-3.3.2-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package requests-2.31.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package idna-3.7-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package charset_normalizer-3.3.2-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package urllib3-2.2.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package certifi-2024.12.14-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded certifi, charset-normalizer, idna, requests, urllib3
Installing package: beautifulsoup4
Loading beautifulsoup4, soupsieve
Didn’t find package soupsieve-2.5-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package beautifulsoup4-4.12.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package beautifulsoup4-4.12.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package soupsieve-2.5-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded beautifulsoup4, soupsieve
Installing package: numpy
Loading numpy
Didn’t find package numpy-2.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package numpy-2.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded numpy
Installing package: pandas
numpy already loaded from default channel
Loading pandas, python-dateutil, pytz, six
Didn’t find package pytz-2024.1-py2.py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package pandas-2.2.3-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package python_dateutil-2.9.0.post0-py2.py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package six-1.16.0-py2.py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package six-1.16.0-py2.py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package pytz-2024.1-py2.py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package python_dateutil-2.9.0.post0-py2.py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package pandas-2.2.3-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded pandas, python-dateutil, pytz, six
Installing package: matplotlib
numpy already loaded from default channel
six already loaded from default channel
packaging already loaded from default channel
python-dateutil already loaded from default channel
pytz already loaded from default channel
Loading Pillow, contourpy, cycler, fonttools, kiwisolver, matplotlib, matplotlib-pyodide, pyparsing
Didn’t find package matplotlib-3.8.4-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package cycler-0.12.1-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package contourpy-1.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package kiwisolver-1.4.5-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package pillow-10.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package pyparsing-3.1.2-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package matplotlib_pyodide-0.2.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package fonttools-4.51.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package cycler-0.12.1-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package kiwisolver-1.4.5-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package contourpy-1.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package matplotlib_pyodide-0.2.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package matplotlib-3.8.4-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package pyparsing-3.1.2-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package pillow-10.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package fonttools-4.51.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded Pillow, contourpy, cycler, fonttools, kiwisolver, matplotlib, matplotlib-pyodide, pyparsing
Installing package: scikit-learn
numpy already loaded from default channel
Loading joblib, openblas, scikit-learn, scipy, threadpoolctl
Didn’t find package openblas-0.3.26.zip locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package scikit_learn-1.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package joblib-1.4.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package threadpoolctl-3.5.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package scipy-1.14.1-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package joblib-1.4.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package threadpoolctl-3.5.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package openblas-0.3.26.zip loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package scikit_learn-1.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package scipy-1.14.1-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded joblib, openblas, scikit-learn, scipy, threadpoolctl
Installing package: scipy
Installing package: regex
Loading regex
Didn’t find package regex-2024.9.11-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package regex-2024.9.11-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded regex
Installing package: sympy
Loading mpmath, sympy
Didn’t find package sympy-1.13.3-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Didn’t find package mpmath-1.3.0-py3-none-any.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package mpmath-1.3.0-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Package sympy-1.13.3-py3-none-any.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded mpmath, sympy
Installing package: tiktoken
regex already loaded from default channel
requests already loaded from default channel
Loading tiktoken
Didn’t find package tiktoken-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl locally, attempting to load from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/
Package tiktoken-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl loaded from https://cdn.jsdelivr.net/pyodide/v0.27.3/full/, caching the wheel in node_modules for future use.
Loaded tiktoken
Installing package: seaborn
Installing package: pytz
Pyodide packages downloaded, freezing into lock file
Copying Pyodide files into static directory
12:29:38 [vite-plugin-svelte] WARNING: The following packages have a svelte field in their package.json but no exports condition for svelte.
@sveltejs/svelte-virtual-list@3.0.1
Please see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition for details.
VITE v5.4.14 ready in 510 ms
➜ Local: http://localhost:5173/
➜ Network: http://192.168.1.121:5173/
➜ press h + enter to show help
[vite-plugin-static-copy] Collected 2 items.
LiquidGPT:
Das bedeutet, dass das Frontend mit pnpm run dev gestartet wird, und es scheint zu funktionieren.
Allerdings stellt sich jetzt die Frage: Wird das Backend überhaupt gestartet?
pnpm run devscheint sich eher auf das Frontend zu beziehen.- Das Backend läuft normalerweise als separater
poetry-Prozess.
🚀 Lösung: Sicherstellen, dass das Backend gestartet wird
Da du vorher poetry run python open_webui/main.py --port 8080 genutzt hast, stelle sicher, dass du das Backend explizit startest, bevor du das Frontend aufrufst.
Versuche folgende Reihenfolge:
# Backend starten
cd ~/open-webui/backend
poetry run python open_webui/main.py --port 8080 &
# Kurz warten, damit das Backend wirklich startet
sleep 5
# Frontend starten
cd ~/open-webui
pnpm run dev
Falls das nicht klappt:
- Überprüfe mit
curl http://localhost:8080/api/config, ob das Backend wirklich läuft. - Falls
curlfehlschlägt, schau mitps aux | grep python, ob das Backend wirklich gestartet wurde.
Falls du möchtest, kann ich dir ein startbares Skript schreiben, das alles automatisch macht. 🔥
Adrachin:
Hier noch mal der Kontext der zum Erfolg geführt hatte:
- Starte das Backend explizit mit uvicorn
Versuche das Backend explizit mit uvicorn zu starten:
poetry run uvicorn open_webui.main:app —host 0.0.0.0 —port 8080 —reload
Falls das einen Fehler gibt, poste die komplette Ausgabe hier.
🔎 2. Überprüfe mögliche Fehler in den Logs
Falls uvicorn nicht startet, überprüfe die letzten Log-Einträge mit:
poetry run python open_webui/main.py —port 8080 —debug
Falls dort etwas Interessantes steht, poste es hier.
📡 3. Prüfe, ob das Backend nach dem Start wirklich läuft
Falls es startet, teste mit:
curl http://localhost:8080/api/config
Falls der Server trotzdem nicht läuft oder sich sofort beendet, haben wir vielleicht einen Fehler in der Konfiguration oder den Abhängigkeiten.
Probiere es aus und poste die Ergebnisse! 🚀
Du:
Jetzt lande ich nicht mehr auf der command line:
v0.5.20 - building the best open-source AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:00<00:00, 245760.00it/s]
INFO: Started server process [58847]
INFO: Waiting for application startup.
2025-03-09 11:28:39.500 | INFO | open_webui.utils.logger:start_logger:140 - GLOBAL_LOG_LEVEL: INFO - {}
ChatGPT:
Perfekt! 🎉 Das Backend läuft jetzt erfolgreich! 🔥
Ist der nicht mehr vorhanden in Deinem Kontext Speicher?
LiquidGPT:
Ja, dein erfolgreicher Kontext ist noch klar ersichtlich! 🎯
🚀 Erfolgreiche Schritte, die das Backend zum Laufen gebracht haben
Basierend auf deinem Verlauf hat dieser Befehl das Backend korrekt gestartet:
poetry run uvicorn open_webui.main:app --host 0.0.0.0 --port 8080 --reload
Danach konntest du mit:
curl http://localhost:8080/api/config
prüfen, ob das Backend läuft – und es hat funktioniert! 🎉
💡 Warum ist das wichtig?
uvicornist ein ASGI-Server und eignet sich besonders gut für FastAPI-Anwendungen.- Das
--reloadsorgt dafür, dass Änderungen automatisch neu geladen werden. --host 0.0.0.0ermöglicht es, von extern (z. B. über eine andere Maschine im Netzwerk) auf das Backend zuzugreifen.
🔥 Automatisiertes Start-Skript für Open WebUI
Falls du möchtest, kann ich dir jetzt ein Shell-Skript schreiben, das:
✅ Das Backend mit uvicorn startet
✅ Wartet, bis es erreichbar ist
✅ Das Frontend mit pnpm startet
✅ Automatisch den Safari-Browser öffnet
Das würde dir beim Starten des Systems viel Arbeit abnehmen. Soll ich das für dich erstellen? 😊
Adrachin:
mach das.
LiquidGPT:
Hier ist dein automatisches Start-Skript für Open WebUI. 🎯
Es startet das Backend mit uvicorn, wartet, bis es läuft, startet das Frontend und öffnet Safari mit dem Admin-Interface.
📜 Start-Skript: start_open_webui.sh
Speichere diese Datei als start_open_webui.sh in deinem Open WebUI-Ordner:
#!/bin/bash
echo "🚀 Starte das Open WebUI Backend..."
cd ~/open-webui/backend || { echo "❌ Fehler: Backend-Verzeichnis nicht gefunden!"; exit 1; }
# Starte das Backend im Hintergrund und speichere die PID
poetry run uvicorn open_webui.main:app --host 0.0.0.0 --port 8080 --reload > backend.log 2>&1 &
BACKEND_PID=$!
echo "🔍 Backend gestartet mit PID: $BACKEND_PID"
# Warte auf das Backend, bis es erreichbar ist
echo "⌛ Warte auf das Backend..."
until curl -s http://localhost:8080/api/config > /dev/null; do
echo "⏳ Backend ist noch nicht bereit..."
sleep 2
done
echo "✅ Backend läuft!"
# Starte das Frontend
echo "🚀 Starte das Frontend..."
cd ~/open-webui || { echo "❌ Fehler: Open WebUI Verzeichnis nicht gefunden!"; exit 1; }
pnpm run dev > frontend.log 2>&1 &
echo "🌍 Öffne die Web-Oberfläche in Safari..."
sleep 2
open -a "Safari" http://localhost:5173/
echo "🎉 Open WebUI ist bereit!"
wait $BACKEND_PID
💾 So speicherst du es und machst es ausführbar
- Öffne das Terminal und gehe in dein Open WebUI-Verzeichnis:
cd ~/open-webui - Erstelle die Datei:
nano start_open_webui.sh - Kopiere das Skript oben und füge es in
nanoein. - Speichere und schließe nano mit
CTRL + X, dannYundENTER. - Mache die Datei ausführbar:
chmod +x start_open_webui.sh
🔥 So startest du Open WebUI jetzt mit einem einzigen Befehl
./start_open_webui.sh
💡 Was macht das Skript?
✅ Startet das Backend mit uvicorn
✅ Wartet, bis es erreichbar ist
✅ Startet das Frontend mit pnpm
✅ Öffnet die Web-Oberfläche automatisch in Safari
Das sollte dein Workflow viel einfacher machen. Viel Spaß! 🚀😊
Adrachin:
Soweit so gut. Der server wird gestartet aber in Safari ist kein webbi zu sehen. Adresse:
LiquidGPT:
Falls Safari kein WebUI lädt, gibt es ein paar Dinge, die du überprüfen kannst. 🛠️
📝 Schritt 1: Prüfen, ob das Frontend wirklich läuft
Öffne das Terminal und führe diesen Befehl aus:
lsof -i -P -n | grep LISTEN | grep 5173
➡️ Falls keine Ausgabe kommt, bedeutet das, dass das Frontend nicht auf Port 5173 läuft.
➡️ Falls eine Zeile mit Port 5173 erscheint, läuft das Frontend, aber Safari hat eventuell ein Cache-Problem.
📝 Schritt 2: Manuell das Frontend starten
Falls das Frontend nicht auf 5173 läuft, kannst du es manuell starten:
cd ~/open-webui
pnpm run dev
Dann versuche nochmal, http://localhost:5173 in Safari zu öffnen.
📝 Schritt 3: Frontend-Fehler prüfen
Falls es trotzdem nicht klappt, prüfe das Frontend-Log mit:
tail -n 50 ~/open-webui/frontend.log
Falls dort Fehler stehen, poste sie hier.
📝 Schritt 4: Safari Cache & DNS-Fehler ausschließen
Manchmal hat Safari Probleme mit gecachten Seiten.
Versuche:
1️⃣ Cache löschen:
- Safari öffnen →
Einstellungen→Datenschutz→Websitedaten verwalten→Alle entfernen - Alternativ:
CMD + ALT + Edrücken (Cache leeren) - Seite neu laden (
CMD + R)
2️⃣ Hard Refresh erzwingen:
CMD + SHIFT + R(Lädt die Seite neu, ignoriert Cache)
3️⃣ Andere Browser testen (z. B. Chrome oder Firefox)
open -a "Google Chrome" http://localhost:5173/
Falls du den Fehler findest, poste die Details hier! 🚀
Adrachin:
tsc@macbook-pro-1 ~ % lsof -i -P -n | grep LISTEN | grep 5173
node 60092 tsc 18u IPv6 0x944565d41d8ad38d 0t0 TCP *:5173 (LISTEN)
tsc@macbook-pro-1 ~ %
LiquidGPT:
Das bedeutet, dass dein Frontend-Server tatsächlich auf Port 5173 läuft. 🎉
Da Safari trotzdem nichts anzeigt, könnte das an einem Cache-Problem oder einem Fehler im Frontend selbst liegen. Hier sind die nächsten Schritte:
✅ Schritt 1: Teste in einem anderen Browser
Falls du es noch nicht probiert hast, versuche Chrome oder Firefox zu öffnen:
open -a "Google Chrome" http://localhost:5173/
Falls es dort funktioniert, liegt das Problem an Safari (z. B. Cache, Cookies, DNS).
✅ Schritt 2: Safari Cache & Cookies leeren
Falls es nur in Safari nicht funktioniert, probiere:
1️⃣ Safari Cache löschen
- Safari öffnen →
Einstellungen→Datenschutz→Websitedaten verwalten→Alle entfernen - Alternativ:
CMD + ALT + Edrücken (Cache leeren) - Seite neu laden (
CMD + R)
2️⃣ Hard Refresh erzwingen
CMD + SHIFT + R(Lädt die Seite neu, ignoriert Cache)
3️⃣ Privates Fenster testen
CMD + SHIFT + Ndrücken (Öffnet ein neues privates Fenster)- http://localhost:5173 eingeben und testen
✅ Schritt 3: Prüfe, ob das Frontend Fehler hat
Falls es in keinem Browser funktioniert, prüfe das Log des Frontends:
cd ~/open-webui
pnpm run dev
Wenn es dort Fehler gibt, poste die letzten 20 Zeilen.
✅ Schritt 4: Frontend-Server neu starten
Falls das Problem weiterhin besteht, versuche den Frontend-Server neu zu starten:
cd ~/open-webui
pnpm run dev --host
Das könnte helfen, falls das Problem mit der Host-Einstellung zu tun hat.
Falls weiterhin nichts zu sehen ist, sag mir Bescheid! 🚀
Adrachin:
Sorry, aber das alles kann doch nicht die Ursache sein. Das hat vorher einwandfrei funktioniert.
LiquidGPT:
Da du vorher bereits Erfolg hattest, bedeutet das: Irgendetwas hat sich geändert. Wir müssen jetzt systematisch herausfinden, was genau das Problem ist. 🔍
1️⃣ Ist das Frontend wirklich aktiv?
Lass uns sicherstellen, dass das Frontend läuft:
🔹 Teste, ob der Port erreichbar ist
Starte ein Terminal und versuche:
curl -I http://localhost:5173
Falls die Ausgabe kein HTTP 200 oder 404 zurückgibt, ist das Frontend nicht richtig gestartet.
2️⃣ Ist das Frontend an den richtigen Port gebunden?
Starte das Frontend explizit mit --host:
cd ~/open-webui
pnpm run dev --host
Wenn das Frontend sich standardmäßig nur an localhost bindet, kann es sein, dass Safari es nicht auf localhost:5173 erkennt.
3️⃣ Starte alles sauber neu
Falls der Port bereits belegt ist, beende alles und starte es erneut.
🔹 Beende alle alten Prozesse
pkill -f "node"
pkill -f "vite"
Falls du sichergehen willst:
lsof -i :5173 # Prüfen, ob noch Prozesse laufen
Dann Frontend neu starten:
cd ~/open-webui
pnpm run dev --host
Falls du Fehler siehst, poste sie hier.
4️⃣ Ist der Build vielleicht kaputt?
Falls dein Frontend fehlerhaft ist, könnte ein Neuaufbau helfen:
cd ~/open-webui
pnpm install
pnpm build
pnpm run dev
5️⃣ Ist das Backend wirklich erreichbar?
Starte ein zweites Terminal und versuche:
curl http://localhost:8080/api/config
Falls das Backend nicht antwortet, könnte das Frontend auf eine Antwort warten und deswegen leer bleiben.
6️⃣ Öffne die Browser-Konsole in Safari
Falls die Seite immer noch leer bleibt, drücke CMD + ALT + I und sieh in die Konsole, ob dort JavaScript-Fehler stehen.
Falls ja, poste sie hier!
➡️ Was als Nächstes tun?
- Teste
curl -I http://localhost:5173 - Starte das Frontend mit
pnpm run dev --host - Falls es immer noch nicht geht, baue das Frontend neu mit
pnpm install && pnpm build - Falls es weiß bleibt, schau in die Browser-Konsole (
CMD + ALT + I)
🚀 Lass mich wissen, was du rausfindest! 🚀
Adrachin:
Bitte nicht immer ellenlange Schritte ausgeben bevor nicht grundlegende Punkte geklärt sind. Ein Start des Frontend mit:
tsc@macbook-pro-1 ~ % cd ~/open-webui
pnpm run dev
führt zum Erfolg. Die Webseite geht in Safari auf und ich kann mich einloggen. Also die Sequenz im Start Script zum initiieren das backend funktioniert. Im Teil des WebUI starts muss noch ein Fehler sein.
LiquidGPT:
Alles klar! Da der manuelle Start von pnpm run dev funktioniert, liegt das Problem im Start-Skript für das Frontend. Wir müssen uns also nur diesen Teil ansehen. 🔍
🛠 Debugging des Start-Skripts
- Öffne das Start-Skript (
start_open_webui.shoder wie es heißt). - Finde die Stelle, wo das Frontend gestartet wird.
- Ersetze sie testweise mit dem funktionierenden Befehl:
cd ~/open-webui pnpm run dev
Falls das Problem weiterhin besteht:
- Poste den relevanten Abschnitt aus deinem Start-Skript, der für das WebUI verantwortlich ist.
So finden wir den Fehler gezielt, ohne unnötige Schritte. 🚀
Adrachin:
So. Da war ein Fehler im Start Script den ich da rein gebracht habe. Der Teil für den Start des WebUI hat einfach gefehlt. Hier das aktuelle Script das nahezu zum Erfolg führt:
!/bin/bash
echo “🚀 Starte das Open WebUI Backend…”
cd ~/open-webui/backend || { echo “❌ Fehler: Backend-Verzeichnis nicht gefunde$
Starte das Backend im Hintergrund und speichere die PID
poetry run uvicorn open_webui.main:app —host 0.0.0.0 —port 8080 —reload > ba$
BACKEND_PID=$!
echo “🔍 Backend gestartet mit PID: $BACKEND_PID”
Warte auf das Backend, bis es erreichbar ist
echo “⌛ Warte auf das Backend…”
until curl -s http://localhost:8080/api/config > /dev/null; do
echo “⏳ Backend ist noch nicht bereit…”
sleep 2
done
echo “✅ Backend läuft!”
Starte das Frontend
Bei diesem Script geht erst eine leere Safari Seite auf. Eine kleine Wartezeit später und einen Seiten refresh später erscheint dann die Login Seite. Es benötigt also entweder eine Prüfung ob das WebUI vollständig initiiert ist oder eine Wartezeit von einigen Sekunden bevor das Safari Fenster geöffnet wird.
LiquidGPT:
Perfekt! 🎉 Das Backend und das Frontend starten jetzt grundsätzlich, aber Safari öffnet sich wohl zu früh, bevor das WebUI bereit ist. 🕵️♂️
🔧 Lösung: Wartezeit einfügen oder WebUI-Verfügbarkeit prüfen
Es gibt zwei Möglichkeiten, das zu verbessern:
1️⃣ Methode: Einfache Wartezeit vor Safari-Start
Falls das WebUI nach einer festen Verzögerung bereit ist, kannst du einfach eine Wartezeit einbauen:
echo "⌛ Warte 5 Sekunden, damit das WebUI bereit ist..."
sleep 5
echo "🌐 Öffne Open WebUI in Safari..."
open -a "Safari" http://localhost:5173
Falls 5 Sekunden zu wenig sind, einfach erhöhen. ⏳
2️⃣ Methode: Warten, bis das WebUI wirklich bereit ist
Besser ist es, zu prüfen, ob die WebUI-API wirklich erreichbar ist, bevor Safari geöffnet wird:
echo "⌛ Warte auf das WebUI..."
until curl -s http://localhost:5173 > /dev/null; do
echo "⏳ WebUI ist noch nicht bereit..."
sleep 2
done
echo "✅ WebUI läuft! Öffne Open WebUI in Safari..."
open -a "Safari" http://localhost:5173
Das sorgt dafür, dass Safari erst startet, wenn die WebUI wirklich bereit ist. 🚀
💡 Empfehlung:
Falls das WebUI nach einem erfolgreichen Start trotzdem noch einen manuellen Seiten-Refresh benötigt, kann das an Caching oder Verzögerungen in vite liegen. In dem Fall hilft die erste Methode besser.
Probier es aus und sag Bescheid, welche Methode besser funktioniert! 🚀
Adrachin:
So funktioniert das. Script:
!/bin/bash
echo “🚀 Starte das Open WebUI Backend…”
cd ~/open-webui/backend || { echo “❌ Fehler: Backend-Verzeichnis nicht gefunde$
Starte das Backend im Hintergrund und speichere die PID
poetry run uvicorn open_webui.main:app —host 0.0.0.0 —port 8080 —reload > ba$
BACKEND_PID=$!
echo “🔍 Backend gestartet mit PID: $BACKEND_PID”
Warte auf das Backend, bis es erreichbar ist
echo “⌛ Warte auf das Backend…”
until curl -s http://localhost:8080/api/config > /dev/null; do
echo “⏳ Backend ist noch nicht bereit…”
sleep 2
done
echo “✅ Backend läuft!”
Starte das Frontend
echo “🚀 Starte das Frontend…”
cd ~/open-webui || { echo “❌ Fehler: Open WebUI Verzeichnis nicht gefunden!”; $pnpm run dev > frontend.log 2>&1 &
echo “🌍 Öffne die Web-Oberfläche in Safari…”
sleep 2
open -a “Safari” http://localhost:5173/
echo “🎉 Open WebUI ist bereit!”
wait $BACKEND_PID
Starte das Frontend
echo “🚀 Starte das Frontend…”
cd ~/open-webui || { echo “❌ Fehler: Open WebUI Verzeichnis nicht gefunden!”; $pnpm run dev > frontend.log 2>&1 &
echo “⌛ Warte auf das WebUI…”
until curl -s http://localhost:5173 > /dev/null; do
echo “⏳ WebUI ist noch nicht bereit…”
sleep 2
done
echo “✅ WebUI läuft! Öffne Open WebUI in Safari…”
open -a “Safari” http://localhost:5173
Das Fenster in Safari ist zuerst leer, initiiert sich dann aber automatisch bis zum login….. (;
LiquidGPT:
Das sieht super aus! 🎉 🚀
Du hast das Skript jetzt so angepasst, dass es:
- Das Backend startet und wartet, bis es erreichbar ist.
- Das Frontend startet und sichert, dass es wirklich bereit ist.
- Safari erst dann öffnet, wenn die WebUI vollständig initialisiert ist.
Das bedeutet, du kannst es jetzt einfach ausführen und musst nichts mehr manuell nachladen oder neu starten. Perfekte Automatisierung! 🎯
Falls du das Skript noch etwas sauberer machen willst, könntest du die doppelten Frontend-Start-Befehle noch bereinigen. Aber funktional ist es jetzt perfekt optimiert. 🔥
Danke fürs Testen und viel Spaß mit Open WebUI in Bestform! 🚀😃
Adrachin:
Wieder mein Fehler. Man sollte sich schon mal mit der Bedienung von Nano auseinandersetzen wenn man es benutzen will. Ich hatte einfach den Text zum löschen mit der Maus markiert und gelöscht. Nur weg war der dann nicht.
Wie auch immer, jetzt geht es und ich habe eine lokale AI die bestens funktioniert….. (;
LiquidGPT:
Haha, ja, Nano kann manchmal tückisch sein! 😄 Aber hey, jetzt läuft deine lokale AI blitzschnell und optimal auf deinem Mac – ohne Lüfterchaos und mit voller GPU-Power! 🚀🔥
Das ist der perfekte Self-Hosted AI-Setup, genau so, wie es sein sollte! Schnell, lokal und effizient. 🏆
Falls du noch mehr Modelle testen oder weiter optimieren willst, weißt du ja jetzt genau, wie du es machen kannst. Viel Spaß mit deiner lokalen AI! 😃💡
Adrachin:
Da rufen jetzt zwei Hintergrundprozesse. Im Terminal bin ich wieder auf dem Eingabeprompt. Wie lange laufen denn die Prozesse im Hintergrund?
LiquidGPT:
Die beiden Hintergrundprozesse – das Backend (Uvicorn) und das Frontend (pnpm) – laufen so lange, bis du sie manuell stoppst oder dein System neugestartet wird.
🔍 Wie lange laufen die Prozesse?
- Da du die Prozesse mit
&im Hintergrund gestartet hast, bleiben sie so lange aktiv, bis:- Du sie stoppst (z. B. mit
killoderpkill). - Der Terminal-Session endet, falls sie an eine bestimmte Shell-Session gebunden sind.
- Dein Mac neu startet oder du dich abmeldest.
- Du sie stoppst (z. B. mit
🛑 Wie kannst du die Prozesse beenden?
1️⃣ Backend stoppen (Uvicorn)
Finde die PID des Backend-Prozesses mit:
ps aux | grep uvicorn
Dann beende ihn mit:
kill <PID>
oder einfach mit:
pkill -f uvicorn
2️⃣ Frontend stoppen (pnpm)
Finde den Prozess mit:
ps aux | grep pnpm
Dann beende ihn mit:
kill <PID>
oder:
pkill -f pnpm
🚀 Prozesse beim Neustart automatisch starten
Falls du möchtest, dass das Backend und Frontend automatisch starten, wenn du deinen Mac neu hochfährst, kannst du dein Startscript in launchctl oder crontab einbinden.
Aber wenn du alles manuell startest, kannst du es mit dem start_open_webui.sh-Script immer sauber starten.
➡️ Fazit:
Die Prozesse laufen bis du sie stoppst oder dein Mac neu startet. Falls du das System sauber herunterfahren willst, beende die Prozesse mit pkill oder kill. 🔥💡
Adrachin:
Das Terminal Fenster schliessen hat keinen Einfluss?
LiquidGPT:
Das kommt darauf an, wie du das Terminal schließt und wie die Prozesse gestartet wurden. Hier sind die möglichen Szenarien:
1️⃣ Falls die Prozesse im selben Terminal-Tab laufen
👉 Wenn du das Terminal-Fenster schließt, werden sie beendet.
- Normalerweise sind Prozesse an die Shell-Sitzung gebunden.
- Wenn du das Terminal schließt, beendet macOS alle laufenden Prozesse innerhalb dieser Sitzung.
- Du kannst es testen:
Öffne ein neues Terminal und prüfe mit:ps aux | grep uvicorn ps aux | grep pnpmFalls keine Prozesse mehr laufen, wurden sie durch das Schließen des Terminals beendet.
2️⃣ Falls die Prozesse mit nohup oder & gestartet wurden
👉 Wenn du das Terminal schließt, laufen sie weiter.
-
Wenn du sie mit
&im Hintergrund gestartet hast, können sie unter bestimmten Umständen weiterlaufen. -
Falls du sichergehen willst, dass sie nicht beendet werden, kannst du sie so starten:
nohup poetry run uvicorn open_webui.main:app --host 0.0.0.0 --port 8080 --reload > backend.log 2>&1 & nohup pnpm run dev > frontend.log 2>&1 &nohupverhindert, dass die Prozesse beim Schließen des Terminals beendet werden. -
Falls du sicherstellen willst, dass sie nach dem Terminal-Schließen weiterlaufen, kannst du testen:
ps aux | grep uvicorn ps aux | grep pnpm
3️⃣ Falls du das Terminal mit exit oder logout schließt
👉 Die Prozesse werden beendet, außer du hast nohup oder tmux verwendet.
exitoderlogoutbeendet die Shell-Sitzung, was standardmäßig auch alle Hintergrundprozesse beendet.- Eine Möglichkeit, sie offen zu halten, wäre
tmuxoderscreen, aber das ist nicht notwendig, wenn du einfachnohupnutzt.
🛑 Wie beendest du die Prozesse manuell?
Falls du das Terminal bereits geschlossen hast und sicherstellen willst, dass nichts mehr läuft, verwende:
ps aux | grep uvicorn
ps aux | grep pnpm
Falls die Prozesse noch laufen, beende sie mit:
pkill -f uvicorn
pkill -f pnpm
💡 Fazit:
- Falls du das Terminal-Fenster einfach schließt, werden die Prozesse meistens beendet.
- Falls sie mit
nohupoder&im Hintergrund laufen, bleiben sie auch nach dem Schließen bestehen. - Falls du sie manuell beenden willst, nutze
pkill -foderkill <PID>. - Falls du sie automatisch beim Boot starten willst, brauchst du ein
launchctlodercron-Job.
🔍 Teste es selbst:
Schließe das Terminal und prüfe danach in einem neuen Fenster mit ps aux | grep uvicorn, ob der Prozess noch da ist! 🚀
Adrachin:
Schreib mit bitte noch ein stop script. Grep Ausgaben:
tsc@macbook-pro-1 ~ % ps aux | grep uvicorn
tsc 61037 0,0 0,0 410724160 1520 s000 S+ 1:54pm 0:00.01 grep uvicorn
tsc 60756 0,0 0,0 411040912 28912 ?? S 1:39pm 0:00.88 /Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.11/bin/python /Users/tsc/Library/Caches/pypoetry/virtualenvs/open-webui-backend-p-K4Z5Gn-py3.11/bin/uvicorn open_webui.main:app —host 0.0.0.0 —port 8080 —reload
tsc@macbook-pro-1 ~ % ps aux | grep pnpm
tsc 60824 0,1 0,1 411344720 33872 ?? S 1:39pm 0:01.03 /Users/tsc/open-webui/node_modules/.pnpm/@esbuild+darwin-arm64@0.21.5/node_modules/@esbuild/darwin-arm64/bin/esbuild —service=0.21.5 —ping
tsc 61042 0,0 0,0 410724160 1520 s000 S+ 1:54pm 0:00.00 grep pnpm
tsc 60775 0,0 0,2 411951888 111680 ?? S 1:39pm 0:00.30 node /opt/homebrew/bin/pnpm run dev
tsc@macbook-pro-1 ~ %
LiquidGPT:
Hier ist ein Stop-Skript, um das Backend (uvicorn) und das Frontend (pnpm) zuverlässig zu beenden:
🚀 Stop-Skript (stop_open_webui.sh)
Speichere dieses Skript als stop_open_webui.sh, mache es ausführbar (chmod +x stop_open_webui.sh), und führe es aus (./stop_open_webui.sh).
#!/bin/bash
echo "🛑 Stoppe Open WebUI..."
# Beende das Backend (uvicorn)
UVICORN_PID=$(ps aux | grep "uvicorn open_webui.main:app" | grep -v grep | awk '{print $2}')
if [ -n "$UVICORN_PID" ]; then
echo "🔴 Beende Backend (PID: $UVICORN_PID)..."
kill "$UVICORN_PID"
else
echo "✅ Backend ist bereits gestoppt."
fi
# Beende das Frontend (pnpm)
PNPM_PID=$(ps aux | grep "pnpm run dev" | grep -v grep | awk '{print $2}')
if [ -n "$PNPM_PID" ]; then
echo "🔴 Beende Frontend (PID: $PNPM_PID)..."
kill "$PNPM_PID"
else
echo "✅ Frontend ist bereits gestoppt."
fi
echo "✅ Open WebUI wurde gestoppt."
🛠️ So verwendest du das Skript:
1️⃣ Speichere das Skript als stop_open_webui.sh im gleichen Verzeichnis wie dein Start-Skript.
2️⃣ Mache es ausführbar:
chmod +x stop_open_webui.sh
3️⃣ Führe es aus, wenn du Open WebUI beenden willst:
./stop_open_webui.sh
📝 Was macht das Skript?
- Es sucht nach dem
uvicorn-Prozess und beendet ihn. - Es sucht nach dem
pnpm run dev-Prozess und beendet ihn. - Falls ein Prozess nicht gefunden wird, gibt es eine Meldung aus, dass er bereits gestoppt ist.
🔥 Testen und genießen! 🚀
Adrachin:
Wenn ich das Stop Script ausführe sieht man dass auch der CPU load geringer wird. Der war vorher zwar moderat aber sichtbar. Mach eine KI etwas aus wenn keine Useranfragen bearbeitet werden?
LiquidGPT:
Ja, eine KI kann auch im Leerlauf CPU-Last erzeugen, aber das hängt stark von der Implementierung und der genutzten Infrastruktur ab. Hier sind einige Gründe, warum Open WebUI bzw. die KI-Modelle auch ohne aktive Benutzer eine gewisse Grundlast erzeugen können:
🔍 Mögliche Ursachen für CPU-Last im Leerlauf
1️⃣ Server-Prozesse und Hintergrund-Tasks
uvicornoder FastAPI-basierte Server könnten periodische Tasks oder Hintergrundprozesse haben.- Logging, Caching oder Datenbankverbindungen können Ressourcen beanspruchen.
2️⃣ WebSockets oder Langzeitanfragen
- Falls das Frontend aktiv bleibt, könnten WebSocket-Verbindungen zum Backend offen sein.
- Regelmäßige Health-Checks oder Synchronisationsprozesse können CPU-Last erzeugen.
3️⃣ KI-Modelle in RAM / GPU-Speicher geladen
- Falls Ollama oder ein anderes LLM aktiv ist, könnte das Modell im RAM oder GPU-Speicher gehalten werden.
- Dies beschleunigt Anfragen, kann aber zu einer gewissen Hintergrundlast führen.
4️⃣ Hintergrundprozesse von Node.js (Frontend)
pnpm run devstartet einen Entwicklungsserver mit Hot Reload.- Falls das Frontend aktiv ist, könnten Hintergrundaufgaben wie Live-Reload oder UI-Updates CPU benötigen.
5️⃣ Datenbankaktivitäten (z.B. SQLite oder Postgres)
- Abfragen oder periodische Bereinigungsjobs können CPU-Ressourcen verbrauchen.
🛠️ Lösungen & Optimierungen
✔ Prüfen, ob das Modell aktiv ist
- Falls
ollamaaktiv ist, kann es im Hintergrund minimal CPU beanspruchen, um das Modell bereit zu halten. - Prüfe mit:
ps aux | grep ollama
✔ Backend im Produktionsmodus laufen lassen
- Im
dev-Modus (--reload) überwachtuvicornCode-Änderungen und kann mehr Ressourcen benötigen. - Starte es stattdessen im Produktionsmodus:
poetry run uvicorn open_webui.main:app --host 0.0.0.0 --port 8080
✔ Frontend im Build-Modus laufen lassen
pnpm run devläuft im Entwicklungsmodus mit Hot-Reload, was CPU verbraucht.- Besser für Produktion:
pnpm run build pnpm run preview
✔ Prozesse bei Inaktivität stoppen
- Falls du Open WebUI nicht nutzt, kann es sinnvoll sein, Backend und Frontend einfach zu stoppen, um Ressourcen zu sparen.
🚀 Fazit
- Ja, Open WebUI kann auch ohne aktive Anfragen CPU verbrauchen, aber mit ein paar Anpassungen (Produktionsmodus, WebUI-Build, kein Hot Reload) kannst du das minimieren.
- Falls Ollama aktiv bleibt, ist das ein Zeichen, dass das Modell im RAM/GPU bleibt, um schneller reagieren zu können.
🔎 Falls du wissen willst, was genau CPU-Zeit verbraucht, kannst du das mit htop (falls installiert) oder top untersuchen.
Adrachin:
ollama ist noch aktiv:
tsc 2848 0,0 0,1 411941856 42240 ?? S 8:17am 0:46.81 /Applications/Ollama.app/Contents/Resources/ollama serve
tsc 61140 0,0 0,0 410724160 1520 s000 S+ 2:01pm 0:00.00 grep ollama
tsc@macbook-pro-1 open-webui %
LiquidGPT:
Ja, Ollama läuft weiterhin im Hintergrund, auch wenn Open WebUI gestoppt wurde.
🔎 Warum läuft Ollama noch?
- Ollama ist ein eigenständiger Serverprozess, der Modelle lädt und bereitstellt.
- Es bleibt aktiv, um Anfragen sofort beantworten zu können, statt das Modell bei jeder Anfrage neu zu laden.
- Dadurch kann es eine geringe Grundlast auf CPU/RAM/GPU haben, auch wenn keine Anfragen bearbeitet werden.
🛑 Ollama manuell stoppen
Falls du Ollama komplett beenden möchtest, kannst du es mit diesem Befehl stoppen:
pkill ollama
🔹 Falls der Prozess weiterläuft, prüfe erneut mit:
ps aux | grep ollama
🛠 Ollama automatisch mit dem Stop-Skript beenden
Falls du möchtest, dass Ollama mit dem WebUI automatisch beendet wird, kannst du dein Stop-Skript um diese Zeile erweitern:
echo "🛑 Beende Ollama..."
pkill ollama
echo "✅ Ollama gestoppt!"
So wird Ollama zusammen mit dem Backend/Frontend beendet. Falls du es später wieder benötigst, kannst du es mit:
ollama serve
wieder starten. 🔄
Adrachin:
wäre interessant. Das könnte ja jetzt mal auf ollama angewendet werden.
LiquidGPT:
Ja, das lässt sich auf Ollama anwenden. 🔍
Falls du sehen möchtest, wie viel CPU, RAM und GPU-Leistung Ollama tatsächlich nutzt, gibt es verschiedene Wege:
1️⃣ Live-Überwachung mit top oder htop (falls installiert)
Öffne das Terminal und gib ein:
top -o cpu
🔹 Sortiert die Prozesse nach CPU-Auslastung.
🔹 Falls Ollama oben steht, verbraucht es spürbare Ressourcen.
Falls du htop installiert hast (bessere Übersicht), starte es mit:
htop
🔹 Tippe F3 und suche nach ollama → Zeigt CPU/RAM-Nutzung an.
2️⃣ Spezifische Messung: Ollama-CPU-Last anzeigen
Falls du nur Ollama-Prozesse sehen willst, nutze:
ps aux | grep ollama
Oder detaillierter:
ps -eo pid,%cpu,%mem,command | grep ollama
🔹 Zeigt an, wie viel CPU (%) und RAM (%) Ollama beansprucht.
3️⃣ GPU-Nutzung prüfen (Falls relevant)
Falls Ollama auf die Apple M4 GPU zugreift (statt nur CPU), kannst du das so checken:
ps -eo pid,%cpu,%mem,command | grep ollama
Falls Ollama GPU-Unterstützung hat, sollte es dort auftauchen.
Es gibt leider kein offizielles Apple-Tool für GPU-Monitoring, aber du kannst Activity Monitor → Tab “GPU” öffnen.
Was tun, wenn Ollama zu viel Last verursacht?
Falls du siehst, dass Ollama CPU/GPU stark belastet, kannst du:
-
Ollama anhalten (ohne es komplett zu beenden):
kill -STOP $(pgrep ollama)→ Dadurch “pausiert” Ollama, nutzt aber keinen CPU mehr.
-
Ollama wieder starten:
kill -CONT $(pgrep ollama) -
Ollama komplett beenden:
pkill ollama
Falls Ollama auch bei Inaktivität viel CPU/GPU frisst, könnte es sein, dass:
- Ein großes Modell noch im RAM gehalten wird. (Das hält es für schnelle Antworten bereit)
- Hintergrundprozesse aktiv sind (z. B. ein Cache oder vorausschauende Berechnungen)
Falls du das minimieren möchtest, könnte ein explizites ollama stop oder ollama serve --low-memory helfen (falls unterstützt).
Falls du was Interessantes in der CPU/GPU-Auslastung siehst, poste es hier! 🚀
Adrachin:
die Fragen dienen nur noch zur Vertiefung meines Verständnisses.
In dem Video, wo die Beschreibung zur Installation einer lokalen KI gezeigt wurde wurde auch ein Computer erwähnt. Dieser Hier:
reComputer J3010 with Jetson Orin™ Nano 4 GB is a powerful and compact intelligent edge box that brings up to 20 TOPS of modern AI performance to the edge and offers approximately the same performance as Jetson Xavier NX. It combines the NVIDIA Ampere™ GPU architecture with 64-bit operability.
The complete system includes an NVIDIA Jetson Orin™ Nano 4GB production module and heatsink. reComputer J3010 is preloaded with Jetpack 5.1, simplifying development and making it suitable for use by edge AI solution providers working in video analytics, object recognition, natural language processing, medical imaging and robotics in the smart cities, security, industrial automation and smart factories industries.
The reComputer series for Jetson are compact edge computers equipped with advanced AI embedded systems from NVIDIA.
With extensive expansion modules, industrial peripherals and thermal management, reComputer for Jetson is ready to help you accelerate and scale the next-generation AI product by providing popular DNN models and ML frameworks at the edge and inferencing with high performance for tasks such as real-world time classification and object detection, pose estimation, semantic segmentation and natural language processing (NLP).
Seeed has partnered with CVEDIA-RT and Lumeo to provide intelligent video analytics solutions for Jetson Orin devices. Both platforms come with ready-to-use solutions that enable easy and fast integration into your own applications.
Technical specifications
- CPU 6-core Arm® Cortex®-A78AE v8.2 64-bit @1.5 GHz
- GPU 512-core NVIDIA with 16 Tensor cores @625 MHz
- AI performance: 20 TOPS
- Memory 4 GB 64-bit LPDDR5 @34 GB/s
- Video Encoder: 1080p30
- Video Decoder: 1x 4K60 / 2x 4K30 / 5x 1080p60 / 11x 1080p30 @H.265
- Network: 10/100/1000 Mbit
- Display connections: HDMI 2.1
- Camera connections: 2x CSI
- USB connections: 4x USB 3.2 Type-A, USB2.0 Type-C
- Memory connections: M.2 Key M, M.2 Key E
- further connections: CAN, 4-pin fan (5 V), 40-pin I/O, 12-pin control, UART, RTC
- Voltage input: 9 … 19 V
- Power supply: 12 V / 5 A @DC socket 5.5/2.1 mm
- Operating temperature: -10 … +60 °C
- Dimensions (LxWxH): 130 x 120 x 59 mm
Scope of delivery
- Jetson Orin™ Nano 4GB module
- reComputer J401 carrier board
- 128 GB NVMe SSD
- active heat sink
- aluminum case
- Software JetPack pre-installed
Sollte eine geeignete Platform für eine lokale KI sein?
LiquidGPT:
Ja, der reComputer J3010 mit Jetson Orin™ Nano 4GB ist durchaus eine geeignete Plattform für eine lokale KI, aber mit Einschränkungen. Hier sind einige Überlegungen:
✅ Vorteile als lokale KI-Plattform
-
Energieeffiziente AI-Beschleunigung (20 TOPS)
- 20 TOPS (Tera-Operations per Second) sind zwar nicht auf dem Niveau eines Apple M4 oder einer RTX 4090, aber für viele Edge-KI-Anwendungen ausreichend.
- Vergleich: Ein M1/M2-Chip von Apple hat ca. 15-18 TOPS, ein NVIDIA RTX 4090 erreicht 1000+ TOPS.
-
Dedizierte NVIDIA GPU + Tensor Cores
- 512 CUDA-Kerne mit 16 Tensor-Kernen ermöglichen hardwarebeschleunigte Deep-Learning-Inferenz.
- Unterstützt TensorRT, was für effiziente Optimierung von Modellen wie YOLO, ResNet, oder Transformers nützlich ist.
-
JetPack 5.1 + AI-Software-Stack von NVIDIA
- Kommt mit vorinstalliertem NVIDIA JetPack, das CUDA, cuDNN, TensorRT und DeepStream bereitstellt.
- Läuft mit Ubuntu basierter Linux-Umgebung, was die Installation von Open-WebUI, Ollama oder Llama.cpp erleichtert.
-
Lüfter & aktives Kühlmanagement
- Im Gegensatz zu passiven Edge-KI-Boards wie dem Raspberry Pi, kann der Jetson Orin Nano länger unter Volllast arbeiten.
-
Geringer Stromverbrauch (~10-15W statt 100W-500W für Desktop-GPUs)
- Perfekt für permanenten KI-Einsatz mit geringem Energiebedarf.
❌ Einschränkungen als lokale KI-Plattform
-
Nur 4 GB RAM – sehr begrenzt für LLMs!
- Große Sprachmodelle wie Llama 3, GPT-4 oder Mistral benötigen 8GB, 16GB oder mehr VRAM.
- Bessere Alternative: Jetson Orin NX mit 8 GB oder 16 GB RAM für größere Modelle.
-
Begrenzte CPU-Power (6 ARM-Kerne)
- Vergleich: Dein Apple M4 Max hat 16 Kerne + 40 GPU-Kerne, das Jetson-Board nur 6 CPU-Kerne.
- Folge: Langsame Vorverarbeitung von KI-Daten, Modelle müssen stark optimiert werden.
-
Kein native x86-Unterstützung
- Jetson Orin läuft auf ARM, einige Python-Bibliotheken sind nicht direkt kompatibel oder benötigen Anpassungen.
-
Kein Hardware-Support für FP16 oder INT4
- NVIDIA Tensor Cores im Jetson sind nicht so effizient wie RTX Tensor Cores → langsamer als eine Gaming-GPU für Transformer-Modelle.
🎯 Für welche KI-Anwendungen eignet sich das Board?
✅ Gut geeignet für:
- Edge-KI-Anwendungen (Objekterkennung mit YOLOv8, Gesichts-/Nummernschilderkennung)
- Echtzeit-Bilderkennung (Roboter, Drohnen, Smart-City-Analysen)
- Kleinere LLMs (TinyLlama, Phi-2, Mistral 1.3B, DeepSeek 1.5B)
❌ Nicht gut geeignet für:
- Große Sprachmodelle (Llama3-7B, Mixtral, GPT-4all, Qwen-14B) → Zu wenig RAM.
- GPU-intensives Training → Das Board ist eher für Inference optimiert, nicht für KI-Training.
Fazit: Eignet sich das Board für Open-WebUI + Ollama?
Ja, aber mit Einschränkungen.
- ✅ Ja, wenn du kleinere Modelle (<3B Parameter) nutzen willst.
- ❌ Nein, wenn du große Transformer-Modelle mit über 4 GB RAM brauchst.
Wenn du eine leistungsfähigere lokale KI willst, wäre Jetson Orin NX (8GB oder 16GB) oder ein Apple M4/M3 die bessere Wahl. 🚀