docker-compose.yml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. version: '3'
  2. networks:
  3. private:
  4. web:
  5. external:
  6. name: web
  7. volumes:
  8. mongo_data_preprod:
  9. driver: local
  10. driver_opts:
  11. type: none
  12. o: bind
  13. device: /srv/mongo/data_preprod # 👉 Dossier réel du serveur pour la persistance
  14. services:
  15. express_preprod:
  16. build:
  17. context: ./express-server
  18. ports:
  19. - "4000:4000"
  20. networks:
  21. - web
  22. - private
  23. labels:
  24. - traefik.enable=true
  25. - traefik.http.routers.express_preprod.rule=Host(`api-preprod.foodgame.fr`)
  26. - traefik.http.services.express_preprod.loadbalancer.server.port=4000
  27. - traefik.http.routers.express_preprod.entrypoints=websecure
  28. - traefik.http.routers.express_preprod.tls.certresolver=myresolver
  29. depends_on:
  30. - database_preprod
  31. restart: always
  32. database_preprod:
  33. image: mongo:4.4.6
  34. ports:
  35. - "27017:27017"
  36. volumes:
  37. - ./backup:/backup
  38. - mongo_data_preprod:/data/db # 👉 volume bindé vers /srv/mongo/data_preprod
  39. labels:
  40. - traefik.enable=true
  41. - traefik.http.routers.database_preprod.rule=Host(`mongodb-preprod.foodgame.fr`)
  42. - traefik.http.services.database_preprod.loadbalancer.server.port=27017
  43. - traefik.http.routers.database_preprod.entrypoints=websecure
  44. - traefik.http.routers.database_preprod.tls.certresolver=myresolver
  45. networks:
  46. - web
  47. - private
  48. restart: always
  49. apache_preprod:
  50. build:
  51. context: ./
  52. dockerfile: build/docker/apache/Dockerfile
  53. ports:
  54. - "8080:80"
  55. networks:
  56. - web
  57. - private
  58. volumes:
  59. - /var/log:/var/log/apache2
  60. labels:
  61. - traefik.enable=true
  62. - traefik.http.routers.apache_preprod.rule=Host(`angular-preprod.foodgame.fr`)
  63. - traefik.http.services.apache_preprod.loadbalancer.server.port=80
  64. - traefik.http.routers.apache_preprod.entrypoints=websecure
  65. - traefik.http.routers.apache_preprod.tls.certresolver=myresolver
  66. restart: always
  67. # version: '3.0' # specify docker-compose version
  68. # Define the services/ containers to be run
  69. # services:
  70. # angular: # name of the first service
  71. # build: angular-client # specify the directory of the Dockerfile
  72. # ports:
  73. # - "4200:4200" # specify port mapping
  74. # express: # name of the second service
  75. # build: express-server # specify the directory of the Dockerfile
  76. # ports:
  77. # - "9991:9991" #specify ports mapping
  78. # links:
  79. # - database # link this service to the database service
  80. # database: # name of the third service
  81. # image: mongo # specify image to build container from
  82. # ports:
  83. # - "27017:27017" # specify port forwarding
  84. # version: '3'
  85. # networks:
  86. # private:
  87. # web:
  88. # external:
  89. # name: web
  90. # #pipeline-test-mean-stack-docker_default:
  91. # #pipeline-test-mean-stack-docker_private:
  92. # #grafana:
  93. # volumes:
  94. # # app_data: {}
  95. # mongo_data_preprod:
  96. # services:
  97. # express_preprod:
  98. # build:
  99. # context: ./express-server
  100. # ports:
  101. # - "4000:4000"
  102. # networks:
  103. # - web
  104. # - private
  105. # labels:
  106. # - traefik.enable=true
  107. # - traefik.http.routers.express_preprod.rule=Host(`api-preprod.foodgame.fr`)
  108. # - traefik.http.services.express_preprod.loadbalancer.server.port=4000
  109. # - traefik.http.routers.express_preprod.entrypoints=websecure
  110. # - traefik.http.routers.express_preprod.tls.certresolver=myresolver
  111. # links:
  112. # - database_preprod
  113. # restart: always
  114. # database_preprod:
  115. # # container_name: mongo_"${ENV}"
  116. # image: mongo:4.4.6
  117. # ports:
  118. # - "27017:27017"
  119. # volumes:
  120. # - ./backup:/backup
  121. # - mongo_data_preprod:/data/db
  122. # # - /var/lib/mongodb/data_preprod:/data/db
  123. # # - database:/data/database
  124. # labels:
  125. # - traefik.enable=true
  126. # - traefik.http.routers.database_preprod.rule=Host(`mongodb-preprod.foodgame.fr`)
  127. # # - traefik.http.routers.apache_prod.rule=Host(`${URLMONGO}`)
  128. # - traefik.http.services.database_preprod.loadbalancer.server.port=27017
  129. # - traefik.http.routers.database_preprod.entrypoints=websecure
  130. # - traefik.http.routers.database_preprod.tls.certresolver=myresolver
  131. # networks:
  132. # - web
  133. # - private
  134. # #- pipeline-test-FatboarProject_default
  135. # #- pipeline-test-FatboarProject_private
  136. # restart: always
  137. # apache_preprod:
  138. # # container_name: apache_"${ENV}"
  139. # build:
  140. # context: ./
  141. # # dockerfile: build/docker/httpd/Dockerfile
  142. # dockerfile: build/docker/apache/Dockerfile
  143. # ports:
  144. # - "8080:80"
  145. # networks:
  146. # - web
  147. # - private
  148. # #- pipeline-test-FatboarProject_default
  149. # #- pipeline-test-FatboarProject_private
  150. # volumes:
  151. # - /var/log:/var/log/apache2
  152. # labels:
  153. # - traefik.enable=true
  154. # - traefik.http.routers.apache_preprod.rule=Host(`angular-preprod.foodgame.fr`)
  155. # # - traefik.http.routers.apache_prod.rule=Host(`${URLANGULAR}`)
  156. # - traefik.http.services.apache_preprod.loadbalancer.server.port=80
  157. # - traefik.http.routers.apache_preprod.entrypoints=websecure
  158. # - traefik.http.routers.apache_preprod.tls.certresolver=myresolver
  159. # restart: always