本教程为社区贡献,不属于 Open WebUI 官方团队的支持范围。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。
一键启动 Ollama + Open WebUI 启动器 (Linux)
本教程将向您展示如何创建一个便捷的桌面启动器,只需点击一下即可自动启动 Ollama 和 Open WebUI 服务,然后在浏览器中打开正确的本地地址。这非常适合在 conda 环境中安装了 Open WebUI 并希望简化启动体验的用户。
前提条件
在开始本教程之前,请确保您拥有:
- Linux 系统,带有 GNOME 桌面环境(或兼容的终端)
- 已安装 Ollama 并作为系统服务运行
- 已安装 Open WebUI 且位于 conda 环境中
- 基础终端知识 和 sudo 权限
概述
此解决方案包含三个组件:
- 一个用于正确停止 Ollama 服务的脚本(防止端口冲突)
- 一个主启动脚本,用于在不同的终端标签页中启动这两个服务
- 一个桌面快捷方式,用于从应用程序菜单中一键访问
第 1 步:创建 Ollama 停止脚本
首先,我们将创建一个脚本来干净地停止 Ollama 服务。这可以防止重启 Ollama 时常见的“地址已在使用”错误。
为您的脚本和停止脚本创建一个目录:
mkdir -p ~/ollama-open-webui
cd ~/ollama-open-webui
创建 stop_ollama.sh:
nano stop_ollama.sh
添加以下内容:
#!/bin/bash
systemctl stop ollama
使脚本可执行:
chmod +x ~/ollama-open-webui/stop_ollama.sh
第 2 步:配置 Sudo 权限
为了避免每次运行脚本时都输入密码,我们将配置 sudo 以允许无密码执行我们的停止脚本。
⚠️ 重要提示: 此步骤需要谨慎对待安全性。仅授予特定脚本路径的权限。
打开 sudo 配置:
sudo visudo
在文件末尾添加这一行(将 yourusername 替换为您实际的用户名):
yourusername ALL=(ALL) NOPASSWD: /home/yourusername/ollama-open-webui/stop_ollama.sh
保存并退出编辑器(在 nano 中:按 Ctrl+X,然后按 Y,再按 Enter)。
第 3 步:创建主启动脚本
现在创建协调整个启动过程的主脚本。
创建 start_services.sh:
nano ~/ollama-open-webui/start_services.sh
添加以下内容(请确保将 yourusername 替换为您实际的用户名,并将 openwebui 替换为您实际的 conda 环境名称):
#!/usr/bin/env bash
######################################################
# 一个启动 Ollama 和 Open WebUI 的脚本 #
######################################################
# 停止 Ollama 服务以防止端口冲突
sudo /home/yourusername/ollama-open-webui/stop_ollama.sh
# 在新终端标签页中启动 Ollama
gnome-terminal --tab --title="Ollama" -- bash -i -c "
echo '正在启动 Ollama 服务...';
ollama serve;
exec bash
"
# 在另一个新终端标签页中启动 Open WebUI
gnome-terminal --tab --title="Open-WebUI" -- bash -i -c "
echo '正在激活 conda 环境并启动 Open WebUI...';
conda activate openwebui;
open-webui serve;
exec bash
"
# 在服务有时间启动后打开浏览器标签页
gnome-terminal --tab --title="Browser" -- bash -i -c "
echo '正在等待服务启动...';
sleep 5;
echo '正在打开浏览器...';
xdg-open http://localhost:8080/;
exec bash
"
echo "所有服务正在启动。请检查终端标签页以查看状态。"
使脚本可执行 :
chmod +x ~/ollama-open-webui/start_services.sh
第 4 步:测试脚本
在创建桌面快捷方式之前,请测试您的脚本以确保其正常工作:
~/ollama-open-webui/start_services.sh
您应该会看到:
- 打开了三个新的终端标签页
- 第一个标签页中 Ollama 正在启动
- 第二个标签页中 Open WebUI 正在启动(在激活 conda 之后)
- 5 秒延迟后,您的默认浏览器打开
http://localhost:8080/
如果出现任何错误,请检查:
- 您的 conda 环境名称是否正确
- Ollama 是否已正确安装
- Open WebUI 是否已安装在指定的 conda 环境中
第 5 步:创建桌面 快捷方式
创建一个桌面快捷方式文件,使其可以从您的应用程序菜单中访问:
nano ~/.local/share/applications/start_ollama_webui.desktop
添加以下内容(将 yourusername 替换为您实际的用户名):
[Desktop Entry]
Name=Ollama + Open WebUI
Comment=一键启动 Ollama 和 Open WebUI 服务
Exec=/home/yourusername/ollama-open-webui/start_services.sh
Icon=utilities-terminal
Terminal=true
Type=Application
Categories=Development;Utility;
使桌面快捷方式可执行:
chmod +x ~/.local/share/applications/start_ollama_webui.desktop
第 6 步:可选自定义
自定义图标
您可以下载一个 Ollama 图标并使用它来替换默认的终端图标:
- 下载图标(推荐 PNG 格式)并保存为
~/ollama-open-webui/ollama_icon.png - 更新桌面快捷方式的
Icon=行以指向您的图标:Icon=/home/yourusername/ollama-open-webui/ollama_icon.png
不同的终端模拟器
如果您没有使用 GNOME Terminal,请修改启动脚本中的 gnome-terminal 命令。例如:
- 对于 Konsole (KDE): 将
gnome-terminal --tab --title="Title"替换为konsole --new-tab -e - 对于 xterm: 使用
xterm -T "Title" -e - 对于 Terminal (XFCE): 使用
xfce4-terminal --tab --title="Title" --command
不同的 Conda 环境
如果您的 Open WebUI 安装在不同的 conda 环境中,请在启动脚本中更新环境名称:
conda activate your-environment-name;
使用方法
完成所有步骤后:
- 从应用程序菜单: 在应用程序启动器中搜索 "Ollama" 或 "Open WebUI"
- 从桌面: 如果您将桌面快捷方式复制到了桌面,请双击它
- 从终端: 直接运行脚本
~/ollama-open-webui/start_services.sh
该启动器将:
- 停止任何现有的 Ollama 服务
- 在新终端标签页中启动 Ollama
- 在另一个终端标签页中启动 Open WebUI
- 自动打开浏览器到正确的 URL
- 保持所有终端标签页打开,以便您可以监控服务
故障排除
权限被拒绝错误
如果您收到权限被拒绝错误:
- 确保所有脚本都有执行权限 (
chmod +x) - 验证 sudo 配置是否正确
- 检查文件路径是否与您的实际用户名匹配
服务未启动
如果服务启动失败:
- 检查 Ollama 是否已在系统范围内正确安装
- 验证您的 conda 环境名称是否正确
- 确保 Open WebUI 已安装在指定的环境中
- 查看终端输出以获取特定错误消息
浏览器未打开
如果浏览器未自动打开:
- 检查您的系统中是否有
xdg-open - 尝试在浏览器中手动打开
http://localhost:8080/ - 如果服务需要更多时间启动,请增加脚本中的等待时间 (sleep)
不同的桌面环境
对于非 GNOME 环境:
- 将
gnome-terminal替换为您系统的终端模拟器 - 根据需要调整终端的命令行参数
- 在创建桌面快捷方式之前测试修改后的脚本
安全考虑
此设置需要 sudo 权限来停止 Ollama 服务。sudo 配置被限制在特定脚本以最小化安全风险,但您应该:
- 定期审查您的 sudo 配置
- 确保停止脚本仅包含必要的 systemctl 命令
- 将您的脚本保存在具有适当权限的安全位置
结论
您现在拥有了一个便捷的一键式解决方案来启动您的 Ollama 和 Open WebUI 设置!这种方法对于您经常启动和停止这些服务的开发工作流程特别有用。
终端标签页保持 打开状态,以便您可以监控服务日志并在需要时轻松停止服务(在各自的标签页中按 Ctrl+C)。