Open WebUI 上手指南:一条 Docker 命令搭出私有 AI 聊天界面 📅 2026/8/24 3:19:58 Open WebUI 上手指南一条 Docker 命令搭出私有 AI 聊天界面【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui团队里跑着 Ollama但没有一个能给全员用的界面要权限、要知识库、要多人会话。Open WebUI 是开源的自托管 AI 聊天界面一条 Docker 命令即可接入本地模型或 OpenAI 兼容 API带统一登录、多模型切换、知识库问答与分组权限。 三分钟跑起来最短路径是一条 docker run直接用官方镜像不需要构建。docker run -d -p 3000:8080 \ --add-hosthost.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui --restart always \ ghcr.io/open-webui/open-webui:main关键参数只有三个-p 3000:8080容器内固定 8080 端口暴露到主机 3000-v open-webui:/app/backend/data对话与配置全部落在命名卷里--add-host让容器能按 host.docker.internal 访问主机上的服务验证方式浏览器打开 http://localhost:3000看到登录页并完成管理员账户创建就算跑通若已连上 Ollama模型列表会自动出现。专家提示容器名和端口可以随意改数据卷挂载路径不要动日后迁移时把 open-webui 这个卷带走全部历史数据就在里面。 它解决什么问题痛点对应能力通俗解释本地模型只有裸 API没法给同事用自托管 Web 界面对话和文件都留在内网部署规模随团队走多个模型来源切换繁琐多模型接入Ollama 与 OpenAI 兼容 API 统一在设置里管理右上角随时切换模型答不出内部资料知识库 RAG上传文档自动向量化提问时自动引用检索到的段落全员共用一套配置无边界用户与分组权限建组、分配模型与工具不同角色看到不同内容多模型接入和知识库是它相对裸 API 的主要增量权限管理则决定了它能否进生产。后端 REST 接口集中在 backend/open_webui/routers/向量化与检索实现在 backend/open_webui/retrieval/想改默认行为时从这两个目录入手。️ 部署与配置接入 Ollama若 Ollama 与容器同机只需多传一个环境变量docker run -d -p 3000:8080 \ --add-hosthost.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ -e OLLAMA_BASE_URLhttp://host.docker.internal:11434 \ --name open-webui --restart always \ ghcr.io/open-webui/open-webui:mainOpen WebUI 会定期轮询该地址新拉取的模型自动出现在列表中。若 Ollama 在别的机器把地址换成实际主机与端口即可用 compose 管理两个容器更省心services: open-webui: image: ghcr.io/open-webui/open-webui:main ports: - 3000:8080 volumes: [open-webui:/app/backend/data] environment: [OLLAMA_BASE_URLhttp://ollama:11434] depends_on: [ollama] ollama: image: ollama/ollama:latest volumes: [ollama:/root/.ollama] volumes: open-webui: ollama:生产参数多用户或长期运行前重点配置三个变量-e WEBUI_SECRET_KEY长随机字符串 -e DATABASE_URLpostgresql://user:passpostgres:5432/openwebui -e REDIS_URLredis://redis:6379WEBUI_SECRET_KEYJWT 签名密钥开启认证时必填留空则每次启动生成临时值DATABASE_URL默认内置 SQLite多人并发时切换 PostgreSQLREDIS_URL多实例部署与 WebSocket 的共享状态这些变量集中在 backend/open_webui/env.py 中读取改配置即可无需改代码。专家提示WEBUI_SECRET_KEY 留空时重启会让所有用户掉线。首次部署就用openssl rand -hex 32生成一个固定值写进启动参数或 compose。 典型场景部门知识库问答需求内部手册要可被提问且不引用外部数据源。配置思路管理后台 Knowledge 页上传 PDF/Markdown 文档 → 选定内置或外接的 embedding 模型完成向量化 → 在聊天页为会话启用该知识库。效果验证提问文档中的具体条款回答与原文一致且带引用来源即成功。多角色共享一套界面需求多部门共用一个 Open WebUI模型与数据要有边界。配置思路管理后台创建分组并拉入用户 → 为各组分配不同模型与工具 → 限定各组可访问的知识库。效果验证用两个不同分组的账号登录对比模型列表与历史会话是否隔离。⚠️ 避坑速查现象页面可访问但模型列表为空。原因容器访问不到主机上的 Ollama。解法确认带了--add-hosthost.docker.internal:host-gateway且OLLAMA_BASE_URL指向 http://host.docker.internal:11434。现象容器重启后所有人掉线。原因WEBUI_SECRET_KEY未固定密钥每次随机生成。解法在启动参数或 compose 中写入一个长随机值。现象启动报端口占用。原因主机 3000 端口已被其他服务占用。解法把-p 3000:8080改成-p 3001:8080用新端口访问。Open WebUI 把本地模型变成了团队可用的聊天入口到这里部署已经完成。下一步登录管理后台新建知识库并上传第一份文档体验一次带引用的问答。【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考