MacOS M 系列构建 ragflow 镜像

王子闻,

不少用户选择把 ragflow 部署在自己的 MacBook 上,但由于官方只提供 linux/amd64 镜像,可能会带来性能不佳等问题,并且好像也没有可以拿来用的社区镜像,故写此文,传授 MacOS M 系列自己编译的方法。

TL;DR: 可以用 registry.cn-hongkong.aliyuncs.com/f0/ragflow-arm64:20250404

配置要求

根据官方说明,配置要求为:

  • CPU ≥ 4 核
  • 内存 ≥ 16 GB
  • 磁盘 ≥ 50 GB
  • Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1

配置较低的,可以选择使用部分云厂的抢占式实例,一台 16c 32g 的服务器一小时一块钱不到。

构建 Docker 镜像

  • 对于 ARM64 平台,请将 pyproject.toml 中的 xgboost 版本升级到 1.6.0,并确保正确安装了 unixODBC
git clone https://github.com/infiniflow/ragflow.git
cd ragflow

打开编辑器,找到 ragflow 目录下的 docker/.env,打开编辑,在第 84 行,将镜像引用从 infiniflow/ragflow:v0.17.2-slim 更改为 ragflow:lovely,以使用我们自己将要构建的镜像(为了避免可能拉取过镜像的影响,将镜像命名为没有使用过的):

RAGFLOW_IMAGE=ragflow:lovely

在第 110 行,删除开头 # 号:

HF_ENDPOINT=https://hf-mirror.com

在第 114 行,删除开头的 # 号:

MACOS=1

.env 编辑保存后,再打开 docker/docker-compose-macos.yml,修改 build 部分,删除红色内容,添加绿色内容:

-   build:
-     context: ../
-     dockerfile:
+   image: ragflow:lovely

接下来:

uv run download_deps.py --china-mirrors
docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .
docker build --build-arg NEED_MIRROR=1 --platform linux/arm64 -f Dockerfile -t ragflow:lovely .

大概 10 - 30 分钟以后,等到看到 naming to ragflow:lovely 就代表可以了。

启动服务

cd docker
docker compose -f docker-compose-macos.yml up -d

All done.

参考文章

  1. docs/develop/build_docker_image.mdx
  2. MacOS 安装 RagFlow 全踩坑指南

© 普林斯 Princewen.cn
Ver: 1.0.0-alpha-e6d048bApr 7, 2025