You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

docker-compose.yml 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. name: ragflow
  2. include:
  3. - ./docker-compose-base.yml
  4. # 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.
  5. services:
  6. ragflow:
  7. depends_on:
  8. mysql:
  9. condition: service_healthy
  10. image: ${RAGFLOW_IMAGE}
  11. # Example configuration to set up an MCP server:
  12. # command:
  13. # - --enable-mcpserver
  14. # - --mcp-host=0.0.0.0
  15. # - --mcp-port=9382
  16. # - --mcp-base-url=http://127.0.0.1:9380
  17. # - --mcp-script-path=/ragflow/mcp/server/server.py
  18. # - --mcp-mode=self-host
  19. # - --mcp-host-api-key=ragflow-xxxxxxx
  20. container_name: ragflow-server
  21. ports:
  22. - ${SVR_HTTP_PORT}:9380
  23. - 80:80
  24. - 443:443
  25. - 5678:5678
  26. - 5679:5679
  27. - 9382:9382 # entry for MCP (host_port:docker_port). The docker_port must match the value you set for `mcp-port` above.
  28. volumes:
  29. - ./ragflow-logs:/ragflow/logs
  30. - ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf
  31. - ./nginx/proxy.conf:/etc/nginx/proxy.conf
  32. - ./nginx/nginx.conf:/etc/nginx/nginx.conf
  33. - ../history_data_agent:/ragflow/history_data_agent
  34. - ./service_conf.yaml.template:/ragflow/conf/service_conf.yaml.template
  35. - ./entrypoint.sh:/ragflow/entrypoint.sh
  36. env_file: .env
  37. environment:
  38. - TZ=${TIMEZONE}
  39. - HF_ENDPOINT=${HF_ENDPOINT}
  40. - MACOS=${MACOS}
  41. networks:
  42. - ragflow
  43. restart: on-failure
  44. # https://docs.docker.com/engine/daemon/prometheus/#create-a-prometheus-configuration
  45. # 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.
  46. extra_hosts:
  47. - "host.docker.internal:host-gateway"
  48. # executor:
  49. # depends_on:
  50. # mysql:
  51. # condition: service_healthy
  52. # image: ${RAGFLOW_IMAGE}
  53. # container_name: ragflow-executor
  54. # volumes:
  55. # - ./ragflow-logs:/ragflow/logs
  56. # - ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf
  57. # env_file: .env
  58. # environment:
  59. # - TZ=${TIMEZONE}
  60. # - HF_ENDPOINT=${HF_ENDPOINT}
  61. # - MACOS=${MACOS}
  62. # entrypoint: "/ragflow/entrypoint_task_executor.sh 1 3"
  63. # networks:
  64. # - ragflow
  65. # restart: on-failure
  66. # # https://docs.docker.com/engine/daemon/prometheus/#create-a-prometheus-configuration
  67. # # 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.
  68. # extra_hosts:
  69. # - "host.docker.internal:host-gateway"