From de95ff335f1fec904ef1a7c8d893c986d3a29e75 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Tue, 20 Oct 2026 13:13:14 +0200 Subject: [PATCH] Refactor: OpenWebUI (remove numba pin) (#18026) * Open WebUI: stop when the install fails three times The retry loop fell through to "Installed Open WebUI" after the third failure, so the service was created without a binary and the URL never answered (#18020). The last attempt now runs under the error trap, which shows uv's output. * Open WebUI: keep the retry inline, no function in the script * Open WebUI: same retry on the update paths, and drop the numba constraint The migration and update loops in ct/openwebui.sh fell through to "Updated" after three failures just like the install did. The numba constraint from #11874 guarded openai-whisper's old pin; 0.12.x depends on faster-whisper and never resolves numba. * formatting --- ct/openwebui.sh | 18 ++++++++++++------ install/openwebui-install.sh | 9 ++++++--- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ct/openwebui.sh b/ct/openwebui.sh index 16a57354c..044c6af29 100644 --- a/ct/openwebui.sh +++ b/ct/openwebui.sh @@ -49,10 +49,13 @@ function update_script() { msg_info "Installing uv-based Open-WebUI" PYTHON_VERSION="3.12" setup_uv - for attempt in $(seq 1 3); do - $STD uv tool install --python 3.12 --constraint <(echo "numba>=0.60") open-webui[all] && break - [[ $attempt -lt 3 ]] && msg_warn "Open WebUI install attempt $attempt failed, retrying..." && sleep 10 + installed=0 + for attempt in 1 2; do + $STD uv tool install --python 3.12 open-webui[all] && { installed=1; break; } + msg_warn "Open WebUI install attempt $attempt failed, retrying..." + sleep 10 done + ((installed)) || $STD uv tool install --python 3.12 open-webui[all] msg_ok "Installed uv-based Open-WebUI" msg_info "Restoring data" @@ -125,10 +128,13 @@ EOF OTEL_ARGS+=(--with "$pkg") done < <(uv pip list --python "$OWUI_PYTHON" --format freeze 2>/dev/null | grep -i '^opentelemetry-' | cut -d= -f1) fi - for attempt in $(seq 1 3); do - $STD uv tool install --force --python 3.12 --constraint <(echo "numba>=0.60") "${OTEL_ARGS[@]}" open-webui[all] && break - [[ $attempt -lt 3 ]] && msg_warn "Open WebUI update attempt $attempt failed, retrying..." && sleep 10 + updated=0 + for attempt in 1 2; do + $STD uv tool install --force --python 3.12 "${OTEL_ARGS[@]}" open-webui[all] && { updated=1; break; } + msg_warn "Open WebUI update attempt $attempt failed, retrying..." + sleep 10 done + ((updated)) || $STD uv tool install --force --python 3.12 "${OTEL_ARGS[@]}" open-webui[all] systemctl restart open-webui msg_ok "Updated Open WebUI" msg_ok "Updated successfully!" diff --git a/install/openwebui-install.sh b/install/openwebui-install.sh index 803af6d02..b4aedcf45 100644 --- a/install/openwebui-install.sh +++ b/install/openwebui-install.sh @@ -47,10 +47,13 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then fi msg_info "Installing Open WebUI" -for attempt in $(seq 1 3); do - $STD uv tool install --python 3.12 --constraint <(echo "numba>=0.60") "${OTEL_ARGS[@]}" open-webui[all] && break - [[ $attempt -lt 3 ]] && msg_warn "Open WebUI install attempt $attempt failed, retrying..." && sleep 10 +installed=0 +for attempt in 1 2; do + $STD uv tool install --python 3.12 "${OTEL_ARGS[@]}" open-webui[all] && { installed=1; break; } + msg_warn "Open WebUI install attempt $attempt failed, retrying..." + sleep 10 done +((installed)) || $STD uv tool install --python 3.12 "${OTEL_ARGS[@]}" open-webui[all] msg_ok "Installed Open WebUI" prompt="${var_openwebui_ollama:-}"