构建 RAGFlow Docker 镜像
本指南介绍如何从 RAGFlow 的源代码构建 Docker 镜像。遵循本指南,您将能够创建一个可用于开发、调试或测试的本地 Docker 镜像。
目标受众
- 为 RAGFlow 添加了新功能或修改了现有代码,需要通过 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.20.0-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 的欢迎页面。祝您使用愉快!🍻