Files
ragflow/docker/docker-compose.yml
2026-10-12 10:16:04 +08:00

59 lines
2.2 KiB
YAML

include:
- ./docker-compose-base.yml
# To ensure that the container processes the locally modified `service_conf.yaml.template` instead of the one included in its image, you need to mount the local `service_conf.yaml.template` to the container.
services:
ragflow-cpu:
depends_on:
mysql:
condition: service_healthy
required: false
profiles:
- cpu
image: ${RAGFLOW_IMAGE}
ulimits:
nofile:
soft: 65535
hard: 65535
nproc:
soft: 65535
hard: 65535
# MCP is served in-process by the API server (POST /mcp on the 9380 port).
# Example configuration to start Admin server:
command:
- --enable-adminserver
- --init-superuser
#- --init-model-provider-tables
ports:
- ${SVR_WEB_HTTP_PORT}:80
- ${SVR_WEB_HTTPS_PORT}:443
- ${SVR_HTTP_PORT}:9380
- ${ADMIN_SVR_HTTP_PORT}:9381
volumes:
- ./ragflow-logs:/ragflow/logs
# - ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf
# - ./nginx/proxy.conf:/etc/nginx/proxy.conf
# - ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./service_conf.yaml.template:/ragflow/conf/service_conf.yaml.template
- ./entrypoint.sh:/ragflow/entrypoint.sh
# - ${RAGFLOW_SSH_KNOWN_HOSTS:-${HOME}/.ssh/known_hosts}:${SSH_KNOWN_HOSTS:-/etc/ragflow/ssh_known_hosts}:ro
env_file: .env
# Route the Go services' cache/queue backend to the separate Kvrocks service.
# The Python services use the Valkey `redis` service, which the Go deployment
# disables (see the `redis` profile override above). KVROCKS_HOST/KVROCKS_PORT
# are the IN-NETWORK coordinates the Go process uses to reach `kvrocks:6379`; the
# host-published port is KVROCKS_PORT (see docker-compose-base.yml), which CI
# offsets per job and keeps distinct from REDIS_PORT.
environment:
- KVROCKS_HOST=kvrocks
- KVROCKS_PORT=6379
networks:
- ragflow
restart: unless-stopped
# https://docs.docker.com/engine/daemon/prometheus/#create-a-prometheus-configuration
# If you use Docker Desktop, the --add-host flag is optional. This flag ensures that the host's internal IP is exposed to the Prometheus container.
extra_hosts:
- "host.docker.internal:host-gateway"