news 2026/8/28 13:35:56

Open WebUI 部署指南:新手 5 分钟跑通本地 AI 对话界面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open WebUI 部署指南:新手 5 分钟跑通本地 AI 对话界面

Open WebUI 部署指南:新手 5 分钟跑通本地 AI 对话界面

【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui

Open WebUI 是一个自托管的 AI 对话界面,支持接入 Ollama 和 OpenAI API 兼容的模型服务。它解决的问题很直接:本地大模型往往只提供一个 API,而 Open WebUI 给它配上一个带网页端、可多人使用、能完全离线运行的对话界面。刚接触本地大模型的个人用户,以及需要在内网做私有部署的团队,都可以用这份指南完成安装与部署。

部署前检查

开始之前,先花两分钟确认下面几项,能省掉后面大部分的排查时间。

需要确认什么为什么需要怎么确认
容器运行时是否可用Docker 是推荐的安装方式,装不了它就只能走 Python 环境终端运行docker --version,能看到版本号即可
目标端口是否空闲端口被占用时容器起不来,服务无法访问netstat -tlnpss -tlnp查看 3000、8080 是否已被占用
磁盘剩余空间镜像、模型文件和数据都要落地,空间不足会在中途失败df -h查看挂载数据卷的目录所在分区
Ollama 服务是否在运行Open WebUI 本身不产生回复,模型调用都依赖它终端运行ollama list,能看到模型列表才算正常
机器是否装了 NVIDIA 驱动想用 GPU 加速,驱动和容器工具包缺一不可运行nvidia-smi,能看到显卡信息即可

安装方式怎么选

方式适用场景特点
Docker 容器新手、服务器、生产环境一条命令拉镜像就能跑,数据靠卷挂载保存,升级时重建容器即可
Python pip已有 Python 环境、不想装容器直接装到本机解释器里,端口和环境都依赖本机配置
源码构建要改代码、参与开发克隆仓库后本地构建,部署前需要额外装前端依赖

新手建议直接用 Docker;机器上已经有 Python 环境的话,走 pip 也足够用。

分步部署

第 1 步:确认 Docker 可用

目的:确认容器运行时能正常工作,装错版本后面全白费。

命令:查看 Docker 版本。

docker --version

预期结果:终端输出类似Docker version 2x.x.x, build xxx。看不到版本号就先把 Docker 装好再往下走。

第 2 步:拉取 Open WebUI 镜像

目的:把镜像提前下到本地,避免启动时边下载边等待,也方便离线机复用。

命令:拉取官方主版本镜像。

docker pull ghcr.io/open-webui/open-webui:main

预期结果:出现下载进度并最终提示完成;镜像已存在时会提示 layer 已就绪,两种情况都算通过。

第 3 步:启动容器

目的:把服务跑起来,同时把端口映射和数据保存一次配好。

命令:运行容器。其中-p 3000:8080把容器内 8080 端口暴露到宿主机 3000;--add-host=host.docker.internal:host-gateway让容器能访问宿主机上的 Ollama;-v open-webui:/app/backend/data把数据挂到具名卷,参数说明见下文持久化一节。

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

预期结果:命令返回容器 ID;浏览器打开http://localhost:3000,能看到登录页和聊天界面,部署就算成功。如果想在 Python 环境里跑,沿用第 3 步同样的端口逻辑,改用下面两条命令:

pip install open-webui python -m open_webui

启动后访问http://localhost:8080,看到同样的界面即可。

第 4 步:接入 Ollama

目的:让 Open WebUI 找到模型服务,否则界面里没有任何模型可选。

命令:Ollama 和容器部署在同一台机器上、且第 3 步用了默认参数时,不需要额外操作。Ollama 在别的机器上时,重新建容器时加一个-e OLLAMA_BASE_URL参数指向远程地址,比如:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=https://your-ollama-server.com --name open-webui --restart always ghcr.io/open-webui/open-webui:main

也可以登录后在 Settings 页面直接填写服务地址,效果一样。

预期结果:模型列表里出现 Ollama 上的模型,选中后能发出第一条对话。

第 5 步:确认数据落盘

目的:验证聊天记录和配置确实写进了数据卷,而不是只存在容器里。

命令:沿用第 3 步的卷挂载配置,重启容器后检查卷里生成的文件。

docker restart open-webui docker volume inspect open-webui

预期结果:卷内能看到vector_dbwebui.db和上传目录;重启完成后再打开网页,之前的会话还在。

接入与持久化

后端服务怎么接

Open WebUI 自己不跑模型,它负责界面,推理交给后端模型服务。接入方式就两个:启动时通过环境变量OLLAMA_BASE_URL指定 Ollama 地址,或者用 OpenAI 兼容 API 时在界面 Settings 里填 Base URL 和 API Key。容器场景下,--add-host=host.docker.internal:host-gateway是关键,它保证容器内能用这个主机名访问宿主机的服务。

数据怎么保存

-v open-webui:/app/backend/data这一项挂载决定了一切:聊天记录、用户账号、上传的文件都存在这个卷里。删掉容器重建,数据不动;反过来,如果没做这步挂载,容器一删数据全丢。需要迁移或备份时,直接对整个数据卷做备份即可。

验证清单

逐项打勾,全部通过才算部署完成:

  • 浏览器打开http://localhost:3000,能看到登录页和聊天界面
  • 能完成注册/登录,创建第一个账号
  • 模型列表里出现了 Ollama 的模型
  • 发出一条消息,能看到流式回复
  • 数据卷中已有webui.db和上传目录
  • 重启容器后,之前的会话依然存在

常见问题

Q1:页面能打开,但发消息一直转圈或提示连接失败。现象描述:界面正常,模型调用超时。 解法:多数是 Ollama 没在运行,或OLLAMA_BASE_URL填错。先确认ollama list能正常输出,再检查配置里的地址和端口;容器连宿主机场景要确认第 3 步的--add-host参数没有漏掉。

Q2:容器起不来,提示端口已被占用。现象描述:启动报错,或访问时连到的是别的程序。 解法:换外部端口即可,沿用第 3 步命令,仅把-p 3000:8080替换为-p 8080:8080,访问地址跟着换成http://localhost:8080

Q3:模型列表是空的。现象描述:能登录,但下拉框里没有任何模型。 解法:先确认 Ollama 端本身有模型(ollama list),再检查服务地址配置。地址对了还是空的话,看容器日志排查网络。

Q4:重启容器后聊天记录不见了。现象描述:升级或重建容器后会话全丢。 解法:检查启动参数里是否带了-v open-webui:/app/backend/data。没挂卷时数据写在容器内部层,容器一删就没了,补上挂载后重新登录即可。

进阶与收尾

可选能力简单带过:

  • GPU 加速:装好 NVIDIA 驱动和容器工具包后,把镜像标签从main换成cuda,并在命令里加--gpus all
  • 离线部署:环境不通外网时,提前把镜像导出导入,并设置HF_HUB_OFFLINE=1阻止组件联网下载。

最后三条运维建议:

  1. 数据卷定期备份,webui.db和上传目录丢了,账号和会话都找不回来。
  2. 用 watchtower 之类的工具盯镜像更新,重建容器时保留卷挂载。
  3. 部署到内网多用户环境时,配好访问控制和网络隔离,别把管理入口直接暴露出去。

更多配置项可查 docs/official.md,功能实现源码在 backend/open_webui/。

【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 13:33:48

微调模型如何扛住真实场景?拆解Omega-S功能韧性评估框架

拿到一个微调后的LLM,最常见的行为是什么?不是上线,而是先跑一遍评测集。分数不错,大家松一口气,然后一放到真实场景里,用户稍微换几个说法,模型就开始答非所问、格式错乱、甚至完全偏离任务。O…

作者头像 李华
网站建设 2026/8/28 13:33:43

Kali 更换源(超详细,附国内优质镜像源地址)

进入管理员下的控制台。 输入密码后点击“授权”。 在控制台内输入下面的内容。 vim /etc/apt/sources.list敲击回车后会进入下面的页面。 来到这个页面后的第一部是按键盘上的“i”键,左下角出现“插入”后说明操作正确。 使用“#”将原本的源给注释掉。 从下面的…

作者头像 李华
网站建设 2026/8/28 13:32:46

从OpenAI Build Week看Codex:AI编程进入Agent工程管理时代

如果你最近在看 AI 编程、Agent 工具链相关的内容,大概率刷到过 OpenAI Build Week 的消息。每次 OpenAI 办完这类黑客松活动,总能看到一堆参会者晒项目、晒 Demo、晒奖杯。很多人第一反应是看热闹:谁拿了第一名、项目长什么样、奖品是什么。…

作者头像 李华
网站建设 2026/8/28 13:30:28

Python实现模糊数学运算:从隶属度函数到模糊控制系统实战

1. 从“模糊”到“清晰”:为什么我们需要模糊数学运算 在传统的数学世界里,一个元素要么属于一个集合,要么不属于,非黑即白,界限分明。比如,温度“高于25度”是一个清晰的概念,25.1度属于&#…

作者头像 李华
网站建设 2026/8/28 13:24:40

andrej-karpathy-skills:LLM 编码规范指南

andrej-karpathy-skills:LLM 编码规范指南 【免费下载链接】andrej-karpathy-skills A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls. 项目地址: https://gitcode.com/GitHub_Tre…

作者头像 李华
网站建设 2026/8/28 13:24:38

如何从零重建技术:build-your-own-x 30 类实战教程使用指南

如何从零重建技术:build-your-own-x 30 类实战教程使用指南 【免费下载链接】build-your-own-x Master programming by recreating your favorite technologies from scratch. 项目地址: https://gitcode.com/GitHub_Trending/bu/build-your-own-x build-you…

作者头像 李华