跳到主要内容

构建 RAGFlow Docker 镜像 (Build RAGFlow Docker image)

本指南介绍如何从源码构建 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 镜像

该镜像大小约为 2 GB,并且依赖外部的 LLM(大语言模型)服务和嵌入(Embedding)服务。

重要
  • 虽然我们也会在 ARM64 平台上测试 RAGFlow,但我们并不维护适用于 ARM 架构的官方 RAGFlow Docker 镜像。不过,您也可以在 linux/arm64darwin/arm64 宿主机上自行构建镜像。
  • 对于 ARM64 平台,请将 pyproject.toml 中的 xgboost 版本升级至 1.6.0,并确保已正确安装 unixODBC
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv run python3 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 镜像后,您就可以准备启动一个包含所有必需组件(如 Elasticsearch、MySQL、MinIO、Redis 等)的、功能完整的 RAGFlow 服务了。

示例:Apple M2 Pro (Sequoia)

  1. 编辑 Docker Compose 配置

    打开 docker/.env 文件。找到 RAGFLOW_IMAGE 设置并将镜像引用从 infiniflow/ragflow:v0.25.2 更改为 infiniflow/ragflow:nightly 以使用刚才构建的镜像。

  2. 启动服务

    cd docker
    docker compose -f docker-compose-macos.yml up -d
  3. 访问 RAGFlow 服务

    设置完成后,打开网页浏览器并导航至 http://127.0.0.1 或您服务器的 <IP_ADDRESS>(默认端口为 <PORT> = 80)。您将被重定向至 RAGFlow 欢迎页面。祝使用愉快!🍻