Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question]: Are the Mac M* chips able to run a rag flow docker image? #4666

Open
ehkropf opened this issue Jan 27, 2025 · 9 comments
Open

[Question]: Are the Mac M* chips able to run a rag flow docker image? #4666

ehkropf opened this issue Jan 27, 2025 · 9 comments
Labels
question Further information is requested

Comments

@ehkropf
Copy link

ehkropf commented Jan 27, 2025

Describe your problem

I am following the instructions to build the docker image (for Mac -- apple silicon), but am getting the following when trying to run docker compose ...:

$ docker compose -f docker/docker-compose.yml up -d
[+] Running 2/12
 ⠧ redis [⠀⠀⠀⠀⠀⠀⠀] Pulling                                                                                                                                 1.7s
   ⠼ f5c6876bb3d7 Pulling fs layer                                                                                                                         0.4s
   ⠼ 4f1566b9ba37 Pulling fs layer                                                                                                                         0.4s
   ⠼ 043157ed2230 Pulling fs layer                                                                                                                         0.4s
   ⠼ 03bb3b0e63a9 Waiting                                                                                                                                  0.4s
   ⠼ 2ce98338fcd5 Waiting                                                                                                                                  0.4s
   ⠼ 4f4fb700ef54 Waiting                                                                                                                                  0.4s
   ⠼ c38fa1e2e43e Waiting                                                                                                                                  0.4s
 ✘ es01 Error          context canceled                                                                                                                    1.7s
 ✘ minio Error         context canceled                                                                                                                    1.7s
 ⠧ ragflow Pulling                                                                                                                                         1.7s
 ⠧ mysql Pulling                                                                                                                                           1.7s
no matching manifest for linux/arm64/v8 in the manifest list entries

I have v0.15.0 checked out. The following diff shows the changes I've made to Dockerfile and docker/.env.

$ git diff
diff --git a/Dockerfile b/Dockerfile
index 94365566..a7218f9e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,6 +3,7 @@ FROM ubuntu:22.04 AS base
 USER root
 SHELL ["/bin/bash", "-c"]

+ARG ARCH='arm64'
 ARG NEED_MIRROR=0
 ARG LIGHTEN=0
 ENV LIGHTEN=${LIGHTEN}
diff --git a/docker/.env b/docker/.env
index dce767d2..c3b39023 100644
--- a/docker/.env
+++ b/docker/.env
@@ -116,14 +116,14 @@ RAGFLOW_IMAGE=infiniflow/ragflow:v0.15.0-slim
 # RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:nightly

 # The local time zone.
-TIMEZONE='Asia/Shanghai'
+TIMEZONE='Europe/London'

 # Uncomment the following line if you have limited access to huggingface.co:
 # HF_ENDPOINT=https://hf-mirror.com

 # Optimizations for MacOS
 # Uncomment the following line if your OS is MacOS:
-# MACOS=1
+MACOS=1

 # The maximum file size for each uploaded file, in bytes.
 # You can uncomment this line and update the value if you wish to change the 128M file size limit
@ehkropf ehkropf added the question Further information is requested label Jan 27, 2025
@JinHai-CN
Copy link
Contributor

Yes, but you need to build docker image by yourself. Please also check: https://ragflow.io/docs/dev/faq#which-architectures-or-devices-does-ragflow-support

@ehkropf
Copy link
Author

ehkropf commented Jan 28, 2025

I did build the docker image, following the instructions on the rag flow docs website (and some GitHub issue searches). It simply looks like the specified elastisearch and minio images don't exist (at least for linux/arm64/v8).

Is it the case that other people have run into this?

@codebyBowen
Copy link

same issue here

@bitk0der
Copy link

bitk0der commented Jan 29, 2025

for M processors - add to docker compose "platform: linux/arm64" for mysql, minio, redis:


....
  mysql:
    platform: linux/arm64
    image: mysql:8.0.39
    container_name: ragflow-mysql
    env_file: .env
.....

  minio:
    platform: linux/arm64
    image: quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z
    container_name: ragflow-minio
.....

  redis:
    platform: linux/arm64
    image: valkey/valkey:8
    container_name: ragflow-redis
.....

@Johnnythefool
Copy link

for M processors - add to docker compose "platform: linux/arm64" for mysql, minio, redis:


....
  mysql:
    platform: linux/arm64
    image: mysql:8.0.39
    container_name: ragflow-mysql
    env_file: .env
.....

  minio:
    platform: linux/arm64
    image: quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z
    container_name: ragflow-minio
.....

  redis:
    platform: linux/arm64
    image: valkey/valkey:8
    container_name: ragflow-redis
.....

Hi! I use M1 processor: where do i need to add these sentences? in ~/ragflow/conf/service_conf.yaml? Thanks.

@ehkropf
Copy link
Author

ehkropf commented Feb 6, 2025

EDIT: Re(re)-built the docker image. Got a bit further, but still getting the "no matching manifest" when trying compose (even with the specified changes from the previous comment. Note that when building the docker image, I got a warning on the command line:

 1 warning found (use docker --debug to expand):
 - InvalidBaseImagePlatform: Base image infiniflow/ragflow_deps:latest was pulled with platform "linux/amd64", expected "linux/arm64" for current build

Output from compose:

$ docker compose -f docker/docker-compose.yml up -d
WARN[0000] The "HF_ENDPOINT" variable is not set. Defaulting to a blank string.
[+] Running 0/40
 ⠧ es01 [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀] Pulling                                                                                                                               1.8s
   ⠸ 572aee731353 Waiting                                                                                                                                  0.3s
   ⠸ 124cb7e3e37e Waiting                                                                                                                                  0.3s
   ⠸ 983416f418c0 Waiting                                                                                                                                  0.3s
   ⠸ 89732bc75041 Waiting                                                                                                                                  0.3s
   ⠸ 8c785eaec661 Waiting                                                                                                                                  0.3s
   ⠸ eea140bef66b Waiting                                                                                                                                  0.3s
   ⠸ d16bcad91132 Waiting                                                                                                                                  0.3s
   ⠸ c23208337cf8 Waiting                                                                                                                                  0.3s
   ⠸ 2d6112686745 Waiting                                                                                                                                  0.3s
   ⠸ e6fc0d805b6e Waiting                                                                                                                                  0.3s
 ⠧ minio [⠀⠀⠀⠀⠀⠀⠀] Pulling                                                                                                                                 1.8s
   ⠸ b7b0bb81ef0e Waiting                                                                                                                                  0.3s
   ⠸ c1e42aa8a275 Waiting                                                                                                                                  0.3s
   ⠸ e9b6753743c5 Waiting                                                                                                                                  0.3s
   ⠸ 014647d6ee36 Waiting                                                                                                                                  0.3s
   ⠸ 145535a1571c Waiting                                                                                                                                  0.3s
   ⠸ a401bbb8b028 Waiting                                                                                                                                  0.3s
   ⠸ abe03354e1ec Waiting                                                                                                                                  0.3s
 ⠧ mysql [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀] Pulling                                                                                                                             1.8s
   ⠼ 8b4274ea61c5 Pulling fs layer                                                                                                                         0.4s
   ⠼ 65b13290a890 Pulling fs layer                                                                                                                         0.4s
   ⠼ 4a0edbf0dd13 Pulling fs layer                                                                                                                         0.4s
   ⠼ f8d978a6739e Waiting                                                                                                                                  0.4s
   ⠼ 64da6e9087ad Waiting                                                                                                                                  0.4s
   ⠼ f6d5909e94cd Waiting                                                                                                                                  0.4s
   ⠼ 949fd89ec12a Waiting                                                                                                                                  0.4s
   ⠼ 5355ea40a182 Waiting                                                                                                                                  0.4s
   ⠼ 2a489f3632fa Waiting                                                                                                                                  0.4s
   ⠼ efd64d077766 Waiting                                                                                                                                  0.4s
   ⠼ e6689b530d4e Waiting                                                                                                                                  0.4s
 ⠧ redis [⠀⠀⠀⠀⠀⠀⠀] Pulling                                                                                                                                 1.8s
   ⠋ f5c6876bb3d7 Waiting                                                                                                                                  0.1s
   ⠋ 4f1566b9ba37 Waiting                                                                                                                                  0.1s
   ⠋ 043157ed2230 Waiting                                                                                                                                  0.1s
   ⠋ 03bb3b0e63a9 Waiting                                                                                                                                  0.1s
   ⠋ 2ce98338fcd5 Waiting                                                                                                                                  0.1s
   ⠋ 4f4fb700ef54 Waiting                                                                                                                                  0.1s
   ⠋ c38fa1e2e43e Waiting                                                                                                                                  0.1s
 ⠧ ragflow Pulling                                                                                                                                         1.8s
no matching manifest for linux/arm64/v8 in the manifest list entries

@TomTom101
Copy link

❯ docker compose -f docker/docker-compose.yml up -d
WARN[0000] The "HF_ENDPOINT" variable is not set. Defaulting to a blank string. 
[+] Running 2/19
 ⠸ redis [⣿⠀⠀⠀⠀⠀⠀] Pulling                                                                                                                        2.4s 
   ✔ f5c6876bb3d7 Already exists                                                                                                                  0.0s 
   ⠴ 4f1566b9ba37 Pulling fs layer                                                                                                                0.5s 
   ⠴ 043157ed2230 Pulling fs layer                                                                                                                0.5s 
   ⠴ 03bb3b0e63a9 Pulling fs layer                                                                                                                0.5s 
   ⠴ 2ce98338fcd5 Waiting                                                                                                                         0.5s 
   ⠴ 4f4fb700ef54 Waiting                                                                                                                         0.5s 
   ⠴ c38fa1e2e43e Waiting                                                                                                                         0.5s 
 ⠸ minio [⠀⠀⠀⠀⠀⠀⠀] Pulling                                                                                                                        2.4s 
   ⠼ b7b0bb81ef0e Waiting                                                                                                                         0.4s 
   ⠼ c1e42aa8a275 Waiting                                                                                                                         0.4s 
   ⠼ e9b6753743c5 Waiting                                                                                                                         0.4s 
   ⠼ 014647d6ee36 Waiting                                                                                                                         0.4s 
   ⠼ 145535a1571c Waiting                                                                                                                         0.4s 
   ⠼ a401bbb8b028 Waiting                                                                                                                         0.4s 
   ⠼ abe03354e1ec Waiting                                                                                                                         0.4s 
 ⠸ mysql Pulling                                                                                                                                  2.4s 
 ⠸ ragflow Pulling                                                                                                                                2.4s 
 ✘ es01 Error         context canceled                                                                                                            2.4s 
no matching manifest for linux/arm64/v8 in the manifest list entries

@TomTom101
Copy link

This starts building, but eventually fails
$ docker compose -f docker/docker-compose-macos.yml up -d

@s874154731
Copy link

for M processors - add to docker compose "platform: linux/arm64" for mysql, minio, redis:


....
  mysql:
    platform: linux/arm64
    image: mysql:8.0.39
    container_name: ragflow-mysql
    env_file: .env
.....

  minio:
    platform: linux/arm64
    image: quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z
    container_name: ragflow-minio
.....

  redis:
    platform: linux/arm64
    image: valkey/valkey:8
    container_name: ragflow-redis
.....

Hi! I use M1 processor: where do i need to add these sentences? in ~/ragflow/conf/service_conf.yaml? Thanks.

in ~\docker\docker-compose.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

7 participants