配置
通过 Docker 部署 RAGFlow 的配置。
指南
在系统配置方面,您需要管理以下文件:
- .env:包含 Docker 的重要环境变量。
- service_conf.yaml.template:配置后端服务。它指定 RAGFlow 的系统级配置,由其 API 服务器和任务执行器使用。容器启动时,将基于此模板文件生成
service_conf.yaml文件。此过程会替换模板中的任何环境变量,允许根据容器环境进行动态配置。 - docker-compose.yml:用于启动 RAGFlow 服务的 Docker Compose 文件。
要更新默认 HTTP 服务端口(80),请转到 docker-compose.yml 并将 80:80 更改为 <YOUR_SERVING_PORT>:80。
注意
上述配置的更新需要重启所有容器才能生效:
docker compose -f docker/docker-compose.yml up -d
Docker Compose
- docker-compose.yml
为 RAGFlow 及其依赖项设置环境。 - docker-compose-base.yml
为 RAGFlow 的依赖项设置环境:Elasticsearch/Infinity、MySQL、MinIO 和 Redis。
Docker 环境变量
.env 文件包含 Docker 的重要环境变量。
Elasticsearch
STACK_VERSION
Elasticsearch 的版本。默认为8.11.3ES_PORT
用于将 Elasticsearch 服务暴露给主机的端口,允许外部访问 Docker 容器内运行的服务。默认为1200。ELASTIC_PASSWORD
Elasticsearch 的密码。
Kibana
-
Kibana 是一个开源的数据可视化和管理平台,主要用于对 Elasticsearch 中存储的数据进行可视化探索和交互分析。
-
KIBANA_PORT
用于将 Kibana 服务暴露给主机的端口,允许外部访问 Docker 容器内运行的服务。默认为6601。 -
KIBANA_USER
Kibana 的用户名。默认为rag_flow。 -
KIBANA_PASSWORD
Kibana 的密码。默认为infini_rag_flow。
资源管理
MEM_LIMIT
特定 Docker 容器在运行时可以使用的最大内存量(以字节为单位)。默认为8073741824。
MySQL
MYSQL_PASSWORD
MySQL 的密码。MYSQL_PORT
用于将 MySQL 服务暴露给主机的端口,允许外部访问 Docker 容器内运行的 MySQL 数据库。默认为5455。
MinIO
RAGFlow 利用 MinIO 作为其对象存储解决方案,利用其 可扩展性来存储和管理所有上传的文件。
MINIO_CONSOLE_PORT
用于将 MinIO 控制台界面暴露给主机的端口,允许外部访问 Docker 容器内运行的基于 Web 的控制台。默认为9001MINIO_PORT
用于将 MinIO API 服务暴露给主机的端口,允许外部访问 Docker 容器内运行的 MinIO 对象存储服务。默认为9000。MINIO_USER
MinIO 的用户名。MINIO_PASSWORD
MinIO 的密码。
Redis
REDIS_PORT
用于将 Redis 服务暴露给主机的端口,允许外部访问 Docker 容器内运行的 Redis 服务。默认为6379。REDIS_PASSWORD
Redis 的密码。
RAGFlow
-
SVR_HTTP_PORT
用于将 RAGFlow 的 HTTP API 服务暴露给主机的端口,允许外部访问 Docker 容器内运行的服务。默认为9380。 -
RAGFLOW-IMAGE
Docker 镜像版本。可用版本:infiniflow/ragflow:v0.20.5-slim(默认):不包含嵌入模型的 RAGFlow Docker 镜像。infiniflow/ragflow:v0.20.5:包含嵌入模型的 RAGFlow Docker 镜像,包括:- 内置嵌入模型:
BAAI/bge-large-zh-v1.5maidalun1020/bce-embedding-base_v1
- 内置嵌入模型:
注意
如果您无法下载 RAGFlow Docker 镜像,请尝试以下镜像。
- 对于
nightly-slim版本:RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:nightly-slim或RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:nightly-slim。
- 对于
nightly版本:RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:nightly或RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:nightly。
时区
TIMEZONE
本地时区。默认为'Asia/Shanghai'。
Hugging Face 镜像站点
HF_ENDPOINT
huggingface.co 的镜像站点。默认禁用。如果您对主要 Hugging Face 域名的访问受限,可以取消注释此行。
MacOS
MACOS
macOS 的优化。默认禁用。如果您的操作系统是 macOS,可以取消注释此行。
用户注册
REGISTER_ENABLED1:(默认)启用用户注册。0:禁用用户注册。
服务配置
service_conf.yaml.template 指定 RAGFlow 的系统级配置,由其 API 服务器和任务执行器使用。
ragflow
host:Docker 容器内 API 服务器的 IP 地址。默认为0.0.0.0。port:Docker 容器内 API 服务器的服务端口。默认为9380。
mysql
name:MySQL 数据库名称。默认为rag_flow。user