Skip to main content
Version: v0.17.0

Build a RAGFlow Docker Image

A guide explaining how to build a RAGFlow Docker image from its source code. By following this guide, you'll be able to create a local Docker image that can be used for development, debugging, or testing purposes.

Target Audience

  • Developers who have added new features or modified the existing code and require a Docker image to view and debug their changes.
  • Developers seeking to build a RAGFlow Docker image for an ARM64 platform.
  • Testers aiming to explore the latest features of RAGFlow in a Docker image.

Prerequisites

  • CPU ≥ 4 cores
  • RAM ≥ 16 GB
  • Disk ≥ 50 GB
  • Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1
  • For ARM64 platforms, please upgrade the xgboost version in pyproject.toml to 1.6.0 and ensure unixODBC is properly installed.

Build a Docker image

This image is approximately 2 GB in size and relies on external LLM and embedding services.

NOTE

While we also test RAGFlow on ARM64 platforms, we do not maintain RAGFlow Docker images for ARM. However, you can build an image yourself on a linux/arm64 or darwin/arm64 host machine as well.

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 .

Launch a RAGFlow Service from Docker for MacOS

After building the infiniflow/ragflow:nightly-slim image, you are ready to launch a fully-functional RAGFlow service with all the required components, such as Elasticsearch, MySQL, MinIO, Redis, and more.

Example: Apple M2 Pro (Sequoia)

  1. Edit Docker Compose Configuration

Open the docker/docker-compose-base.yml file. Find the infinity.image setting and change the image reference from infiniflow/infinity:v0.6.0-dev3 to infiniflow/ragflow:nightly-slim to use the pre-built image.

infinity:
container_name: ragflow-infinity
image: infiniflow/ragflow:nightly-slim # here
volumes:
- ...
- ...
...
  1. Launch the Service
cd docker
$ docker compose -f docker-compose-macos.yml up -d
  1. Access the RAGFlow Service

Once the setup is complete, open your web browser and navigate to http://127.0.0.1 or your server's <IP_ADDRESS>; (the default port is <PORT> = 80). You will be directed to the RAGFlow welcome page. Enjoy!🍻