docker-compose.yml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. version: '3'
  2. networks:
  3. private:
  4. web:
  5. external:
  6. name: web
  7. volumes:
  8. mongo_data_prod:
  9. driver: local
  10. driver_opts:
  11. type: none
  12. o: bind
  13. device: /srv/mongo/data_prod
  14. mongo_backups_prod:
  15. driver: local
  16. services:
  17. express_prod:
  18. build:
  19. context: ./express-server
  20. ports:
  21. - "4000:4000"
  22. networks:
  23. - web
  24. - private
  25. labels:
  26. - traefik.enable=true
  27. - traefik.http.routers.express_prod.rule=Host(`api-prod.foodgame.fr`)
  28. - traefik.http.services.express_prod.loadbalancer.server.port=4000
  29. - traefik.http.routers.express_prod.entrypoints=websecure
  30. - traefik.http.routers.express_prod.tls.certresolver=myresolver
  31. depends_on:
  32. - database_prod
  33. environment:
  34. - MONGODB_URI=mongodb://admin:azerty10@database_prod:27017/mean-fatboar-db?authSource=admin
  35. restart: always
  36. database_prod:
  37. image: mongo:4.4.6
  38. volumes:
  39. - ./backup:/backup
  40. - mongo_data_prod:/data/db
  41. environment:
  42. - MONGO_INITDB_ROOT_USERNAME=admin
  43. - MONGO_INITDB_ROOT_PASSWORD=azerty10
  44. - MONGO_INITDB_DATABASE=mean-fatboar-db
  45. networks:
  46. - private
  47. restart: always
  48. mongodb-backup-prod:
  49. image: tiredofit/mongodb-backup:latest
  50. container_name: mongodb-backup-prod
  51. volumes:
  52. - mongo_backups_prod:/backup
  53. environment:
  54. - MONGODB_HOST=database_prod
  55. - MONGODB_PORT=27017
  56. - MONGODB_USER=admin
  57. - MONGODB_PASS=azerty10
  58. - MONGODB_AUTHENTICATION_DATABASE=admin
  59. - BACKUP_LOCATION=/backup
  60. - BACKUP_COMPRESSION=GZIP
  61. - BACKUP_SPLIT_DB=TRUE
  62. - BACKUP_BEGIN=TRUE
  63. - SCHEDULE=*/30 * * * *
  64. - BACKUP_RETAIN_DAYS=7
  65. - BACKUP_CLEANUP_TIME=0430
  66. - NOTIFICATION_TYPE=none
  67. - DEBUG_MODE=TRUE
  68. - CONTAINER_ENABLE_MONITORING=TRUE
  69. - CONTAINER_NAME=mongodb-backup-prod
  70. depends_on:
  71. - database_prod
  72. networks:
  73. - private
  74. restart: unless-stopped
  75. angular_ssr_prod:
  76. build:
  77. context: ./
  78. dockerfile: build/docker/angular-ssr/Dockerfile
  79. # ❌ ports: supprimé
  80. networks:
  81. - web
  82. - private
  83. labels:
  84. - traefik.enable=true
  85. - traefik.http.routers.angular_ssr_prod.rule=Host(`fatboar.foodgame.fr`)
  86. - traefik.http.services.angular_ssr_prod.loadbalancer.server.port=4000
  87. - traefik.http.routers.angular_ssr_prod.entrypoints=websecure
  88. - traefik.http.routers.angular_ssr_prod.tls.certresolver=myresolver
  89. restart: always
  90. # apache_prod:
  91. # build:
  92. # context: ./
  93. # dockerfile: build/docker/apache/Dockerfile
  94. # ports:
  95. # - "8080:80"
  96. # networks:
  97. # - web
  98. # - private
  99. # volumes:
  100. # - /var/log:/var/log/apache2
  101. # labels:
  102. # - traefik.enable=true
  103. # - traefik.http.routers.apache_prod.rule=Host(`fatboar.foodgame.fr`)
  104. # - traefik.http.services.apache_prod.loadbalancer.server.port=80
  105. # - traefik.http.routers.apache_prod.entrypoints=websecure
  106. # - traefik.http.routers.apache_prod.tls.certresolver=myresolver
  107. # restart: always
  108. # version: '3.0' # specify docker-compose version
  109. # Define the services/ containers to be run
  110. # services:
  111. # angular: # name of the first service
  112. # build: angular-client # specify the directory of the Dockerfile
  113. # ports:
  114. # - "4200:4200" # specify port mapping
  115. # express: # name of the second service
  116. # build: express-server # specify the directory of the Dockerfile
  117. # ports:
  118. # - "9991:9991" #specify ports mapping
  119. # links:
  120. # - database # link this service to the database service
  121. # database: # name of the third service
  122. # image: mongo # specify image to build container from
  123. # ports:
  124. # - "27017:27017" # specify port forwarding
  125. # version: '3'
  126. # networks:
  127. # private:
  128. # web:
  129. # external:
  130. # name: web
  131. # #pipeline-test-mean-stack-docker_default:
  132. # #pipeline-test-mean-stack-docker_private:
  133. # #grafana:
  134. # volumes:
  135. # # app_data: {}
  136. # mongo_data_prod:
  137. # services:
  138. # express_prod:
  139. # build:
  140. # context: ./express-server
  141. # ports:
  142. # - "4000:4000"
  143. # networks:
  144. # - web
  145. # - private
  146. # labels:
  147. # - traefik.enable=true
  148. # - traefik.http.routers.express_prod.rule=Host(`api-prod.foodgame.fr`)
  149. # - traefik.http.services.express_prod.loadbalancer.server.port=4000
  150. # - traefik.http.routers.express_prod.entrypoints=websecure
  151. # - traefik.http.routers.express_prod.tls.certresolver=myresolver
  152. # links:
  153. # - database_prod
  154. # restart: always
  155. # database_prod:
  156. # # container_name: mongo_"${ENV}"
  157. # image: mongo:4.4.6
  158. # ports:
  159. # - "27017:27017"
  160. # volumes:
  161. # - ./backup:/backup
  162. # - mongo_data_prod:/data/db
  163. # # - /var/lib/mongodb/data_prod:/data/db
  164. # # - database:/data/database
  165. # labels:
  166. # - traefik.enable=true
  167. # - traefik.http.routers.database_prod.rule=Host(`mongodb-prod.foodgame.fr`)
  168. # # - traefik.http.routers.apache_prod.rule=Host(`${URLMONGO}`)
  169. # - traefik.http.services.database_prod.loadbalancer.server.port=27017
  170. # - traefik.http.routers.database_prod.entrypoints=websecure
  171. # - traefik.http.routers.database_prod.tls.certresolver=myresolver
  172. # networks:
  173. # - web
  174. # - private
  175. # #- pipeline-test-FatboarProject_default
  176. # #- pipeline-test-FatboarProject_private
  177. # restart: always
  178. # apache_prod:
  179. # # container_name: apache_"${ENV}"
  180. # build:
  181. # context: ./
  182. # # dockerfile: build/docker/httpd/Dockerfile
  183. # dockerfile: build/docker/apache/Dockerfile
  184. # ports:
  185. # - "8080:80"
  186. # networks:
  187. # - web
  188. # - private
  189. # #- pipeline-test-FatboarProject_default
  190. # #- pipeline-test-FatboarProject_private
  191. # volumes:
  192. # - /var/log:/var/log/apache2
  193. # labels:
  194. # - traefik.enable=true
  195. # - traefik.http.routers.apache_prod.rule=Host(`fatboar.foodgame.fr`)
  196. # # - traefik.http.routers.apache_prod.rule=Host(`${URLANGULAR}`)
  197. # - traefik.http.services.apache_prod.loadbalancer.server.port=80
  198. # - traefik.http.routers.apache_prod.entrypoints=websecure
  199. # - traefik.http.routers.apache_prod.tls.certresolver=myresolver
  200. # restart: always