From 36a938c3ecba04852346cfbb18e29ac61ca2e782 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:01:20 +0200 Subject: [PATCH] setup: add Open WebUI module Installs open-webui from AUR and enables open-webui.service. Serves the browser UI at http://localhost:8080; Ollama module should be installed first for full LLM backend functionality. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 4 ++++ setup/modules/optional-Modules/apps/open-webui.sh | 10 ++++++++++ setup/tui-install.sh | 4 ++++ 3 files changed, 18 insertions(+) create mode 100755 setup/modules/optional-Modules/apps/open-webui.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index 23984ab..da11899 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -86,6 +86,7 @@ count_steps() { TOTAL=0 [[ "$sel" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -148,6 +149,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ \ "ollama" "Ollama local LLM runner + API server" off \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ + "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ @@ -191,6 +193,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ SUMMARY="" [[ "$SELECTED" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" [[ "$SELECTED" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" +[[ "$SELECTED" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" [[ "$SELECTED" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" @@ -236,6 +239,7 @@ count_steps "$SELECTED" [[ "$SELECTED" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" [[ "$SELECTED" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" +[[ "$SELECTED" == *"open-webui"* ]] && run_module "Open WebUI" "$APPS/open-webui.sh" [[ "$SELECTED" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" diff --git a/setup/modules/optional-Modules/apps/open-webui.sh b/setup/modules/optional-Modules/apps/open-webui.sh new file mode 100755 index 0000000..0842c41 --- /dev/null +++ b/setup/modules/optional-Modules/apps/open-webui.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail + +# Open WebUI — browser UI for Ollama and other LLM backends. +# Ollama module should be installed first for full functionality. +yay -S --answerdiff None --answerclean All --noconfirm open-webui + +sudo systemctl enable --now open-webui.service + +echo "Open WebUI running at http://localhost:8080" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index bda033b..d0aaa03 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -96,6 +96,7 @@ count_steps() { [[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -184,6 +185,7 @@ SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ --checklist "Optional applications — installed after base components:" 40 76 32 \ "ollama" "Ollama local LLM runner + API server" off \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ + "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ @@ -233,6 +235,7 @@ if [[ -n "$SELECTED_APPS" ]]; then SUMMARY+="\n Applications:\n" [[ "$SELECTED_APPS" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" [[ "$SELECTED_APPS" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" + [[ "$SELECTED_APPS" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" [[ "$SELECTED_APPS" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" @@ -293,6 +296,7 @@ fi # ── Installation: applications ──────────────────────────────────────────────── [[ "$SELECTED_APPS" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" [[ "$SELECTED_APPS" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" +[[ "$SELECTED_APPS" == *"open-webui"* ]] && run_module "Open WebUI" "$APPS/open-webui.sh" [[ "$SELECTED_APPS" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"