构建 RAGFlow Docker 镜像
一个解释如何从其源代码构建 RAGFlow Docker 镜像的指南。通过遵循本指南,您将能够创建一个可用于开发、调试或测试目的的本地 Docker 镜像。
目标受众
- 添加了新功能或修改了现有代码并需要 Docker 镜像来查看和调试其更改的开发者。
- 寻求为 ARM64 平台构建 RAGFlow Docker 镜像的开发者。
- 旨在在 Docker 镜像中探索 RAGFlow 最新功能的测试人员。
前置条件
- CPU ≥ 4 核
- RAM ≥ 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.20.5-slim 更改为 infiniflow/ragflow:nightly-slim 以使用预构建的镜像。
- 启动服务
cd docker
$ docker compose -f docker-compose-macos.yml up -d
- 访问 RAGFlow 服务
设置完成后,打开您的网络浏览器并导航到 http://127.0.0.1 或您服务器的 <IP_ADDRESS>;(默认端口为 <PORT> = 80)。您将被重定向到 RAGFlow 欢迎页面。享受吧!🍻