Open WebUI 部署指南:一条命令搭起本地 AI 聊天平台
【免费下载链接】open-webui User-friendly AI Interface (Supports Ollama, OpenAI API, …) 项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
Open WebUI 是一个自托管 AI 平台,把 Ollama、OpenAI 兼容接口里的本地大模型,直接变成可用的聊天 Web 应用。如果你装过 Docker,想在自己机器上搭一个带知识库、带工具调用的 AI 助手,整个部署过程基本就是复制粘贴几条命令的事。
🐳 Docker 一键启动 Open WebUI
为什么要用 Docker:前端、后端、数据库全部打包在一个镜像里,不用碰 Python 环境和编译步骤,新手踩坑面最小。
# -p 3000:8080:容器内 8080 端口映射到本机 3000
# -v:数据卷,聊天记录、账号配置都落在这里,删容器不丢数据
docker run -d –name open-webui \\
-p 3000:8080 \\
-v open-webui:/app/backend/data \\
–add-host=host.docker.internal:host-gateway \\
ghcr.io/open-webui/open-webui:main
三个参数值得留意:端口映射决定你以后敲哪个地址;数据卷是唯一需要长期保存的东西;–add-host 让 Linux 容器能解析 host.docker.internal 这个指向宿主的地址,Mac 和 Windows 上可省略这行。
如果 Ollama 也想一起容器化,仓库自带的 compose 文件一条命令拉起两个服务:
- docker-compose.yaml:同时启动 Ollama 与 Open WebUI,容器间网络自动打通
- Dockerfile:想自己构建镜像时的构建入口
运行后你应该看到:浏览器打开 http://localhost:3000 出现注册/登录页,最先注册的账号自动成为管理员。

跑通第一条命令后的样子,注册时记得把管理员密码设置得牢一点。
🔌 给 Open WebUI 接上模型:本地与远程两种场景
为什么必须手动接:容器不知道自己宿主机上跑着什么模型,它只认你告诉它的地址。
本地 Ollama 场景:大多数情况启动后会自动发现同主机的 Ollama;没发现就显式指定地址,在上面的命令里加一行 -e OLLAMA_BASE_URL=http://host.docker.internal:11434。若用 compose 同时启动两个容器,地址改为服务名 http://ollama:11434。
远程接口场景:Ollama、vLLM、LM Studio 或云端服务,都走 OpenAI 兼容格式,只改地址和密钥:
docker run -d –name open-webui \\
-p 3000:8080 \\
-v open-webui:/app/backend/data \\
-e OPENAI_API_BASE_URLS=https://api.openai.com/v1 \\
-e OPENAI_API_KEY=sk-你的密钥 \\
ghcr.io/open-webui/open-webui:main
常用对接变量就这几个:
| OLLAMA_BASE_URL | 指向 Ollama 服务地址 |
| OPENAI_API_BASE_URLS | OpenAI 兼容接口地址(可多个) |
| OPENAI_API_KEY | 对应接口的密钥 |
不想重启容器的话,也可以在网页端"管理设置 → 连接"里逐台添加 Ollama 实例并开关。运行后你应该看到:聊天页顶部出现模型下拉框,随便选一个发句"你好",回答能流式打出来。

模型接好后,主界面就是这样一个多模型切换的聊天工作台。
三个最值得上手的功能
为什么挑这三个:聊天框只是入口,知识检索、动手干活、无人值守才是它区别于"套壳网页"的地方。
把文档喂成知识库。 场景:团队产品手册、规章制度、内部 wiki。在左侧栏上传 PDF、DOCX 进知识库,聊天时勾选"检索知识库",模型回答会带上原文出处。切片、向量化、检索全部在服务端完成,源码在 backend/open_webui/retrieval/,想改分块策略可以翻这里。
让模型自己调用工具。 内置网页搜索、代码执行等工具,也可以接入 MCP 服务让模型调用你自己的外部能力。比如一句"查一下今天的汇率,再算个总价",模型会自己决定先搜什么、再算什么,内置实现见 backend/open_webui/tools/。
自动化加频道协作。 在"自动化"里建一个定时任务,模型每天定点执行指定提示词并把结果发进频道——比如每天早八点推送一份行业新闻简报。频道支持多人加 AI 同在一个空间讨论,按频道控制成员权限,适合把 AI 拉进团队日常。
⚙️ 排坑、调参与上线前准备
连不上模型:日志里出现 Server Connection Error,八成是容器够不到 Ollama。要么给容器加 –network=host(访问地址变为 http://localhost:8080),要么把 OLLAMA_BASE_URL 改成宿主机局域网 IP,官方排障说明在 TROUBLESHOOTING.md。
回答中途被掐断:默认请求超时 300 秒,长任务加 -e AIOHTTP_CLIENT_TIMEOUT=600 放宽即可。
多实例注意:横向扩展或重启后要保持 WEBUI_SECRET_KEY 不变,否则登录态全部失效,所有人被踢回登录页。
新用户角色:默认是 pending(注册后需管理员审批),想自动放行可设 -e DEFAULT_USER_ROLE=viewer,管理员账号在管理面板里维护。
备份很轻:整份数据就在那个卷里,一条命令打包:
docker run –rm -v open-webui:/src -v ~/backups:/dst \\
alpine tar -czf /dst/open-webui.tgz -C /src .
对外暴露:生产环境务必用反向代理加 HTTPS,别把管理面板直接裸奔在公网上;GPU 加速属于 Ollama 侧的配置,WebUI 镜像本身按 CPU 运行即可。
上线前自查(5 项)
- 首个账号确认为管理员,默认用户角色和密码策略已收紧
- 容器删除重建后,聊天记录仍在(验证数据卷生效)
- 模型列表能加载,首个测试提问有正常回答
- 数据卷有定时备份任务,且至少完整演练过一次恢复
- 对外访问走 HTTPS 反代,管理面板不直接暴露
【免费下载链接】open-webui User-friendly AI Interface (Supports Ollama, OpenAI API, …) 项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考


