mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-14 23:06:15 +08:00
Refactored Docker README (#3269)
### What problem does this PR solve? ### Type of change - [x] Documentation Update
This commit is contained in:
parent
48ab6d7a45
commit
7c0d28b62d
145
docker/README.md
145
docker/README.md
@ -1,32 +1,79 @@
|
||||
# README
|
||||
|
||||
<details open>
|
||||
<summary></b>📕 Table of Contents</b></summary>
|
||||
|
||||
- 🐳 [Docker Compose](#-docker-compose)
|
||||
- 🐬 [Docker environment variables](#-docker-environment-variables)
|
||||
- 🐋 [Service configuration](#-service-configuration)
|
||||
|
||||
## Docker environment variables
|
||||
</details>
|
||||
|
||||
Look into [.env](./.env), there're some important variables.
|
||||
## 🐳 Docker Compose
|
||||
|
||||
- **docker-compose.yml**
|
||||
- **docker-compose-base.yml**
|
||||
|
||||
## 🐬 Docker environment variables
|
||||
|
||||
The [.env](./.env) file contains important environment variables for Docker.
|
||||
|
||||
### Elasticsearch
|
||||
|
||||
- `STACK_VERSION`
|
||||
The Elasticsearch version. Defaults to `8.11.3`
|
||||
The version of Elasticsearch. Defaults to `8.11.3`
|
||||
- `ES_PORT`
|
||||
Port to expose Elasticsearch HTTP API to the host. Defaults to `1200`.
|
||||
The port used to expose the Elasticsearch service to the host machine, allowing external access to the service running **inside** the Docker container. Defaults to `1200`.
|
||||
- `ELASTIC_PASSWORD`
|
||||
The Elasticsearch password.
|
||||
The password for Elasticsearch. When updated, you must revise the `es.password` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
|
||||
### Kibana
|
||||
|
||||
- `KIBANA_PORT`
|
||||
The port used to expose the Kibana service to the host machine. Defaults to `6601`.
|
||||
- `KIBANA_USER`
|
||||
The username for Kibana. Defaults to `rag_flow`.
|
||||
- `KIBANA_PASSWORD`
|
||||
The password for Kibana. Defaults to `infini_rag_flow`.
|
||||
|
||||
### Resource management
|
||||
|
||||
- `MEM_LIMIT`
|
||||
The maximum amount of the memory that *a specific* Docker container can use while running. Defaults to `8073741824`.
|
||||
|
||||
### MySQL
|
||||
|
||||
- `MYSQL_PASSWORD`
|
||||
The MySQL password. When updated, you must also revise the `mysql.password` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
The password for MySQL. When updated, you must revise the `mysql.password` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
- `MYSQL_PORT`
|
||||
The exported port number of MySQL Docker container, needed when you access the database from outside the Docker container.
|
||||
The port used to expose the MySQL service to the host machine, allowing external access to the MySQL database running **inside** the Docker container. Defaults to `5455`.
|
||||
|
||||
### MinIO
|
||||
|
||||
- `MINIO_CONSOLE_PORT`
|
||||
The port used to expose the MinIO console interface to the host machine, allowing external access to the web-based console running **inside** the Docker container. Defaults to `9001`
|
||||
- `MINIO_PORT`
|
||||
The port used to expose the MinIO API service to the host machine, allowing external access to the MinIO object storage service running **inside** the Docker container. Defaults to `9000`.
|
||||
- `MINIO_USER`
|
||||
The MinIO username. When updated, you must also revise the `minio.user` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
The username for MinIO. When updated, you must revise the `minio.user` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
- `MINIO_PASSWORD`
|
||||
The MinIO password. When updated, you must also revise the `minio.password` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
The password for MinIO. When updated, you must revise the `minio.password` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
|
||||
### Redis
|
||||
|
||||
- `REDIS_PORT`
|
||||
The port used to expose the Redis service to the host machine, allowing external access to the Redis service running **inside** the Docker container. Defaults to `6379`.
|
||||
- `REDIS_PASSWORD`
|
||||
The password for Redis. When updated, you must revise the `redis.password` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
|
||||
|
||||
### RAGFlow
|
||||
|
||||
- `SVR_HTTP_PORT`
|
||||
The port number on which RAGFlow's backend API server listens.
|
||||
- `TIMEZONE`
|
||||
The local time zone.
|
||||
The port used to expose RAGFlow's HTTP API service to the host machine, allowing external access to the service running **inside** the Docker container. Defaults to `9380`.
|
||||
- `RAGFLOW-IMAGE`
|
||||
The Docker image edition. Available options:
|
||||
- `infiniflow/ragflow:dev-slim` (default): The RAGFlow Docker image without embedding models
|
||||
The Docker image edition. Available editions:
|
||||
|
||||
- `infiniflow/ragflow:dev-slim` (default): The RAGFlow Docker image without embedding models.
|
||||
- `infiniflow/ragflow:dev`: The RAGFlow Docker image with embedding models including:
|
||||
- Embedded embedding models:
|
||||
- `BAAI/bge-large-zh-v1.5`
|
||||
@ -42,41 +89,57 @@ Look into [.env](./.env), there're some important variables.
|
||||
- `jinaai/jina-embeddings-v2-small-en`
|
||||
- `nomic-ai/nomic-embed-text-v1.5`
|
||||
- `sentence-transformers/all-MiniLM-L6-v2`
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> If you cannot download the RAGFlow Docker image, try the following mirrors.
|
||||
> - For `dev-slim`:
|
||||
> - `RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:dev-slim` or,
|
||||
> - `RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:dev-slim`.
|
||||
> - For `dev`:
|
||||
> - `RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:dev` or,
|
||||
> - `RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:dev`.
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
## Service Configuration
|
||||
- `TIMEZONE`
|
||||
The local time zone. Defaults to `'Asia/Shanghai'`.
|
||||
|
||||
[service_conf.yaml](./service_conf.yaml) defines the system-level configuration for RAGFlow and is used by its API server and task executor.
|
||||
## 🐋 Service configuration
|
||||
|
||||
[service_conf.yaml](./service_conf.yaml) specifies the system-level configuration for RAGFlow and is used by its API server and task executor.
|
||||
|
||||
- `ragflow`
|
||||
|
||||
- `host`: The IP address of the API server.
|
||||
- `port`: The serving port of API server.
|
||||
|
||||
- `host`: The API server's IP address **inside** the Docker container. Defaults to `0.0.0.0`.
|
||||
- `port`: The API server's serving port **inside** the Docker container. Defaults to `9380`.
|
||||
|
||||
- `mysql`
|
||||
|
||||
- `name`: The database name in MySQL used by RAGFlow. Defaults to `rag_flow`.
|
||||
- `user`: The MySQL user name.
|
||||
- `password`: The MySQL password. When updated, you must also revise the `MYSQL_PASSWORD` variable in [.env](./.env) accordingly.
|
||||
- `port`: The serving port of MySQL inside the Docker container. When updated, you must also revise the `MYSQL_PORT` variable in [.env](./.env) accordingly.
|
||||
- `max_connections`: The maximum database connection.
|
||||
- `name`: The MySQL database name. Defaults to `rag_flow`.
|
||||
- `user`: The username for MySQL.
|
||||
- `password`: The password for MySQL. When updated, you must revise the `MYSQL_PASSWORD` variable in [.env](./.env) accordingly.
|
||||
- `port`: The MySQL serving port **inside** the Docker container. Defaults to `3306`.
|
||||
- `max_connections`: The maximum number of concurrent connections to the MySQL database. Defaults to `100`.
|
||||
- `stale_timeout`: Timeout in seconds.
|
||||
|
||||
|
||||
- `minio`
|
||||
|
||||
- `user`: The MinIO username. When updated, you must also revise the `MINIO_USER` variable in [.env](./.env) accordingly.
|
||||
- `password`: The MinIO password. When updated, you must also revise the `MINIO_PASSWORD` variable in [.env](./.env) accordingly.
|
||||
- `host`: The serving IP and port inside the docker container. This is not updated until changing the minio part in [docker-compose.yml](./docker-compose.yml)
|
||||
|
||||
- `user_default_llm`
|
||||
|
||||
The default LLM to use for a new RAGFlow user. It is disabled by default. If you have not set it here, you can configure the default LLM on the **Settings** page in the RAGFlow UI. Newly signed-up users use LLM configured by this part; otherwise, you need to configure your own LLM on the *Settings* page.
|
||||
|
||||
- `factory`: The LLM suppliers. "OpenAI", "Tongyi-Qianwen", "ZHIPU-AI", "Moonshot", "DeepSeek", "Baichuan", and "VolcEngine" are supported.
|
||||
- `api_key`: The API key for the specified LLM.
|
||||
|
||||
- `user`: The username for MinIO. When updated, you must revise the `MINIO_USER` variable in [.env](./.env) accordingly.
|
||||
- `password`: The password for MinIO. When updated, you must revise the `MINIO_PASSWORD` variable in [.env](./.env) accordingly.
|
||||
- `host`: The MinIO serving IP *and* port **inside** the Docker container. Defaults to `minio:9000`.
|
||||
|
||||
- `user_default_llm`
|
||||
The default LLM to use for a new RAGFlow user. It is disabled by default. To enable this feature, uncomment the corresponding lines in **service_conf.yaml**.
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> If you do not set the default LLM here, configure the default LLM on the **Settings** page in the RAGFlow UI.
|
||||
- `factory`: The LLM supplier. Available options:
|
||||
- `"OpenAI"`
|
||||
- `"DeepSeek"`
|
||||
- `"Moonshot"`
|
||||
- `"Tongyi-Qianwen"`
|
||||
- `"VolcEngine"`
|
||||
- `"ZHIPU-AI"`
|
||||
- `api_key`: The API key for the specified LLM. You will need to apply for your model API key online.
|
||||
- `oauth`
|
||||
The OAuth configuration for signing up or signing in to RAGFlow using a third-party account. It is disabled by default. To enable this feature, uncomment the corresponding lines in **service_conf.yaml**.
|
||||
|
||||
- `github`: The GitHub authentication settings for your application. Visit the [Github Developer Settings page](https://github.com/settings/developers) to obtain your client_id and secret_key.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user