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-base.yml 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. services:
  2. es01:
  3. container_name: ragflow-es-01
  4. image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION}
  5. volumes:
  6. - esdata01:/usr/share/elasticsearch/data
  7. ports:
  8. - ${ES_PORT}:9200
  9. env_file: .env
  10. environment:
  11. - node.name=es01
  12. - ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
  13. - bootstrap.memory_lock=false
  14. - discovery.type=single-node
  15. - xpack.security.enabled=true
  16. - xpack.security.http.ssl.enabled=false
  17. - xpack.security.transport.ssl.enabled=false
  18. - TZ=${TIMEZONE}
  19. mem_limit: ${MEM_LIMIT}
  20. ulimits:
  21. memlock:
  22. soft: -1
  23. hard: -1
  24. healthcheck:
  25. test: ["CMD-SHELL", "curl http://localhost:9200"]
  26. interval: 10s
  27. timeout: 10s
  28. retries: 120
  29. networks:
  30. - ragflow
  31. restart: on-failure
  32. # infinity:
  33. # container_name: ragflow-infinity
  34. # image: infiniflow/infinity:v0.5.0-dev2
  35. # volumes:
  36. # - infinity_data:/var/infinity
  37. # ports:
  38. # - ${INFINITY_THRIFT_PORT}:23817
  39. # - ${INFINITY_HTTP_PORT}:23820
  40. # - ${INFINITY_PSQL_PORT}:5432
  41. # env_file: .env
  42. # environment:
  43. # - TZ=${TIMEZONE}
  44. # mem_limit: ${MEM_LIMIT}
  45. # ulimits:
  46. # nofile:
  47. # soft: 500000
  48. # hard: 500000
  49. # networks:
  50. # - ragflow
  51. # healthcheck:
  52. # test: ["CMD", "curl", "http://localhost:23820/admin/node/current"]
  53. # interval: 10s
  54. # timeout: 10s
  55. # retries: 120
  56. # restart: on-failure
  57. mysql:
  58. # mysql:5.7 linux/arm64 image is unavailable.
  59. image: mysql:8.0.39
  60. container_name: ragflow-mysql
  61. env_file: .env
  62. environment:
  63. - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
  64. - TZ=${TIMEZONE}
  65. command:
  66. --max_connections=1000
  67. --character-set-server=utf8mb4
  68. --collation-server=utf8mb4_general_ci
  69. --default-authentication-plugin=mysql_native_password
  70. --tls_version="TLSv1.2,TLSv1.3"
  71. --init-file /data/application/init.sql
  72. ports:
  73. - ${MYSQL_PORT}:3306
  74. volumes:
  75. - mysql_data:/var/lib/mysql
  76. - ./init.sql:/data/application/init.sql
  77. networks:
  78. - ragflow
  79. healthcheck:
  80. test: ["CMD", "mysqladmin" ,"ping", "-uroot", "-p${MYSQL_PASSWORD}"]
  81. interval: 10s
  82. timeout: 10s
  83. retries: 3
  84. restart: on-failure
  85. minio:
  86. image: quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z
  87. container_name: ragflow-minio
  88. command: server --console-address ":9001" /data
  89. ports:
  90. - ${MINIO_PORT}:9000
  91. - ${MINIO_CONSOLE_PORT}:9001
  92. env_file: .env
  93. environment:
  94. - MINIO_ROOT_USER=${MINIO_USER}
  95. - MINIO_ROOT_PASSWORD=${MINIO_PASSWORD}
  96. - TZ=${TIMEZONE}
  97. volumes:
  98. - minio_data:/data
  99. networks:
  100. - ragflow
  101. restart: on-failure
  102. redis:
  103. image: valkey/valkey:8
  104. container_name: ragflow-redis
  105. command: redis-server --requirepass ${REDIS_PASSWORD} --maxmemory 128mb --maxmemory-policy allkeys-lru
  106. env_file: .env
  107. ports:
  108. - ${REDIS_PORT}:6379
  109. volumes:
  110. - redis_data:/data
  111. networks:
  112. - ragflow
  113. restart: on-failure
  114. volumes:
  115. esdata01:
  116. driver: local
  117. infinity_data:
  118. driver: local
  119. mysql_data:
  120. driver: local
  121. minio_data:
  122. driver: local
  123. redis_data:
  124. driver: local
  125. networks:
  126. ragflow:
  127. driver: bridge