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.