[!CAUTION] We do not actively maintain docker-compose-CN-oc9.yml, docker-compose-gpu-CN-oc9.yml, or docker-compose-gpu.yml, so use them at your own risk. However, you are welcome to file a pull request to improve any of them.
The .env file contains important environment variables for Docker.
STACK_VERSION8.11.3ES_PORT1200.ELASTIC_PASSWORDKIBANA_PORT6601.KIBANA_USERrag_flow.KIBANA_PASSWORDinfini_rag_flow.MEM_LIMIT8073741824.MYSQL_PASSWORDMYSQL_PORT5455.MINIO_CONSOLE_PORT9001MINIO_PORT9000.MINIO_USERMINIO_PASSWORDREDIS_PORT6379.REDIS_PASSWORDSVR_HTTP_PORT9380.RAGFLOW-IMAGE
The Docker image edition. Available editions:
infiniflow/ragflow:v0.19.0-slim (default): The RAGFlow Docker image without embedding models.infiniflow/ragflow:v0.19.0: The RAGFlow Docker image with embedding models including:BAAI/bge-large-zh-v1.5maidalun1020/bce-embedding-base_v1
[!TIP]
If you cannot download the RAGFlow Docker image, try the following mirrors.
- For the
nightly-slimedition:
RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:nightly-slimor,
RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:nightly-slim.- For the
nightlyedition:
RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:nightlyor,
RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:nightly.
TIMEZONE'Asia/Shanghai'.HF_ENDPOINTMACOSMAX_CONTENT_LENGTHclient_max_body_size in nginx/nginx.conf correspondingly.service_conf.yaml specifies the system-level configuration for RAGFlow and is used by its API server and task executor. In a dockerized setup, this file is automatically created based on the service_conf.yaml.template file (replacing all environment variables by their values).
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.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.password: The password for MinIO.host: The MinIO serving IP and port inside the Docker container. Defaults to minio:9000.oss
access_key: The access key ID used to authenticate requests to the OSS service.secret_key: The secret access key used to authenticate requests to the OSS service.endpoint_url: The URL of the OSS service endpoint.region: The OSS region where the bucket is located.bucket: The name of the OSS bucket where files will be stored. When you want to store all files in a specified bucket, you need this configuration item.prefix_path: Optional. A prefix path to prepend to file names in the OSS bucket, which can help organize files within the bucket.s3:
access_key: The access key ID used to authenticate requests to the S3 service.secret_key: The secret access key used to authenticate requests to the S3 service.endpoint_url: The URL of the S3-compatible service endpoint. This is necessary when using an S3-compatible protocol instead of the default AWS S3 endpoint.bucket: The name of the S3 bucket where files will be stored. When you want to store all files in a specified bucket, you need this configuration item.region: The AWS region where the S3 bucket is located. This is important for directing requests to the correct data center.signature_version: Optional. The version of the signature to use for authenticating requests. Common versions include v4.addressing_style: Optional. The style of addressing to use for the S3 endpoint. This can be path or virtual.prefix_path: Optional. A prefix path to prepend to file names in the S3 bucket, which can help organize files within the bucket.oauth
The OAuth configuration for signing up or signing in to RAGFlow using a third-party account.
<channel>: Custom channel ID.type: Authentication type, options include oauth2, oidc, github. Default is oauth2, when issuer parameter is provided, defaults to oidc.icon: Icon ID, options include github, sso, default is sso.display_name: Channel name, defaults to the Title Case format of the channel ID.client_id: Required, unique identifier assigned to the client application.client_secret: Required, secret key for the client application, used for communication with the authentication server.authorization_url: Base URL for obtaining user authorization.token_url: URL for exchanging authorization code and obtaining access token.userinfo_url: URL for obtaining user information (username, email, etc.).issuer: Base URL of the identity provider. OIDC clients can dynamically obtain the identity provider’s metadata (authorization_url, token_url, userinfo_url) through issuer.scope: Requested permission scope, a space-separated string. For example, openid profile email.redirect_uri: Required, URI to which the authorization server redirects during the authentication flow to return results. Must match the callback URI registered with the authentication server. Format: https://your-app.com/v1/user/oauth/callback/<channel>. For local configuration, you can directly use http://127.0.0.1:80/v1/user/oauth/callback/<channel>.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.template.
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.