mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
Added two developer guide and removed from README ' builder docker image' and 'launch service from source' (#2590)
### What problem does this PR solve? ### Type of change - [x] Documentation Update
This commit is contained in:
8
docs/guides/develop/_category_.json
Normal file
8
docs/guides/develop/_category_.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"label": "Develop",
|
||||
"position": 10,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "Guides for Hardcore Developers"
|
||||
}
|
||||
}
|
||||
43
docs/guides/develop/build_docker_image.md
Normal file
43
docs/guides/develop/build_docker_image.md
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
slug: /build_docker_image
|
||||
---
|
||||
|
||||
# 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.
|
||||
- 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
|
||||
|
||||
:::tip NOTE
|
||||
If you have not installed Docker on your local machine (Windows, Mac, or Linux), see the [Install Docker Engine](https://docs.docker.com/engine/install/) guide.
|
||||
:::
|
||||
|
||||
## Build a RAGFlow Docker Image
|
||||
|
||||
To build a RAGFlow Docker image from source code:
|
||||
|
||||
### Git Clone the Repository
|
||||
|
||||
```bash
|
||||
git clone https://github.com/infiniflow/ragflow.git
|
||||
```
|
||||
|
||||
### Build the Docker Image
|
||||
|
||||
Navigate to the `ragflow` directory where the Dockerfile and other necessary files are located. Now you can build the Docker image using the provided Dockerfile. The command below specifies which Dockerfile to use and tages the image with a name for reference purpose.
|
||||
|
||||
```bash
|
||||
cd ragflow/
|
||||
docker build -f Dockerfile.scratch -t infiniflow/ragflow:dev .
|
||||
```
|
||||
129
docs/guides/develop/launch_ragflow_from_source.md
Normal file
129
docs/guides/develop/launch_ragflow_from_source.md
Normal file
@ -0,0 +1,129 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
slug: /launch_ragflow_from_source
|
||||
---
|
||||
|
||||
# Launch the RAGFlow Service from Source
|
||||
|
||||
A guide explaining how to set up a RAGFlow service from its source code. By following this guide, you'll be able to debug using the source code.
|
||||
|
||||
## Target Audience
|
||||
|
||||
Developers who have added new features or modified existing code and wish to debug using the source code, *provided that* their machine has the target deployment environment set up.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- CPU ≥ 4 cores
|
||||
- RAM ≥ 16 GB
|
||||
- Disk ≥ 50 GB
|
||||
- Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1
|
||||
|
||||
:::tip NOTE
|
||||
If you have not installed Docker on your local machine (Windows, Mac, or Linux), see the [Install Docker Engine](https://docs.docker.com/engine/install/) guide.
|
||||
:::
|
||||
|
||||
## Launch the Service from Source
|
||||
|
||||
To launch the RAGFlow service from source code:
|
||||
|
||||
### Clone the RAGFlow Repository
|
||||
|
||||
```bash
|
||||
git clone https://github.com/infiniflow/ragflow.git
|
||||
cd ragflow/
|
||||
```
|
||||
|
||||
### Install Python dependencies
|
||||
|
||||
1. Install Poetry:
|
||||
|
||||
```bash
|
||||
curl -sSL https://install.python-poetry.org | python3 -
|
||||
```
|
||||
|
||||
2. Configure Poetry:
|
||||
|
||||
```bash
|
||||
export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true
|
||||
```
|
||||
|
||||
3. Install Python dependencies:
|
||||
|
||||
```bash
|
||||
~/.local/bin/poetry install --sync --no-root
|
||||
```
|
||||
*A virtual environment named `.venv` is created, and all Python dependencies are installed into the new environment.*
|
||||
|
||||
### Launch Third-party Services
|
||||
|
||||
The following command launches the 'base' services (MinIO, Elasticsearch, Redis, and MySQL) using Docker Compose:
|
||||
|
||||
```bash
|
||||
docker compose -f docker/docker-compose-base.yml up -d
|
||||
```
|
||||
|
||||
### Update `host` and `port` Settings for Third-party Services
|
||||
|
||||
1. Add the following line to `/etc/hosts` to resolve all hosts specified in **docker/service_conf.yaml** to `127.0.0.1`:
|
||||
|
||||
```
|
||||
127.0.0.1 es01 mysql minio redis
|
||||
```
|
||||
|
||||
2. In **docker/service_conf.yaml**, update mysql port to `5455` and es port to `1200`, as specified in **docker/.env**.
|
||||
|
||||
### Launch the RAGFlow Backend Service
|
||||
|
||||
1. Comment out the `nginx` line in **docker/entrypoint.sh**.
|
||||
|
||||
```
|
||||
# /usr/sbin/nginx
|
||||
```
|
||||
|
||||
2. Activate the Python virtual environment:
|
||||
|
||||
```bash
|
||||
source .venv/bin/activate
|
||||
export PYTHONPATH=$(pwd)
|
||||
```
|
||||
|
||||
3. **Optional:** If you cannot access HuggingFace, set the HF_ENDPOINT environment variable to use a mirror site:
|
||||
|
||||
```bash
|
||||
export HF_ENDPOINT=https://hf-mirror.com
|
||||
```
|
||||
|
||||
4. Run the **entrypoint.sh** script to launch the backend service:
|
||||
|
||||
```
|
||||
bash docker/entrypoint.sh
|
||||
```
|
||||
|
||||
### Launch the RAGFlow frontend service
|
||||
|
||||
1. Navigate to the `web` directory and install the frontend dependencies:
|
||||
|
||||
```bash
|
||||
cd web
|
||||
npm install --force
|
||||
```
|
||||
|
||||
2. Update `proxy.target` in **.umirc.ts** to `http://127.0.0.1:9380`:
|
||||
|
||||
```bash
|
||||
vim .umirc.ts
|
||||
```
|
||||
|
||||
3. Start up the RAGFlow frontend service:
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
*The following message appears, showing the IP address and port number of your frontend service:*
|
||||
|
||||

|
||||
|
||||
### Access the RAGFlow service
|
||||
|
||||
In your web browser, enter `http://127.0.0.1:<PORT>/`, ensuring the port number matches that shown in the screenshot above.
|
||||
Reference in New Issue
Block a user