Ctrl K
ComunidadGuías…

docker/service_conf.yaml.template

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
general:
  heartbeat_interval: 3s
api:
  host: ${RAGFLOW_HOST:-0.0.0.0}
  http_port: 9380
  # Proxies whose X-Forwarded-For / X-Real-IP headers the Go API server trusts
  # when resolving the client address (agent webhook ip_whitelist, login audit).
  # Defaults to loopback, i.e. the nginx bundled in this image. An explicit list
  # replaces that default, so keep the loopback entries when adding the address
  # or CIDR of a further proxy in front of nginx; an empty list trusts none.
  # trusted_proxies: ['127.0.0.0/8', '::1/128']

# Optional standalone MCP listener for the Go API server. Uncomment to enable.
# RAGFLOW_MCP_* environment variables override these settings.
# mcp:
#   enabled: true
#   host: 0.0.0.0 # Publish port 9382 in Compose to reach this container.
#   port: 9382
#   launch_mode: host # Each client supplies its own RAGFlow API key.
#   # self-host gives every client the same identity; use only on trusted networks.
#   # Set host_api_key below or, preferably, RAGFLOW_MCP_HOST_API_KEY.
#   host_api_key: ''
#   transport_sse_enabled: true # /sse and /messages/
#   transport_streamable_enabled: true # /mcp
#   json_response: true # false streams Streamable HTTP responses.

admin:
  host: ${RAGFLOW_HOST:-0.0.0.0}
  http_port: 9381
mysql:
  name: '${MYSQL_DBNAME:-rag_flow}'
  user: '${MYSQL_USER:-root}'
  password: '${MYSQL_PASSWORD:-infini_rag_flow}'
  host: '${MYSQL_HOST:-mysql}'
  port: ${MYSQL_PORT:-3306}
  max_connections: 900
  stale_timeout: 300
  max_allowed_packet: ${MYSQL_MAX_PACKET:-1073741824}
minio:
  user: '${MINIO_USER:-rag_flow}'
  password: '${MINIO_PASSWORD:-infini_rag_flow}'
  host: '${MINIO_HOST:-minio}:9000'
  bucket: '${MINIO_BUCKET:-}'
  prefix_path: '${MINIO_PREFIX_PATH:-}'
  # optional: set to true for HTTPS (SSL/TLS). Used by MinIO client and health check.
  # secure: ${MINIO_SECURE:-false}
  # optional: set to false to allow self-signed certificates (e.g. in development).
  # verify: ${MINIO_VERIFY:-true}
es:
  hosts: 'http://${ES_HOST:-es01}:9200'
  username: '${ES_USER:-elastic}'
  password: '${ELASTIC_PASSWORD:-infini_rag_flow}'
os:
  hosts: 'http://${OS_HOST:-opensearch39}:9201'
  username: '${OS_USER:-admin}'
  password: '${OPENSEARCH_PASSWORD:-infini_rag_flow_OS_01}'
  # Optional: skip TLS certificate verification for a self-signed development
  # cluster. Leave it off (the default) for any HTTPS deployment.
  # insecure_skip_verify: false
  # Optional hybrid (BM25 + KNN) search tuning. The connector self-provisions the
  # normalization search pipeline on start-up (requires OpenSearch >= 2.10).
  # hybrid_search_pipeline: 'ragflow_hybrid_pipeline'
  # hybrid_search_weights: [0.5, 0.5]   # [text/BM25 leg, vector/KNN leg]
infinity:
  uri: '${INFINITY_HOST:-infinity}:23817'
  postgres_port: 5432
  db_name: 'default_db'
serenedb:
  host: '${SERENEDB_HOST:-serenedb}'
  port: 7890
  user: '${SERENEDB_USER:-postgres}'
  password: '${SERENEDB_PASSWORD:-infini_rag_flow}'
  db_name: '${SERENEDB_DBNAME:-postgres}'
oceanbase:
  scheme: 'oceanbase' # set 'mysql' to create connection using mysql config
  config:
    db_name: '${OCEANBASE_DOC_DBNAME:-test}'
    user: '${OCEANBASE_USER:-root@ragflow}'
    password: '${OCEANBASE_PASSWORD:-infini_rag_flow}'
    host: '${OCEANBASE_HOST:-oceanbase}'
    port: ${OCEANBASE_PORT:-2881}
gaussdb:
  host: '${GAUSSDB_HOST}'
  port: ${GAUSSDB_PORT}
  database: '${GAUSSDB_DATABASE:-postgres}'
  user: '${GAUSSDB_USER}'
  password: '${GAUSSDB_PASSWORD}'
  schema: '${GAUSSDB_SCHEMA:-public}'
seekdb:
  scheme: 'oceanbase' # SeekDB is the lite version of OceanBase
  config:
    db_name: '${SEEKDB_DOC_DBNAME:-ragflow_doc}'
    user: '${SEEKDB_USER:-root}'
    password: '${SEEKDB_PASSWORD:-infini_rag_flow}'
    host: '${SEEKDB_HOST:-seekdb}'
    port: ${SEEKDB_PORT:-2881}
vastbase:
  host: '${VB_HOST:-vastbase}'
  port: ${VB_PORT:-5432}
  user: '${VB_USERNAME:-ragflow}'
  password: '${VB_PASSWORD:-Infini_Rag@123}'
  db_name: '${VB_VEC_DBNAME:-ragflow}'
  # Metadata database, read only when DB_TYPE=vastbase; host/port/user/
  # password/ssl_mode above are shared with the doc engine.
  name: '${VB_META_DBNAME:-rag_flow}'
  max_connections: 50
  stale_timeout: 300
  dbcompatibility: '${VB_DBCOMPATIBILITY:-B}'
  # No disable fallback: an empty ssl_mode reaches the engine's host policy
  # (disable on loopback, verify-full otherwise). docker/.env sets disable
  # explicitly for the bundled private-network deployment.
  ssl_mode: '${VB_SSL_MODE:-}'
kvrocks:
  db: 1
  username: '${KVROCKS_USERNAME:-}'
  password: '${REDIS_PASSWORD:-infini_rag_flow}'
  host: '${KVROCKS_HOST:-kvrocks}:${KVROCKS_PORT:-6379}'
nats:
  host: ${NATS_HOST:-0.0.0.0}
  port: ${NATS_PORT:-4222}
clickhouse:
  host: '${CLICKHOUSE_HOST:-clickhouse}'
  port: ${CLICKHOUSE_TCP_PORT:-9000}
  user: '${CLICKHOUSE_USER:-ragflow}'
  password: '${CLICKHOUSE_PASSWORD:-infini_rag_flow}'
  database: '${CLICKHOUSE_DATABASE:-ragflow}'
otel:
  host: ${OTEL_HOST:-0.0.0.0}
  port: ${OTEL_PORT:-4318}
  secure: false
  sample_ratio: 1.0
  stdout: false
  enable: false
ingestor:
  mq_type: 'nats'
  # NATS consumer worker count (K). How many ingestion tasks run in parallel.
  # Override with the env var RAGFLOW_INGESTOR_CONCURRENT_WORKERS, or the
  # CLI flag --ingestor-concurrent-workers (highest precedence).
  # Valid range [1, 256]. Default 1.
  concurrent_workers: 1
  # Process-wide page concurrency (N). Total PDF pages parsed concurrently across
  # the whole process (shared by all ingestor workers). Override with the env var
  # RAGFLOW_INGESTOR_PAGE_CONCURRENCY, or the CLI flag --ingestor-page-concurrency
  # (highest precedence). Valid range [1, 16]. Default 2.
  page_concurrency: 2
  compiler_pool_size: 0
  # log:
    # type: file              # file | database
    # format: json            # text | json (reserved; text only today)
    # path: ingest_log.log    # empty/missing = binary default (server_main.log / admin_server.log / ingestion_server.log)
    # max_size: 100           # MB before rotation
    # max_backups: 10         # retained rotated files
    # max_age: 30             # days
file_syncer:
  max_concurrent_syncs: 5
user_default_llm:
  default_models:
    embedding_model:
      api_key: 'xxx'
      base_url: 'http://${TEI_HOST}:80'
# postgres:
#   name: '${POSTGRES_DBNAME:-rag_flow}'
#   user: '${POSTGRES_USER:-rag_flow}'
#   password: '${POSTGRES_PASSWORD:-infini_rag_flow}'
#   host: '${POSTGRES_HOST:-postgres}'
#   port: 5432
#   max_connections: 100
#   stale_timeout: 30
# GaussDB metadata DB is configured through GAUSSDB_METADATA_* environment
# variables and is intentionally not rendered into service_conf.yaml.
# s3:
#   access_key: 'access_key'
#   secret_key: 'secret_key'
#   region: 'region'
#   endpoint_url: 'endpoint_url'
#   bucket: 'bucket'
#   prefix_path: 'prefix_path'
#   signature_version: 'v4'
#   addressing_style: 'path'
# oss:
#   access_key: '${ACCESS_KEY}'
#   secret_key: '${SECRET_KEY}'
#   endpoint_url: '${ENDPOINT}'
#   region: '${REGION}'
#   bucket: '${BUCKET}'
#   prefix_path: '${OSS_PREFIX_PATH}'
#   signature_version: 's3'
#   addressing_style: 'virtual'
# azure:
#   auth_type: 'sas'
#   container_url: 'container_url'
#   sas_token: 'sas_token'
# azure:
#   auth_type: 'spn'
#   account_url: 'account_url'
#   client_id: 'client_id'
#   secret: 'secret'
#   tenant_id: 'tenant_id'
#   container_name: 'container_name'
#   cloud: 'public'  # Azure cloud: 'public', 'china', 'government', or 'germany'
# gcs:
#   bucket: '${GCS_BUCKET:-ragflow}'
#   prefix_path: '${GCS_PREFIX_PATH:-}'
#   endpoint_url: '${GCS_ENDPOINT:-}'
# The OSS object storage uses the MySQL configuration above by default. If you need to switch to another object storage service, please uncomment and configure the following parameters.
# opendal:
#   scheme: 'mysql'  # Storage type, such as s3, oss, azure, etc.
#   config:
#     oss_table: 'opendal_storage'
# user_default_llm:
#   factory: 'BAAI'
#   api_key: 'backup'
#   base_url: 'backup_base_url'
#   default_models:
#     chat_model:
#       name: 'qwen2.5-7b-instruct'
#       factory: 'xxxx'
#       api_key: 'xxxx'
#       base_url: 'https://api.xx.com'
#     embedding_model:
#       name: 'bge-m3'
#     rerank_model: 'bge-reranker-v2'
#     asr_model:
#       model: 'whisper-large-v3' # alias of name
#     image2text_model: ''
# authentication:
#  client:
#    switch: false
#    http_app_key:
#    http_secret_key:
#  site:
#    switch: false
#  disable_password_login: false
# permission:
#   switch: false
#   component: false
#   dataset: false
# smtp:
#   mail_server: ""
#   mail_port: 465
#   mail_use_ssl: true
#   mail_use_tls: false
#   mail_username: ""
#   mail_password: ""
#   mail_default_sender:
#     - "RAGFlow" # display name
#     - "" # sender email address
#   mail_frontend_url: "https://your-frontend.example.com"
# tcadp_config:
#   secret_id: '${TENCENT_SECRET_ID}'
#   secret_key: '${TENCENT_SECRET_KEY}'
#   region: '${TENCENT_REGION}'
# log:
#   level: info              # debug | info | warn | error
#   format: text             # text | json (reserved; text only today)
#   path: server_main.log    # empty/missing = binary default (server_main.log / admin_server.log / ingestion_server.log)
#   max_size: 100            # MB before rotation
#   max_backups: 10          # retained rotated files
#   max_age: 30              # days
#   compress: true           # gzip rotated files; default true. Set false to disable.
# audit:
#  type: file              # file | database
#  format: json            # text | json (reserved; text only today)
#  path: audit_log.log     # empty/missing = binary default (server_main.log / admin_server.log / ingestion_server.log)
#  max_size: 100          # MB before rotation
#  max_backups: 10         # retained rotated files
#  max_age: 30             # days