Skip to main content
warning

本教程为社区贡献,不属于 Open WebUI 官方团队的支持范围。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。

一键启动 Ollama + Open WebUI 启动器 (Linux)

本教程将向您展示如何创建一个便捷的桌面启动器,只需点击一下即可自动启动 Ollama 和 Open WebUI 服务,然后在浏览器中打开正确的本地地址。这非常适合在 conda 环境中安装了 Open WebUI 并希望简化启动体验的用户。

前提条件

在开始本教程之前,请确保您拥有:

  • Linux 系统,带有 GNOME 桌面环境(或兼容的终端)
  • 已安装 Ollama 并作为系统服务运行
  • 已安装 Open WebUI 且位于 conda 环境中
  • 基础终端知识 和 sudo 权限

概述

此解决方案包含三个组件:

  1. 一个用于正确停止 Ollama 服务的脚本(防止端口冲突)
  2. 一个主启动脚本,用于在不同的终端标签页中启动这两个服务
  3. 一个桌面快捷方式,用于从应用程序菜单中一键访问

第 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 图标并使用它来替换默认的终端图标:

  1. 下载图标(推荐 PNG 格式)并保存为 ~/ollama-open-webui/ollama_icon.png
  2. 更新桌面快捷方式的 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;

使用方法

完成所有步骤后:

  1. 从应用程序菜单: 在应用程序启动器中搜索 "Ollama" 或 "Open WebUI"
  2. 从桌面: 如果您将桌面快捷方式复制到了桌面,请双击它
  3. 从终端: 直接运行脚本 ~/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)。