| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- ---
 - sidebar_position: 1
 - slug: /build_docker_image
 - ---
 - 
 - # Build RAGFlow Docker image
 - import Tabs from '@theme/Tabs';
 - import TabItem from '@theme/TabItem';
 - 
 - 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
 - 
 - <Tabs
 -   defaultValue="without"
 -   values={[
 -     {label: 'Build a Docker image without embedding models', value: 'without'},
 -     {label: 'Build a Docker image including embedding models', value: 'including'}
 -   ]}>
 -   <TabItem value="without">
 - 
 - This image is approximately 2 GB in size and relies on external LLM and embedding services.
 - 
 - :::danger 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.
 - :::
 - 
 - ```bash
 - 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 .
 - ```
 - 
 - 
 -   </TabItem>
 -   <TabItem value="including">
 - 
 - This image is approximately 9 GB in size. As it includes embedding models, it relies on external LLM services only.  
 - 
 - :::danger 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.
 - :::
 - 
 - ```bash
 - 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 -f Dockerfile -t infiniflow/ragflow:nightly .
 - ```
 - 
 -   </TabItem>
 - </Tabs>
 - 
 - ## 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.20.0-slim` to `infiniflow/ragflow:nightly-slim` to use the pre-built image.
 - 
 - 
 - 2. Launch the Service
 - 
 - ```bash
 - cd docker
 - $ docker compose -f docker-compose-macos.yml up -d
 - ```
 - 
 - 3. 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!🍻
 
 
  |