mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? 0.18.0 mcp server can not start with upgrade from 0.17.2 or new install except rebuild all docker Close #7321 mcp server can not start auto from docker : 2025-04-25 17:30:44,512 INFO 25 task_executor_2a9f3e2de99a_0 reported heartbeat: {"name": "task_executor_2a9f3e2de99a_0", "now": "2025-04-25T17:30:44.509+08:00", "boot_at": "2025-04-25T16:43:33.038+08:00", "pending": 0, "lag": 0, "done": 0, "failed": 0, "current": {}} usage: server.py [-h] [--base_url BASE_URL] [--host HOST] [--port PORT] [--mode MODE] [--api_key API_KEY] server.py: error: unrecognized arguments: problem: server.py in docker start arguments not correct , so mcp server start fail reason: ``` 1. docker-copose.yaml example - --mcp-host-api-key="ragflow-12345678" is wrong. do not add "" to key or it says:"api-key wrong" 2.docker file entrypoint.sh can not translate config to exec command , we need mapping file from host to docker - ./entrypoint.sh:/ragflow/entrypoint.sh 3.just add one code raw fix all probelm ``` ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) - [x] Documentation Update - [x] Performance Improvement --------- Co-authored-by: Yongteng Lei <yongtengrey@outlook.com> Co-authored-by: Kevin Hu <kevinhu.sh@gmail.com>
71 lines
2.6 KiB
YAML
71 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
|
|
- ./entrypoint.sh:/ragflow/entrypoint.sh
|
|
|
|
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"
|