docker-compose.prod.yml 6.0 KB

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