mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-06-26 22:19:57 +00:00

### What problem does this PR solve? https://github.com/infiniflow/ragflow/issues/4319 This pull request includes several changes to improve the Docker setup and documentation for the project. The most important changes include updating the Dockerfile to support modern versions of Rust, adding a new Docker Compose configuration for macOS, and updating the build instructions in the documentation. Improvements to Docker setup: * [`Dockerfile`](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L80-R107): Added installation steps for a modern version of Rust and updated the logic for installing the correct ODBC driver based on the architecture. * [`docker/docker-compose-macos.yml`](diffhunk://#diff-8e8587143bb2442c02f6dff4caa217ebbe3ba4ec8e7c23b2e568886a67b00eafR1-R56): Added a new Docker Compose configuration file specifically for macOS, including service dependencies, environment variables, and volume mappings. Updates to documentation: * [`docs/guides/develop/build_docker_image.mdx`](diffhunk://#diff-d6136bb897f7245aae33b0accbcf7c508ceaef005c545f9f09cad3cada840a19L44-R44): Updated the build instructions to use the new Docker Compose configuration for macOS instead of the previous Docker build command. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) - [x] Documentation Update --------- Signed-off-by: Samuel Giffard <samuel.giffard@mytomorrows.com>
68 lines
2.2 KiB
Plaintext
68 lines
2.2 KiB
Plaintext
---
|
|
sidebar_position: 1
|
|
slug: /build_docker_image
|
|
---
|
|
|
|
# Build a 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 looking to build a RAGFlow Docker image for an ARM64 platform.
|
|
- Testers looking 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.
|
|
|
|
:::tip NOTE
|
|
While we also test RAGFlow on ARM64 platforms, we do not plan to maintain RAGFlow Docker images for ARM. However, you can build an image yourself on a `linux/arm64` or `darwin/arm64` host machine as well.
|
|
:::
|
|
|
|
```bash
|
|
git clone https://github.com/infiniflow/ragflow.git
|
|
cd ragflow/
|
|
docker compose -f docker/docker-compose-macos.yml up -d
|
|
```
|
|
|
|
|
|
</TabItem>
|
|
<TabItem value="including">
|
|
|
|
This image is approximately 9 GB in size. As it includes embedding models, it relies on external LLM services only.
|
|
|
|
:::tip NOTE
|
|
While we also test RAGFlow on ARM64 platforms, we do not plan to maintain RAGFlow Docker images for ARM. However, you can build an image yourself on a `linux/arm64` or `darwin/arm64` host machine.
|
|
:::
|
|
|
|
```bash
|
|
git clone https://github.com/infiniflow/ragflow.git
|
|
cd ragflow/
|
|
pip3 install huggingface_hub nltk
|
|
python3 download_deps.py
|
|
docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .
|
|
docker build -f Dockerfile -t infiniflow/ragflow:nightly .
|
|
docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .
|
|
```
|
|
|
|
</TabItem>
|
|
</Tabs> |