Skip to main content
Version: v0.17.1

Build 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

Build a Docker image

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

IMPORTANT
  • 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.
  • For ARM64 platforms, please upgrade the xgboost version in pyproject.toml to 1.6.0 and ensure unixODBC is properly installed.
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/.env file. Find the RAGFLOW_IMAGE setting and change the image reference from infiniflow/ragflow:v0.17.1-slim to infiniflow/ragflow:nightly-slim to use the pre-built image.

  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!🍻