ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Open WebUI 部署完全指南:一键 Docker 拉起自托管 AI 聊天界面,零门槛接入 Ollama 与 OpenAI

Open WebUI 部署完全指南:一键 Docker 拉起自托管 AI 聊天界面,零门槛接入 Ollama 与 OpenAI Open WebUI 部署完全指南一键 Docker 拉起自托管 AI 聊天界面零门槛接入 Ollama 与 OpenAI【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui上次搭 AI 聊天界面我在一条环境变量上耗了两小时——其实是端口被占了。今天把 Open WebUI 部署的坑一次说清它是一套自托管的 LLM 聊天界面支持 Ollama、OpenAI 兼容 API 等本地与云端模型数据不出你机器。跟着走3 条命令内即可离线跑通。3 分钟跑通Docker 一键部署的最快路径先花 10 秒确认端口3000 没被别的程序占用被占就用OPEN_WEBUI_PORT换一个。环境门槛只有两样装了 Docker 和docker composeCompose v2 随 Docker 自带内存 4GB 起、10GB 空余磁盘。git clone https://gitcode.com/GitHub_Trending/op/open-webui cd open-webuidocker compose up -d等几十秒docker compose ps看到open-webui和ollama两个容器都是 Up 状态即成功——这套配置会同时起一个 Ollama 容器跑本地模型的引擎模型数据存在ollama卷里重启不丢。浏览器打开http://localhost:3000首次访问是注册页注册出来的账号就是管理员。容器里的 Ollama 还没模型拉一个小的试试docker compose exec ollama ollama pull qwen3:4b看到success结尾即完成回聊天页模型列表里选qwen3:4b发消息。按场景选路4 种部署方式各适合谁一条命令只是最省事的入口换场景换一条命令即可。一台机器、图省事compose 全家桶就是上面那套。WebUI 与 Ollama 同网段OLLAMA_BASE_URL已指向http://ollama:11434模型和聊天数据分别落在两个命名卷里docker compose down一条命令全停up -d再拉起。手头有 GPUGPU 加速版有 NVIDIA 显卡且装好了nvidia-container-toolkit的人换一条命令docker compose -f docker-compose.gpu.yaml up -d区别只有 Ollama 容器被允许用 GPU 推理nvidia driver 声明在 deploy 配置里推理速度是纯 CPU 的数倍命令执行后docker compose ps依旧看 Up 状态。不装本地模型、只接云端仅 API 版不想在本机跑模型只接 OpenAI 或任意兼容 API 的话docker compose -f docker-compose.api.yaml up -d区别是 WebUI 不再依赖 Ollama11434 端口暴露给宿主机上的独立 Ollama如果你还需要的话。完整字段含义直接看仓库里的docker-compose.api.yaml不赘述。上了 K8s、要弹性多人使用、要副本和高可用时走仓库的kubernetes/目录kubectl apply打 base 清单或helm install装 chartGPU 节点加一个 nodeSelector 即可。让界面连上模型后端服务起来了接下来是让页面真正有脑子可问。入口都在右上角头像 →Settings。接 Ollama 本地模型确保 Ollama 在跑ollama serveSettings OllamaAPI URL 填地址——本机http://localhost:11434compose 网络内http://ollama:11434远程机器http://内网IP:11434保存后回Models页能看到ollama pull过的模型即接上了。现象Models 页空白报连接错误。排查宿主机ollama ps确认服务活着docker compose exec open-webui env | grep OLLAMA核对容器里实际生效的地址。修复容器访问宿主机的 Ollama 时地址用http://host.docker.internal:11434仍不通就改用--networkhost起容器此时 WebUI 端口变成 8080。接 OpenAI 兼容 APISettings OpenAI兼容服务商通用填 API Key 和 Base URL如https://api.openai.com/v1或 Groq、Mistral 的对应地址在聊天框随便发一条消息能收到流式回复即成功。两条安全底线不想让人随意注册就关掉公开注册环境变量ENABLE_SIGNUPFalse之后账号由管理员手动建多用户或暴露到内网时给WEBUI_SECRET_KEY设一个强随机值并为 API 调用开启端点限制ENABLE_API_KEY_ENDPOINT_RESTRICTIONS防止密钥被拿来打任意接口。跑起来了吗3 步验证 日志排查打开 http://localhost:3000 登录后按这三步过一遍Models页能看到至少一个模型卡片选模型发一句你好几秒内收到回复且 token 计数在动上传一个 PDF 或 TXT追问文件里的内容确认 RAG 检索生效。三步都过部署就算成了。日志就两个入口Docker 部署docker logs -f open-webui手动部署tail -f backend/open_webui/logs/app.log。现象长文本生成到一半断开。排查看日志里有没有 timeout 字样。修复默认 5 分钟超时对大模型偏短加环境变量AIOHTTP_CLIENT_TIMEOUT300以上再重启。现象升级版本后启动即退出日志报数据库版本不兼容。排查确认ENABLE_DB_MIGRATIONS没被手动关掉。修复进容器或 backend 目录执行alembic upgrade head再启动。上生产前看一眼事项怎么做备份数据整个backend/data目录compose 卷即/app/backend/data整体打包即可数据库是其中的db.sqlite3换端口起容器前设OPEN_WEBUI_PORT映射到 3000 之外的端口品牌定制WEBUI_NAME改站点名WEBUI_CUSTOM_CSS_URL指一个自定义 CSS装插件代码丢进backend/plugins/目录重启后在Settings Plugins里启用更完整的开关清单几十项持久化配置在backend/open_webui/config.py里翻一遍就有官方文档站 docs.openwebui.com 与源码目录是后续遇到问题时的第一站。Open WebUI 把私有数据 灵活模型源这两件事压成了三条命令的事部署完成只是开始模型与插件才是玩法。 用着不顺或想提需求项目仓库的 Issues 页或直接进官方 Discord 社区喊人。【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表