mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-05 16:00:40 +08:00

### What problem does this PR solve? This PR fixes an issue with the MCP server configuration in RAGFlow's Docker deployment where: 1. Incorrect parameter naming (`--mcp--host-api-key` with double hyphens) caused server startup failures 2. Port binding conflicts occurred due to unexposed MCP ports in Docker 3. Inconsistent host addressing between `0.0.0.0` and `127.0.0.1` led to connectivity issues The changes ensure proper MCP server initialization and reliable inter-service communication. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) - [ ] New Feature (non-breaking change which adds functionality) - [ ] Documentation Update - [ ] Refactoring - [ ] Performance Improvement - [ ] Other (please describe): ### Key Changes 1. **Parameter Correction**: - Fixed `--mcp--host-api-key` → `--mcp-host-api-key`
70 lines
2.6 KiB
YAML
70 lines
2.6 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:
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
image: ${RAGFLOW_IMAGE}
|
|
# example to setup MCP server
|
|
# command:
|
|
# - --enable-mcpserver
|
|
# - --mcp-host=0.0.0.0
|
|
# - --mcp-port=9382
|
|
# - --mcp-base-url=http://127.0.0.1:9380
|
|
# - --mcp-script-path=/ragflow/mcp/server/server.py
|
|
# - --mcp-mode=self-host
|
|
# - --mcp-host-api-key="ragflow-xxxxxxx"
|
|
container_name: ragflow-server
|
|
ports:
|
|
- ${SVR_HTTP_PORT}:9380
|
|
- 80:80
|
|
- 443:443
|
|
- 5678:5678
|
|
- 5679:5679
|
|
- 9382:9382 # entry for MCP (host_port:docker_port). The docker_port should match with the value you set for `mcp-port` above
|
|
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
|
|
- ../history_data_agent:/ragflow/history_data_agent
|
|
- ./service_conf.yaml.template:/ragflow/conf/service_conf.yaml.template
|
|
|
|
env_file: .env
|
|
environment:
|
|
- TZ=${TIMEZONE}
|
|
- HF_ENDPOINT=${HF_ENDPOINT}
|
|
- MACOS=${MACOS}
|
|
networks:
|
|
- ragflow
|
|
restart: on-failure
|
|
# https://docs.docker.com/engine/daemon/prometheus/#create-a-prometheus-configuration
|
|
# If you're using Docker Desktop, the --add-host flag is optional. This flag makes sure that the host's internal IP gets exposed to the Prometheus container.
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
# executor:
|
|
# depends_on:
|
|
# mysql:
|
|
# condition: service_healthy
|
|
# image: ${RAGFLOW_IMAGE}
|
|
# container_name: ragflow-executor
|
|
# volumes:
|
|
# - ./ragflow-logs:/ragflow/logs
|
|
# - ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf
|
|
# env_file: .env
|
|
# environment:
|
|
# - TZ=${TIMEZONE}
|
|
# - HF_ENDPOINT=${HF_ENDPOINT}
|
|
# - MACOS=${MACOS}
|
|
# entrypoint: "/ragflow/entrypoint_task_executor.sh 1 3"
|
|
# networks:
|
|
# - ragflow
|
|
# restart: on-failure
|
|
# # https://docs.docker.com/engine/daemon/prometheus/#create-a-prometheus-configuration
|
|
# # If you're using Docker Desktop, the --add-host flag is optional. This flag makes sure that the host's internal IP gets exposed to the Prometheus container.
|
|
# extra_hosts:
|
|
# - "host.docker.internal:host-gateway"
|