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.

181 lines
4.7 KiB

4 years ago
  1. # For more information: https://laravel.com/docs/sail
  2. version: '3'
  3. services:
  4. rabbitmq:
  5. image: "rabbitmq:3-management"
  6. ports:
  7. - 5672:5672
  8. - 15672:15672
  9. environment:
  10. RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG"
  11. RABBITMQ_DEFAULT_USER: "root"
  12. RABBITMQ_DEFAULT_PASS: "root"
  13. RABBITMQ_DEFAULT_VHOST: "/"
  14. networks:
  15. - hi-user
  16. volumes:
  17. - ./definitions.json:/etc/rabbitmq/definitions.json
  18. depends_on:
  19. - laravel.test
  20. minio:
  21. image: minio/minio
  22. command: server /data
  23. ports:
  24. - 9005:9000
  25. environment:
  26. MINIO_ACCESS_KEY: root
  27. MINIO_SECRET_KEY: minioroot
  28. networks:
  29. - hi-user
  30. depends_on:
  31. - laravel.test
  32. commander:
  33. image: rediscommander/redis-commander:latest
  34. environment:
  35. - REDIS_HOST=redis
  36. - REDIS_PORT=6379
  37. - HTTP_USER=root
  38. - HTTP_PASSWORD=root
  39. - REDIS_PASSWORD=root
  40. ports:
  41. - 8081:8081
  42. depends_on:
  43. - redis
  44. networks:
  45. - hi-user
  46. redis:
  47. image: redis:latest
  48. ports:
  49. - 6379:6379
  50. command: redis-server --requirepass root
  51. volumes:
  52. - redis-data:/data
  53. networks:
  54. - hi-user
  55. laravel.test:
  56. build:
  57. context: ./vendor/laravel/sail/runtimes/8.0
  58. dockerfile: Dockerfile
  59. args:
  60. WWWGROUP: '${WWWGROUP}'
  61. image: sail-8.0/app
  62. ports:
  63. - '${APP_PORT:-80}:80'
  64. container_name: "liwo-user-app"
  65. environment:
  66. WWWUSER: '${WWWUSER}'
  67. LARAVEL_SAIL: 1
  68. volumes:
  69. - '.:/var/www/html'
  70. networks:
  71. - hi-user
  72. - hi
  73. depends_on:
  74. - mysql
  75. mysql:
  76. user: root
  77. image: 'mysql:8.0'
  78. ports:
  79. - '${FORWARD_DB_PORT:-3306}:3306'
  80. environment:
  81. MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
  82. MYSQL_DATABASE: '${DB_DATABASE}'
  83. MYSQL_USER: '${DB_USERNAME}'
  84. MYSQL_PASSWORD: '${DB_PASSWORD}'
  85. MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
  86. volumes:
  87. # - 'sailmysql:/var/lib/mysql'
  88. - ./my.cnf:/etc/mysql/conf.d/my.cnf
  89. - ./storage/logs/mysql:/var/lib/mysql
  90. networks:
  91. - hi-user
  92. healthcheck:
  93. test: ["CMD", "mysqladmin", "ping"]
  94. pma:
  95. image: 'phpmyadmin:latest'
  96. ports:
  97. - 8080:80
  98. environment:
  99. MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
  100. links:
  101. - "mysql:db"
  102. depends_on:
  103. - mysql
  104. networks:
  105. - hi-user
  106. mailhog:
  107. image: mailhog/mailhog
  108. logging:
  109. driver: 'none' # disable saving logs
  110. ports:
  111. - 1025:1025 # smtp server
  112. - 8025:8025 # web ui
  113. networks:
  114. - hi-user
  115. mongo:
  116. container_name: "mongo"
  117. image: mongo:latest
  118. networks:
  119. - hi-user
  120. elasticsearch:
  121. container_name: "elastic"
  122. image: docker.elastic.co/elasticsearch/elasticsearch:7.11.2
  123. environment:
  124. - http.host=0.0.0.0
  125. - transport.host=localhost
  126. - network.host=0.0.0.0
  127. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  128. ulimits:
  129. memlock:
  130. soft: 512
  131. hard: 1024
  132. networks:
  133. - hi-user
  134. graylog:
  135. user: graylog
  136. container_name: "graylog"
  137. image: graylog/graylog:4.0.5
  138. volumes:
  139. - ./liwo.json:/usr/share/graylog/data/contentpacks/liwo.json
  140. environment:
  141. GRAYLOG_CONTENT_PACKS_LOADER_ENABLED: "true"
  142. GRAYLOG_CONTENT_PACKS_AUTO_INSTALL: "liwo.json"
  143. GRAYLOG_HTTP_EXTERNAL_URI: "http://127.0.0.1:9000/"
  144. GRAYLOG_PASSWORD_SECRET: supersecretpassword
  145. GRAYLOG_ROOT_PASSWORD_SHA2: "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
  146. GRAYLOG_ELASTICSEARCH_VERSION: 7
  147. restart: always
  148. depends_on:
  149. - mongo
  150. - elasticsearch
  151. ports:
  152. - 9000:9000
  153. - 12201:12201
  154. - 1514:1514
  155. - 5044:5044
  156. networks:
  157. - hi-user
  158. filebeat:
  159. restart: always
  160. depends_on:
  161. - graylog
  162. user: root
  163. container_name: filebeat
  164. image: docker.elastic.co/beats/filebeat:7.11.2
  165. volumes:
  166. - ./storage/logs/mysql:/var/log/mysql
  167. - ./filebeat.yml:/usr/share/filebeat/filebeat.yml
  168. - ./filebeat.reference.yml:/usr/share/filebeat/filebeat.reference.yml
  169. networks:
  170. - hi-user
  171. networks:
  172. hi-user:
  173. external: false
  174. driver: bridge
  175. hi:
  176. external: true
  177. volumes:
  178. redis-data:
  179. driver: local
  180. sailmysql:
  181. driver: local