docker-compose.yml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. version: "3.5"
  2. services:
  3. mysql:
  4. image: mariadb:latest
  5. volumes:
  6. - db-data:/var/lib/mysql
  7. - ./Docker/mysql/mysql.cnf:/etc/mysql/conf.d/custom.cnf:ro
  8. - ./Docker/mysql/bashrc:/root/.bashrc:ro
  9. - "${DB_IMPORTE_FILE_D8}:/docker-entrypoint-initdb.d/materio_d8.sql"
  10. networks:
  11. - database
  12. hostname: mysql
  13. environment:
  14. MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
  15. MYSQL_DATABASE: "${DB_NAME}"
  16. MYSQL_USER: "${DB_USERNAME}"
  17. MYSQL_PASSWORD: "${DB_PASSWORD}"
  18. mysql-legacy:
  19. image: mariadb:latest
  20. volumes:
  21. - db-data-legacy:/var/lib/mysql
  22. - ./Docker/mysql/mysql.cnf:/etc/mysql/conf.d/custom.cnf:ro
  23. - ./Docker/mysql/bashrc:/root/.bashrc:ro
  24. - "${DB_IMPORTE_FILE_D7}:/docker-entrypoint-initdb.d/materio_d7.sql"
  25. networks:
  26. - database
  27. hostname: mysql-legacy
  28. environment:
  29. MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
  30. MYSQL_DATABASE: "${DB_LEGACY_NAME}"
  31. MYSQL_USER: "${DB_USERNAME}"
  32. MYSQL_PASSWORD: "${DB_PASSWORD}"
  33. redis:
  34. image: redis:4
  35. command: redis-server /usr/local/etc/redis.conf
  36. volumes:
  37. - redis-data:/data
  38. - ./Docker/redis/redis.conf:/usr/local/etc/redis.conf
  39. networks:
  40. - redis
  41. ports:
  42. - "6389"
  43. redis-legacy:
  44. image: redis:3
  45. command: redis-server /usr/local/etc/redis.conf
  46. volumes:
  47. - redis-legacy-data:/data
  48. - ./Docker/redis/redis.conf:/usr/local/etc/redis.conf
  49. networks:
  50. - redis
  51. ports:
  52. - "6388"
  53. solr-new:
  54. build: ./Docker/solr/
  55. # user: ${USER_UID}:${USER_GID}
  56. environment:
  57. - SOLR_HOME=/var/solr
  58. volumes:
  59. - ./var_solr:/var/solr
  60. # - solr-data: /var/solr
  61. # - "${SOLR_CORES}:/var/solr/data"
  62. # - "${SOLR_DATA}:/var/solr"
  63. # - "${SOLR_CORES}:/opt/solr/server/solr"
  64. command:
  65. - solr-precreate
  66. networks:
  67. - solr
  68. ports:
  69. - 8985:8983
  70. solr-legacy:
  71. build: ./Docker/solr-legacy/
  72. volumes:
  73. - solr-cores-legacy:/opt/solr/server/solr
  74. networks:
  75. - solr
  76. ports:
  77. - 8983:8983
  78. php:
  79. build: ./Docker/php/
  80. expose:
  81. - 9000
  82. - 9001
  83. - 22
  84. user: ${USER_UID}:${USER_GID}
  85. volumes:
  86. - php-user-data:/home/${USER_UNAME}
  87. - "${PROJECT_ROOT}:/var/www/html/d8.materio.com/public_html"
  88. - "${LEGACY_ROOT}:/var/www/html/d7.materio.com/public_html"
  89. - "${LOG_ROOT}/php:/var/log:rw"
  90. - "${XDEBUG_INI}:/usr/local/etc/php/conf.d/xdebug.ini"
  91. working_dir: "/var/www/html/d8.materio.com/public_html"
  92. networks:
  93. - database
  94. - redis
  95. - server
  96. - solr
  97. # for xdebug
  98. # https://github.com/docker/for-linux/issues/264#issuecomment-965465879
  99. extra_hosts:
  100. - host.docker.internal:host-gateway
  101. # mem_limit: 512m
  102. depends_on:
  103. - mysql
  104. - mysql-legacy
  105. - redis
  106. - solr-new
  107. php-legacy:
  108. build: ./Docker/php-legacy/
  109. expose:
  110. - 9000
  111. volumes:
  112. - php-legacy-root-data:/root
  113. - "${LEGACY_ROOT}:/var/www/html"
  114. - "${LOG_ROOT}/php-legacy:/var/log:rw"
  115. working_dir: "/var/www/html"
  116. networks:
  117. - database
  118. - redis
  119. - server
  120. - solr
  121. depends_on:
  122. - mysql-legacy
  123. - redis-legacy
  124. - solr-legacy
  125. phpmyadmin:
  126. image: phpmyadmin/phpmyadmin
  127. ports:
  128. - 8891:80
  129. networks:
  130. - database
  131. depends_on:
  132. - mysql
  133. - mysql-legacy
  134. environment:
  135. PMA_HOSTS: mysql,mysql-legacy
  136. nginx:
  137. build: ./Docker/nginx/
  138. ports:
  139. - 8890:80
  140. volumes:
  141. - "${PROJECT_ROOT}:/var/www/html/d8.materio.com/public_html"
  142. - "${LEGACY_ROOT}:/var/www/html/d7.materio.com/public_html"
  143. - "${LOG_ROOT}:/var/log:rw"
  144. working_dir: "/var/www/html/d8.materio.com/public_html"
  145. networks:
  146. - server
  147. - solr
  148. depends_on:
  149. - php
  150. nginx-legacy:
  151. build: ./Docker/nginx-legacy/
  152. ports:
  153. - 8880:80
  154. volumes:
  155. - "${LEGACY_ROOT}:/var/www/html"
  156. - "${LOG_ROOT}:/var/log:rw"
  157. networks:
  158. - server
  159. - solr
  160. depends_on:
  161. - php-legacy
  162. npm:
  163. build: ./Docker/npm
  164. user: ${USER_UID}:${USER_GID}
  165. volumes:
  166. - "${PROJECT_ROOT}:/app"
  167. - npm-user-data:/home/${USER_UNAME}
  168. # ports:
  169. # - 8788:8788
  170. working_dir: "/app"
  171. networks:
  172. - server
  173. environment:
  174. - DRUPAL_ROOT=/var/www/html/d8.materio.com/public_html
  175. - USER_UNAME=${USER_UNAME}
  176. volumes:
  177. php-user-data:
  178. php-legacy-root-data:
  179. db-data:
  180. db-data-legacy:
  181. redis-data:
  182. redis-legacy-data:
  183. solr-cores-legacy:
  184. # solr-cores:
  185. npm-user-data:
  186. networks:
  187. database:
  188. redis:
  189. server:
  190. solr: