构建 RAGFlow Docker 镜像
本指南介绍了如何从 RAGFlow 源代码构建 Docker 镜像。遵循本指南,您将能够创建一个本地 Docker 镜像,用于开发、调试或测试目的。
目标受众
- 添加了新功能或修改了现有代码,并需要 Docker 镜像来查看和调试其更改的开发者。
- 寻求为 ARM64 平台构建 RAGFlow Docker 镜像的开发者。
- 希望在 Docker 镜像中探索 RAGFlow 最新功能的测试人员。
前提条件
- CPU ≥ 4 核
- 内存 ≥ 16 GB
- 磁盘空间 ≥ 50 GB
- Docker ≥ 24.0.0 和 Docker Compose ≥ v2.26.1
构建 Docker 镜像
- 构建不包含嵌入模型的 Docker 镜像
- 构建包含嵌入模型的 Docker 镜像
该镜像大小约为 2 GB,依赖外部 LLM 和嵌入服务。
重要
- 虽然我们也在 ARM64 平台上测试 RAGFlow,但我们不维护适用于 ARM 的 RAGFlow Docker 镜像。但是,您可以在
linux/arm64
或darwin/arm64
主机上自行构建镜像。 - 对于 ARM64 平台,请将 pyproject.toml 中的
xgboost
版本升级到1.6.0
,并确保正确安装了 unixODBC。
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv run download_deps.py
docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .
docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .
该镜像大小约为 9 GB。由于包含嵌入模型,它仅依赖外部 LLM 服务。
重要
- 虽然我们也在 ARM64 平台上测试 RAGFlow,但我们不维护适用于 ARM 的 RAGFlow Docker 镜像。但是,您可以在
linux/arm64
或darwin/arm64
主机上自行构建镜像。 - 对于 ARM64 平台,请将 pyproject.toml 中的
xgboost
版本升级到1.6.0
,并确保正确安装了 unixODBC。
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv run download_deps.py
docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .
docker build -f Dockerfile -t infiniflow/ragflow:nightly .
在 MacOS 上从 Docker 启动 RAGFlow 服务
构建 infiniflow/ragflow:nightly-slim镜像后,您就可以启动一个功能齐全的 RAGFlow 服务,包含所有必需的组件,例如 Elasticsearch、MySQL、MinIO、Redis 等。
示例:Apple M2 Pro (Sequoia)
- 编辑 Docker Compose 配置
打开 docker/.env
文件。找到 RAGFLOW_IMAGE
设置,并将镜像引用从 infiniflow/ragflow:v0.18.0-slim
更改为 infiniflow/ragflow:nightly-slim
,以使用预构建的镜像。
- 启动服务
cd docker
$ docker compose -f docker-compose-macos.yml up -d
- 访问 RAGFlow 服务
设置完成后,打开您的网页浏览器,访问 http://127.0.0.1 或您的服务器