Open WebUI 是一个可扩展、功能强大且用户友好的自托管 Web 界面,旨在完全离线运行。它适合开发者、研究人员以及对隐私敏感的个人或团队,支持多种 LLM 运行框架,包括 Ollama 和 OpenAI 兼容的 API。更多详情请查阅 Open WebUI 官方文档。
轻松设置:支持 Docker 和 Kubernetes 安装,提供便捷的映像管理。
API 集成:兼容 Ollama 和 OpenAI API,自定义 API URL,适配多个 LLM 服务如 LMStudio 和 OpenRouter。
精细权限管理:支持角色与权限分组,确保用户安全并优化管理体验。
响应式设计:适配台式机、笔记本和移动设备,支持 PWA 离线使用。
Markdown 和 LaTeX 支持:丰富的格式功能,提升交互体验。
免提语音/视频通话:支持动态实时对话。
模型生成器:通过界面轻松创建和自定义模型。
原生 Python 调用:集成代码编辑器,轻松扩展 LLM 功能。
RAG 集成:支持文档交互和检索增强生成。
网页搜索与浏览:整合搜索引擎结果和网页内容到对话中。
图像生成:支持 AUTOMATIC1111 API 和 OpenAI DALL-E 等。
多模型对话:并行利用多个模型提升交互效率。
基于角色的访问控制(RBAC):确保模型和数据的安全访问。
多语言支持:支持多种语言,欢迎用户贡献翻译。
插件与 Pipelines 集成:支持自定义逻辑和功能扩展。
持续更新:定期发布新功能和修复。
在 UGOS Pro 系统上,推荐使用项目 Docker Compose 快速部署容器,适合需同时管理多个容器的场景,这种方法简化了容器的部署与管理工作。以下是使用 Docker Compose 部署 Open WebUI 的详细步骤。
在 UGOS Pro 系统中,打开 Docker 应用,点击【项目】 > 【创建】,启动项目创建向导。
在项目创建向导中,上传以下 Open WebUI 的 Docker Compose 配置文件:
services:
open-webui:
container_name: open-webui
image: ghcr.io/open-webui/open-webui:ollama # 镜像名
restart: always # 重启策略
ports:
- 3000:8080 # Web 服务访问端口
volumes:
- ./ollama:/root/.ollama # 存储与 ollama 相关的数据
- ./open-webui:/app/backend/data # 存储 Web UI 的后台数据
image:指定使用的 Docker 镜像版本(此处为 ollama
)。
restart:容器重启策略,always
表示当容器停止或崩溃时自动重启。
ports:Web 服务访问端口,将 NAS 的 3000 端口映射到容器的 8080 端口。
volumes:映射 NAS 文件目录到容器路径。
./ollama:/root/.ollama
:NAS 存储空间目录 ./ollama
映射到容器内部路径 /root/.ollama
,用来存储与 ollama
相关的数据,冒号前面是 NAS 的存储空间内存放路径。
./open-webui:/app/backend/data
:NAS 存储空间目录 ./open-webui
映射到容器内部路径 /app/backend/data
,用来存储 Web UI 的后台数据文件。
注意:
./
表示当前 Docker Compose 文件所在的目录;
冒号前是 NAS 的存储路径,冒号后是容器内的映射路径。
相关阅读
【FAQ】如何在 Docker Compose 配置文件中正确表示 volumes 挂载路径?
上传配置文件后,点击【立即部署】,系统会自动拉取镜像并启动容器。
部署完成后,通过浏览器访问以下地址进入 Open WebUI 界面:
http://<NAS_IP>:3000
请将 <NAS_IP>
替换为 NAS 的实际 IP 地址,例如:http://192.168.22.153:3000
。
镜像下载失败处理方法:
Docker 镜像加速器:建议配置加速器以提高下载速度,特别是在中国内地的网络环境下。参考《Docker配置镜像加速和镜像源》了解如何设置。
代理设置:在某些情况下,您可能需要配置 HTTP/HTTPS 代理来辅助下载,详见《Docker通过设置代理下载镜像》。
要访问 Open WebUI 的 Web 界面,请按照以下步骤操作:
打开浏览器,访问部署地址,进入登录页面。
初次访问需创建管理员账号,设置用户名、邮箱及密码。
使用新建的账号登录。
注意:部署后刚访问页面可能会提示内部错误或拒绝连接,请等待几分钟加载页面。
初次登录 Open WebUI 时您会遇到界面空白的情况。这是因为系统在后台等待 OpenAI 模型的返回数据时产生了延迟。如果您不希望等待加载过程,可以通过关闭 OpenAI API 来解决该问题。请注意,关闭 OpenAI API 需要在首次加载界面成功后进行。
解决步骤:
首次登录时,系统会尝试连接 OpenAI 模型并加载相关数据,可能会出现短暂的空白界面。请耐心等待直到加载成功。
登录并加载完成后,进入 管理员面板。
在管理员面板中,点击左侧菜单中的 设置。
在设置页面中,选择 外部连接 选项。
在“外部连接”设置页面,您会看到 OpenAI API 的配置项。
将 OpenAI API 选项关闭。关闭后下次 Open WebUI 将不会再等待 OpenAI 模型的返回数据。
您还可以通过查看相关日志文件来判断加载过程是否正常进行。具体操作是:
进入 UGOS Pro 的 Docker 应用。
点击【容器】 > 选中 Open WebUI 容器 > 点击【日志】。
查看日志中是否有模型加载的进度信息,如 "get_all_models" 或"Loading models"等相关提示。 如果日志显示正常加载,请稍等几分钟后刷新界面;若出现错误提示,可根据日志信息排查问题。
查看日志确认加载进度,等待几分钟后刷新即可。
打开 Ollama 模型库查看支持的模型。
选择所需模型并复制拉取命令(如 ollama run qwen2.5:7b
)。
返回 UGOS Pro 的 Docker 应用,进入【容器】 > 选中 Open WebUI 容器 > 点击【终端】 > 新增 Bash 连接。
在 Bash 终端中粘贴拉取命令,等待模型下载完成。
ollama run qwen2.5:7b
显示 success 说明模型下载完成,重启容器。
登录 Open WebUI,确认模型是否已加载。
在新对话中使用模型,让模型做自我介绍,可以看到已经能使用了。
部署大模型会显著增加 NAS 的 CPU 和内存负载,建议避免在高负载任务中使用。
请注意,本教程中的镜像由第三方开发和维护,教程仅供参考。绿联不承担因用户操作不当、第三方软件漏洞或镜像更新引发的风险,包括但不限于:
· 第三方镜像可能导致您在 UGOS Pro 系统中的文件意外修改或删除。
· 使用不安全的镜像可能导致数据上传至第三方服务器,存在隐私和数据泄露风险。
· 为确保系统稳定和数据安全,请谨慎选择可信来源的第三方镜像。
其他注意事项:
1. 容器的文件/文件夹路径仅供参考,您可以根据个人习惯创建。
2. 网页访问的容器端口和本地端口应保持一致。如有冲突,请改为未使用的端口。容器之间的本地端口不能相同,端口冲突会导致无法启动容器。
3. 容器的网页链接仅在 bridge 桥接模式下可访问。
4. 镜像仅提供搭建教程,具体使用方法和深度玩法请网上搜索参考。
5. 镜像由第三方开发,具体配置变动和 bug 修复请关注相关官方信息。
6. 建议将 Docker 配置目录存储在 SSD 硬盘中,以避免机械硬盘影响系统性能。