File size: 6,723 Bytes
995e253 aeb6dbc 5fb0114 d102a8b aeb6dbc 5fb0114 aeb6dbc 5fb0114 aeb6dbc 5fb0114 aeb6dbc 995e253 5fb0114 995e253 5fb0114 995e253 5fb0114 d102a8b 5fb0114 d102a8b 5fb0114 995e253 5fb0114 995e253 5fb0114 995e253 5fb0114 995e253 5fb0114 995e253 5fb0114 995e253 5fb0114 5bc7f36 5fb0114 d102a8b 5fb0114 aeb6dbc 5fb0114 aeb6dbc 5fb0114 aeb6dbc 5fb0114 aeb6dbc 995e253 5fb0114 995e253 5fb0114 5bc7f36 5fb0114 995e253 5fb0114 d102a8b 5fb0114 d102a8b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# README
<details open>
<summary></b>π Table of Contents</b></summary>
- π³ [Docker Compose](#-docker-compose)
- π¬ [Docker environment variables](#-docker-environment-variables)
- π [Service configuration](#-service-configuration)
</details>
## π³ 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 version of Elasticsearch. Defaults to `8.11.3`
- `ES_PORT`
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 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, allowing external access to the service running **inside** the Docker container. 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, in bytes, that *a specific* Docker container can use while running. Defaults to `8073741824`.
### MySQL
- `MYSQL_PASSWORD`
The password for MySQL. When updated, you must revise the `mysql.password` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
- `MYSQL_PORT`
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 username for MinIO. When updated, you must revise the `minio.user` entry in [service_conf.yaml](./service_conf.yaml) accordingly.
- `MINIO_PASSWORD`
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 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 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`
- `BAAI/bge-reranker-v2-m3`
- `maidalun1020/bce-embedding-base_v1`
- `maidalun1020/bce-reranker-base_v1`
- Embedding models that will be downloaded once you select them in the RAGFlow UI:
- `BAAI/bge-base-en-v1.5`
- `BAAI/bge-large-en-v1.5`
- `BAAI/bge-small-en-v1.5`
- `BAAI/bge-small-zh-v1.5`
- `jinaai/jina-embeddings-v2-base-en`
- `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
- `TIMEZONE`
The local time zone. Defaults to `'Asia/Shanghai'`.
## π 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 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 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 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`.
- `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.
- `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**.
- `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.
> [!TIP]
> If you do not set the default LLM here, configure the default LLM on the **Settings** page in the RAGFlow UI.
|