mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-03-20 06:07:41 +08:00
### What problem does this PR solve? 1. Change go admin server port from 9385 to 9383 to avoid conflicts 2. Start go server after python servers are started completely, in entrypoint.sh 3. Fix some database migration issue 4. Add more API routes in web to compliant with EE. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) Signed-off-by: Jin Hai <haijin.chn@gmail.com>
135 lines
5.5 KiB
YAML
135 lines
5.5 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
|
|
profiles:
|
|
- cpu
|
|
image: ${RAGFLOW_IMAGE}
|
|
# Example configuration to set up an 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-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
# Optional transport flags for MCP (customize if needed).
|
|
# Host mode need to combined with --no-transport-streamable-http-enabled flag, namely, host+streamable-http is not supported yet.
|
|
# The following are enabled by default unless explicitly disabled with --no-<flag>.
|
|
# - --no-transport-sse-enabled # Disable legacy SSE endpoints (/sse and /messages/)
|
|
# - --no-transport-streamable-http-enabled # Disable Streamable HTTP transport (/mcp endpoint)
|
|
# - --no-json-response # Disable JSON response mode in Streamable HTTP transport (instead of SSE over HTTP)
|
|
|
|
# Example configuration to start Admin server:
|
|
command:
|
|
- --enable-adminserver
|
|
ports:
|
|
- ${SVR_WEB_HTTP_PORT}:80
|
|
- ${SVR_WEB_HTTPS_PORT}:443
|
|
- ${SVR_HTTP_PORT}:9380
|
|
- ${ADMIN_SVR_HTTP_PORT}:9381
|
|
- ${SVR_MCP_PORT}:9382 # entry for MCP (host_port:docker_port). The docker_port must match the value you set for `mcp-port` above.
|
|
- ${GO_HTTP_PORT}:9384
|
|
- ${GO_ADMIN_PORT}:9383
|
|
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
|
|
env_file: .env
|
|
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"
|
|
|
|
ragflow-gpu:
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
profiles:
|
|
- gpu
|
|
image: ${RAGFLOW_IMAGE}
|
|
# Example configuration to set up an 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-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
# Optional transport flags for MCP (customize if needed).
|
|
# Host mode need to combined with --no-transport-streamable-http-enabled flag, namely, host+streamable-http is not supported yet.
|
|
# The following are enabled by default unless explicitly disabled with --no-<flag>.
|
|
# - --no-transport-sse-enabled # Disable legacy SSE endpoints (/sse and /messages/)
|
|
# - --no-transport-streamable-http-enabled # Disable Streamable HTTP transport (/mcp endpoint)
|
|
# - --no-json-response # Disable JSON response mode in Streamable HTTP transport (instead of SSE over HTTP)
|
|
|
|
# Example configuration to start Admin server:
|
|
command:
|
|
- --enable-adminserver
|
|
ports:
|
|
- ${SVR_WEB_HTTP_PORT}:80
|
|
- ${SVR_WEB_HTTPS_PORT}:443
|
|
- ${SVR_HTTP_PORT}:9380
|
|
- ${ADMIN_SVR_HTTP_PORT}:9381
|
|
- ${SVR_MCP_PORT}:9382 # entry for MCP (host_port:docker_port). The docker_port must match 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
|
|
- ./service_conf.yaml.template:/ragflow/conf/service_conf.yaml.template
|
|
- ./entrypoint.sh:/ragflow/entrypoint.sh
|
|
env_file: .env
|
|
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"
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities: [gpu]
|
|
|
|
|
|
# executor:
|
|
# depends_on:
|
|
# mysql:
|
|
# condition: service_healthy
|
|
# image: ${RAGFLOW_IMAGE}
|
|
# volumes:
|
|
# - ./ragflow-logs:/ragflow/logs
|
|
# - ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf
|
|
# env_file: .env
|
|
# entrypoint: "/ragflow/entrypoint_task_executor.sh 1 3"
|
|
# networks:
|
|
# - ragflow
|
|
# restart: unless-stopped
|
|
# # 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"
|
|
# deploy:
|
|
# resources:
|
|
# reservations:
|
|
# devices:
|
|
# - driver: nvidia
|
|
# count: all
|
|
# capabilities: [gpu]
|