sidebar_position: 1
slug: /configurations

Configuration

Configurations for deploying RAGFlow via Docker.

Guidelines

When it comes to system configurations, you will need to manage the following files:

To update the default HTTP serving port (80), go to docker-compose.yml and change 80:80
to <YOUR_SERVING_PORT>:80.

:::tip NOTE
Updates to the above configurations require a reboot of all containers to take effect:

docker compose -f docker/docker-compose.yml up -d

:::

Docker Compose

:::danger IMPORTANT
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.
:::

Docker environment variables

The .env file contains important environment variables for Docker.

Elasticsearch

Kibana

Resource management

MySQL

MinIO

RAGFlow utilizes MinIO as its object storage solution, leveraging its scalability to store and manage all uploaded files.

Redis

RAGFlow

:::tip NOTE
If you cannot download the RAGFlow Docker image, try the following mirrors.

Timezone

Hugging Face mirror site

MacOS

User registration

Service configuration

service_conf.yaml.template specifies the system-level configuration for RAGFlow and is used by its API server and task executor.

ragflow

mysql

minio

oauth

The OAuth configuration for signing up or signing in to RAGFlow using a third-party account.

:::tip NOTE
The following are best practices for configuring various third-party authentication methods. You can configure one or multiple third-party authentication methods for Ragflow:

oauth:
  oauth2:
    display_name: "OAuth2"
    client_id: "your_client_id"
    client_secret: "your_client_secret"
    authorization_url: "https://your-oauth-provider.com/oauth/authorize"
    token_url: "https://your-oauth-provider.com/oauth/token"
    userinfo_url: "https://your-oauth-provider.com/oauth/userinfo"
    redirect_uri: "https://your-app.com/v1/user/oauth/callback/oauth2"

  oidc:
    display_name: "OIDC"
    client_id: "your_client_id"
    client_secret: "your_client_secret"
    issuer: "https://your-oauth-provider.com/oidc"
    scope: "openid email profile"
    redirect_uri: "https://your-app.com/v1/user/oauth/callback/oidc"

  github:
    # https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app
    type: "github"
    icon: "github"
    display_name: "Github"
    client_id: "your_client_id"
    client_secret: "your_client_secret"
    redirect_uri: "https://your-app.com/v1/user/oauth/callback/github"

:::

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.

:::tip NOTE
If you do not set the default LLM here, configure the default LLM on the Settings page in the RAGFlow UI.
:::