Docker Compose 架构
RAGFlow 使用多服务 Docker Compose 设置来编排核心应用程序服务器、可选任务执行程序和支持的基础设施服务。主要部署配置在 docker/docker-compose.yml 1-75 中
定义

主要服务配置包括运行状况检查依赖项和 .env 文件中的环境变量注入。可选的 MCP 服务器配置在 docker/docker-compose.yml 10-24
中 作为注释示例提供
服务编排和入口点
容器启动过程由 entrypoint.sh
脚本管理,该脚本通过命令行参数提供灵活的服务配置。该脚本支持多种作模式和组件隔离。
入口点脚本通过环境变量替换 docker/entrypoint.sh 133-141
处理配置模板处理,并管理分布式部署 docker/entrypoint.sh 45-56
的主机 ID 生成
MCP 服务器集成
模型上下文协议 (MCP) 服务器为 RAGFlow 提供外部工具集成功能。它可以通过 Docker 部署启用,并支持自托管和多租户主机模式。
MCP 服务器将 RAGFlow 的检索功能公开为 MCP 工具,ragflow_retrieval
工具支持数据集和文档过滤 mcp/server/server.py 175-203
配置管理
部署配置系统使用基于模板的环境变量替换来生成运行时配置文件。这样可以灵活地进行部署定制,而无需重新构建容器。

配置模板处理可确保在容器启动时正确应用特定于环境的设置 docker/entrypoint.sh 133-141
部署模式
RAGFlow 通过入口点脚本的命令行界面支持多种部署配置,允许组件隔离和扩展场景。
部署模式 | 描述 | 命令参数 | 用例 |
---|---|---|---|
全栈 | 启用所有组件(默认) | 没有 | 单节点开发/测试 |
仅限 API 服务器 | 没有任务处理的 Web 服务器 | --disable-taskexecutor | 单独的加工工人 |
API Server Only | 没有 Web 服务器的任务执行器 | --disable-webserver --workers=N | 分布式处理节点 |
MCP 服务器 | 启用 MCP 协议服务器 | --enable-mcpserver | 外部工具集成 |
Range Workers | 特定工作人员 ID 范围 | --consumer-no-beg=X --consumer-no-end=Y | 细粒度的工人控制 |
任务执行工作者使用 jemalloc
进行内存管理 docker/entrypoint.sh 154-158
,并通过唯一主机标识符 docker/entrypoint.sh 195-207
支持分布式作
