OpenWebUI 接入本地服务
OpenWebUI 是自托管的对话前端,通过环境变量指向任意 OpenAI 兼容后端(本地推理引擎、Ollama 或统一网关),常作为团队使用本地模型的入口页面。它支持多用户与会话管理,数据通过卷持久化,一个前端可以同时挂多个后端地址。
基本信息
| 访问端口 | 宿主 3000,映射到容器内 8080 |
|---|---|
| 后端要求 | 提供 OpenAI 兼容接口即可 |
| 关键配置 | 后端地址与密钥,通过环境变量注入 |
| 数据持久化 | 会话与账号数据放在挂载卷里 |
| 适用场景 | 团队内部使用、模型对比与联调演示 |
典型使用场景
- 团队统一入口:不暴露引擎端口,所有人从前端访问
- 模型对比:同时挂多个后端,在界面上切换模型对话
- 内网使用本地模型:数据不出内网,替代公有云对话产品
- 联调演示:给业务方一个可直接体验的界面,而不是发 curl 命令
- 排查连接问题:用前端能否连通来判断是网络问题还是引擎问题
容器启动(指向本地引擎)
容器启动(指向本地引擎)
docker run -d --name open-webui \
-p 3000:8080 \
-e OPENAI_API_BASE_URL=http://<引擎地址>:8000/v1 \
-e OPENAI_API_KEY=<占位密钥> \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:main
# 校验:浏览器打开 3000 端口,能拉出模型列表并完成一轮对话常见配置项与易错点
| 配置项 | 说明 | 易错点 |
|---|---|---|
| 后端地址 | 从容器视角可达的 URL | 写 127.0.0.1 会指向容器自身 |
| 密钥 | 按后端要求填写 | 引擎未开鉴权时也要填非空占位值 |
| 端口映射 | 宿主端口映射到容器 8080 | 与宿主已占用端口冲突 |
| 数据卷 | 保存会话与账号 | 不挂卷会导致重建后数据丢失 |
环境变量名随版本演进(早期为单数形式,新版改为复数形式),接入前以官方说明为准,别直接照抄旧教程。
前端默认面向自托管场景:对外提供访问前必须开启账号体系与访问控制,否则等于把模型调用能力开放给所有人。