构建RAGFlow Docker镜像
本指南介绍了如何从源代码构建一个RAGFlow 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,依赖于外部的大语言模型和嵌入服务。
注意
- 虽然我们在ARM64平台上也测试了RAGFlow,但我们不维护针对ARM的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,因为其包括嵌入式模型,仅依赖于外部的大语言模型服务。
注意
- 虽然我们在ARM64平台上也测试了RAGFlow,但我们不维护针对ARM的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
镜像后,您可以启动一个包含所有必需组件(如Elasticsearch、MySQL、MinIO、Redis等)的完整功能的RAGFlow服务。
示例:Apple M2 Pro (Sequoia)
- 编辑Docker Compose配置
打开 docker/.env
文件。找到 RAGFLOW_IMAGE
设置,并将镜像引用从 infiniflow/ragflow:v0.20.3-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欢迎页面。享用!🍻