docker-compose.yaml.template 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. version: '3'
  2. services:
  3. mysql:
  4. image: registry.cn-shenzhen.aliyuncs.com/breeze-project/mysql:8.0.33
  5. container_name: ruoyi-ai-mysql
  6. env_file:
  7. - ./.env
  8. environment:
  9. - MYSQL_ROOT_PASSWORD={{MYSQL_ROOT_PASSWORD}}
  10. - MYSQL_DATABASE={{MYSQL_DATABASE}}
  11. ports:
  12. - "{{MYSQL_PORT}}:3306"
  13. volumes:
  14. - ./mysql-init:/docker-entrypoint-initdb.d
  15. - ./data/mysql:/var/lib/mysql
  16. command:
  17. --default-authentication-plugin=mysql_native_password
  18. --character-set-server=utf8mb4
  19. --collation-server=utf8mb4_general_ci
  20. --explicit_defaults_for_timestamp=true
  21. --lower_case_table_names=1
  22. restart: always
  23. networks:
  24. - ruoyi-net
  25. redis:
  26. image: registry.cn-shenzhen.aliyuncs.com/breeze-project/redis:6.2
  27. container_name: ruoyi-ai-redis
  28. env_file:
  29. - ./.env
  30. ports:
  31. - "{{REDIS_PORT}}:6379"
  32. volumes:
  33. - ./data/redis:/data
  34. command: redis-server --appendonly yes ${REDIS_PASSWORD:+--requirepass ${REDIS_PASSWORD}}
  35. restart: always
  36. networks:
  37. - ruoyi-net
  38. weaviate:
  39. image: registry.cn-shenzhen.aliyuncs.com/breeze-project/weaviate:1.30.0
  40. container_name: ruoyi-ai-weaviate
  41. ports:
  42. - "{{WEAVIATE_HTTP_PORT}}:8080"
  43. - "{{WEAVIATE_GRPC_PORT}}:50051"
  44. volumes:
  45. - ./data/weaviate:/var/lib/weaviate
  46. env_file:
  47. - ./.env
  48. environment:
  49. - QUERY_DEFAULTS_LIMIT={{WEAVIATE_QUERY_LIMIT}}
  50. - AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED={{WEAVIATE_ANONYMOUS_ACCESS}}
  51. - PERSISTENCE_DATA_PATH={{WEAVIATE_DATA_PATH}}
  52. - DEFAULT_VECTORIZER_MODULE={{WEAVIATE_VECTORIZER_MODULE}}
  53. - ENABLE_MODULES={{WEAVIATE_MODULES}}
  54. - CLUSTER_HOSTNAME={{WEAVIATE_CLUSTER_HOSTNAME}}
  55. command: --host 0.0.0.0 --port 8080 --scheme http
  56. restart: always
  57. networks:
  58. - ruoyi-net
  59. ruoyi-backend:
  60. image: ruoyi-ai-backend:latest
  61. container_name: ruoyi-ai-backend
  62. env_file:
  63. - ./.env
  64. ports:
  65. - "{{SERVER_PORT}}:{{SERVER_PORT}}"
  66. environment:
  67. - SERVER_PORT={{SERVER_PORT}}
  68. - DB_URL={{DB_URL}}
  69. - DB_USERNAME={{DB_USERNAME}}
  70. - DB_PASSWORD={{DB_PASSWORD}}
  71. - REDIS_HOST={{REDIS_HOST}}
  72. - REDIS_PORT={{REDIS_PORT}}
  73. - REDIS_DATABASE={{REDIS_DATABASE}}
  74. - REDIS_PASSWORD={{REDIS_PASSWORD}}
  75. - REDIS_TIMEOUT={{REDIS_TIMEOUT}}
  76. - TZ={{TZ}}
  77. volumes:
  78. - ./data/logs:/ruoyi/server/logs
  79. restart: always
  80. depends_on:
  81. - mysql
  82. - redis
  83. - weaviate
  84. networks:
  85. - ruoyi-net
  86. ruoyi-admin:
  87. image: ruoyi-ai-admin:latest
  88. container_name: ruoyi-ai-admin
  89. ports:
  90. - "{{ADMIN_PORT}}:80"
  91. restart: always
  92. depends_on:
  93. - ruoyi-backend
  94. networks:
  95. - ruoyi-net
  96. ruoyi-web:
  97. image: ruoyi-ai-web:latest
  98. container_name: ruoyi-ai-web
  99. ports:
  100. - "{{WEB_PORT}}:80"
  101. restart: always
  102. depends_on:
  103. - ruoyi-backend
  104. networks:
  105. - ruoyi-net
  106. networks:
  107. ruoyi-net:
  108. driver: bridge