可扩展的企业部署选项
Open WebUI 的无状态、容器优先架构意味着:无论你把它部署为虚拟机上的 Python 进程、托管容器服务中的容器,还是 Kubernetes 集群中的 Pod,本质上运行的都是同一个应用。不同部署模式之间的差异,在于你如何编排、扩展和运维它,而不是应用本身的行为发生改变。
模型推理是独立维度
LLM 模型如何提供服务,与 Open WebUI 如何部署是两个独立问题。无论采用哪种部署模式,你都可以使用托管 API(OpenAI、Anthropic、Azure OpenAI、Google Gemini)或自托管推理(Ollama、vLLM)。关于模型接入方式,详见集成。
共享基础设施要求
无论你选择哪一种部署模式,任何需要扩展的 Open WebUI 部署都依赖同一组后端服务。在从单实例扩展之前,请先完成这些基础设施配置。
| 组件 | 为什么必需 | 可选方案 |
|---|---|---|
| PostgreSQL | 多实例部署必须使用真正的数据库。SQLite 不支持多个进程并发写入。 | 自托管、Amazon RDS、Azure Database for PostgreSQL、Google Cloud SQL |
| Redis | 用于会话管理、WebSocket 协调和实例间配置同步。 | 自托管、Amazon ElastiCache、Azure Cache for Redis、Google Memorystore |
| 向量数据库 | 默认 ChromaDB 使用本地 SQLite 后端,不适合多进程访问。 | PGVector(复用 PostgreSQL)、Milvus、Qdrant,或 HTTP Server 模式的 ChromaDB |
| 共享存储 | 上传文件必须能被所有实例访问。 | 共享文件系统(NFS、EFS、CephFS)或对象存储(S3、GCS、Azure Blob) |
| 内容提取 | 默认 pypdf 提取器在持续负载下会发生内存泄漏。 | 以 Sidecar 方式运行 Apache Tika 或 Docling |
| Embedding 引擎 | 默认 SentenceTransformers 模型会为每个 worker 进程加载约 500 MB 内存。 | OpenAI Embeddings API,或运行 embedding 模型的 Ollama |