Selaa lähdekoodia

montage de volume mongodb pour la prod

DESKTOP-SMCIPAV\falko 5 kuukautta sitten
vanhempi
commit
4afc4a8a14
2 muutettua tiedostoa jossa 11 lisäystä ja 246 poistoa
  1. 11 20
      docker-compose.prod.yml
  2. 0 226
      docker-compose.yml

+ 11 - 20
docker-compose.prod.yml

@@ -1,20 +1,14 @@
-version: '3'
+version: '3.8'
 
 networks:
   private:
   web:
-    external:
-      name: web
+    external: true
+    name: web
 
 volumes:
   mongo_data_prod:
-    driver: local
-    driver_opts:
-      type: none
-      o: bind
-      device: /srv/mongo/data_prod
   mongo_backups_prod:
-    driver: local
 
 services:
   express_prod:
@@ -35,20 +29,20 @@ services:
       - database_prod
     environment:
       - MONGODB_URI=mongodb://admin:azerty10@database_prod:27017/mean-fatboar-db?authSource=admin
-    restart: always
+    restart: unless-stopped
 
   database_prod:
     image: mongo:4.4.6
     volumes:
-      - ./backup:/backup
       - mongo_data_prod:/data/db
+      - ./backup:/backup
     environment:
       - MONGO_INITDB_ROOT_USERNAME=admin
       - MONGO_INITDB_ROOT_PASSWORD=azerty10
       - MONGO_INITDB_DATABASE=mean-fatboar-db
     networks:
       - private
-    restart: always
+    restart: unless-stopped
 
   mongodb-backup-prod:
     image: tiredofit/mongodb-backup:latest
@@ -65,13 +59,12 @@ services:
       - BACKUP_COMPRESSION=GZIP
       - BACKUP_SPLIT_DB=TRUE
       - BACKUP_BEGIN=TRUE
-      - SCHEDULE=*/30 * * * *
+      - SCHEDULE=0 3 * * *  # Tous les jours à 3h du matin
       - BACKUP_RETAIN_DAYS=7
       - BACKUP_CLEANUP_TIME=0430
-      - NOTIFICATION_TYPE=none
-      - DEBUG_MODE=TRUE
-      - CONTAINER_ENABLE_MONITORING=TRUE
-      - CONTAINER_NAME=mongodb-backup-prod
+      - NOTIFICATION_TYPE=email
+      - NOTIFICATION_EMAIL_TO=admin@foodgame.fr
+      - DEBUG_MODE=FALSE
     depends_on:
       - database_prod
     networks:
@@ -82,7 +75,6 @@ services:
     build:
       context: ./
       dockerfile: build/docker/angular-ssr/Dockerfile
-    # ❌ ports: supprimé
     networks:
       - web
       - private
@@ -92,8 +84,7 @@ services:
       - traefik.http.services.angular_ssr_prod.loadbalancer.server.port=4000
       - traefik.http.routers.angular_ssr_prod.entrypoints=websecure
       - traefik.http.routers.angular_ssr_prod.tls.certresolver=myresolver
-    restart: always
-
+    restart: unless-stopped
   
   # apache_prod:
   #   build:

+ 0 - 226
docker-compose.yml

@@ -1,226 +0,0 @@
-version: '3'
-
-networks:
-  private:
-  web:
-    external:
-      name: web
-
-volumes:
-  mongo_data_prod:
-    driver: local
-    driver_opts:
-      type: none
-      o: bind
-      device: /srv/mongo/data_prod
-  mongo_backups_prod:
-    driver: local
-
-services:
-  express_prod:
-    build:
-      context: ./express-server
-    ports:
-      - "4000:4000"
-    networks:
-      - web
-      - private
-    labels:
-      - traefik.enable=true
-      - traefik.http.routers.express_prod.rule=Host(`api-prod.foodgame.fr`)
-      - traefik.http.services.express_prod.loadbalancer.server.port=4000
-      - traefik.http.routers.express_prod.entrypoints=websecure
-      - traefik.http.routers.express_prod.tls.certresolver=myresolver
-    depends_on:
-      - database_prod
-    environment:
-      - MONGODB_URI=mongodb://admin:azerty10@database_prod:27017/mean-fatboar-db?authSource=admin
-    restart: always
-
-  database_prod:
-    image: mongo:4.4.6
-    volumes:
-      - ./backup:/backup
-      - mongo_data_prod:/data/db
-    environment:
-      - MONGO_INITDB_ROOT_USERNAME=admin
-      - MONGO_INITDB_ROOT_PASSWORD=azerty10
-      - MONGO_INITDB_DATABASE=mean-fatboar-db
-    networks:
-      - private
-    restart: always
-
-  mongodb-backup-prod:
-    image: tiredofit/mongodb-backup:latest
-    container_name: mongodb-backup-prod
-    volumes:
-      - mongo_backups_prod:/backup
-    environment:
-      - MONGODB_HOST=database_prod
-      - MONGODB_PORT=27017
-      - MONGODB_USER=admin
-      - MONGODB_PASS=azerty10
-      - MONGODB_AUTHENTICATION_DATABASE=admin
-      - BACKUP_LOCATION=/backup
-      - BACKUP_COMPRESSION=GZIP
-      - BACKUP_SPLIT_DB=TRUE
-      - BACKUP_BEGIN=TRUE
-      - SCHEDULE=*/30 * * * *
-      - BACKUP_RETAIN_DAYS=7
-      - BACKUP_CLEANUP_TIME=0430
-      - NOTIFICATION_TYPE=none
-      - DEBUG_MODE=TRUE
-      - CONTAINER_ENABLE_MONITORING=TRUE
-      - CONTAINER_NAME=mongodb-backup-prod
-    depends_on:
-      - database_prod
-    networks:
-      - private
-    restart: unless-stopped
-
-  angular_ssr_prod:
-    build:
-      context: ./
-      dockerfile: build/docker/angular-ssr/Dockerfile
-    # ❌ ports: supprimé
-    networks:
-      - web
-      - private
-    labels:
-      - traefik.enable=true
-      - traefik.http.routers.angular_ssr_prod.rule=Host(`fatboar.foodgame.fr`)
-      - traefik.http.services.angular_ssr_prod.loadbalancer.server.port=4000
-      - traefik.http.routers.angular_ssr_prod.entrypoints=websecure
-      - traefik.http.routers.angular_ssr_prod.tls.certresolver=myresolver
-    restart: always
-
-  
-  # apache_prod:
-  #   build:
-  #     context: ./
-  #     dockerfile: build/docker/apache/Dockerfile
-  #   ports:
-  #     - "8080:80"
-  #   networks:
-  #     - web
-  #     - private
-  #   volumes:
-  #     - /var/log:/var/log/apache2
-  #   labels:
-  #     - traefik.enable=true
-  #     - traefik.http.routers.apache_prod.rule=Host(`fatboar.foodgame.fr`)
-  #     - traefik.http.services.apache_prod.loadbalancer.server.port=80
-  #     - traefik.http.routers.apache_prod.entrypoints=websecure
-  #     - traefik.http.routers.apache_prod.tls.certresolver=myresolver
-  #   restart: always
-
-
-# version: '3.0' # specify docker-compose version
- 
-# Define the services/ containers to be run
-# services:
-#  angular: # name of the first service
-#   build: angular-client # specify the directory of the Dockerfile
-#   ports:
-#   - "4200:4200" # specify port mapping
- 
-#  express: # name of the second service
-#   build: express-server # specify the directory of the Dockerfile
-#   ports:
-#   - "9991:9991" #specify ports mapping
-#   links:
-#   - database # link this service to the database service
- 
-#  database: # name of the third service
-#   image: mongo # specify image to build container from
-#   ports:
-#   - "27017:27017" # specify port forwarding
-
-
-
-
-# version: '3'
-
-# networks:
-#   private:
-#   web:
-#    external:
-#     name: web
-#   #pipeline-test-mean-stack-docker_default:
-#   #pipeline-test-mean-stack-docker_private:
-#   #grafana:
-
-# volumes:
-# #  app_data: {}
-#   mongo_data_prod:
-
-# services:
-#   express_prod:
-#     build:
-#       context: ./express-server
-#     ports:
-#       - "4000:4000"
-#     networks:
-#       - web
-#       - private
-#     labels:
-#       - traefik.enable=true
-#       - traefik.http.routers.express_prod.rule=Host(`api-prod.foodgame.fr`)
-#       - traefik.http.services.express_prod.loadbalancer.server.port=4000
-#       - traefik.http.routers.express_prod.entrypoints=websecure
-#       - traefik.http.routers.express_prod.tls.certresolver=myresolver
-#     links:
-#       - database_prod
-#     restart: always
-
-
-#   database_prod:
-# #   container_name: mongo_"${ENV}"
-#     image: mongo:4.4.6
-#     ports:
-#       - "27017:27017"
-#     volumes:
-#       - ./backup:/backup
-#       - mongo_data_prod:/data/db
-#       # - /var/lib/mongodb/data_prod:/data/db
-# #     - database:/data/database
-#     labels:
-#       - traefik.enable=true
-#       - traefik.http.routers.database_prod.rule=Host(`mongodb-prod.foodgame.fr`)
-# #     - traefik.http.routers.apache_prod.rule=Host(`${URLMONGO}`)
-#       - traefik.http.services.database_prod.loadbalancer.server.port=27017
-#       - traefik.http.routers.database_prod.entrypoints=websecure
-#       - traefik.http.routers.database_prod.tls.certresolver=myresolver  
-#     networks:
-#       - web
-#       - private
-#       #- pipeline-test-FatboarProject_default
-#       #- pipeline-test-FatboarProject_private
-#     restart: always
-
-#   apache_prod:
-# #   container_name: apache_"${ENV}"    
-#     build:  
-#       context: ./
-#       # dockerfile: build/docker/httpd/Dockerfile
-#       dockerfile: build/docker/apache/Dockerfile
-#     ports:
-#       - "8080:80"
-#     networks:
-#       - web
-#       - private
-#       #- pipeline-test-FatboarProject_default
-#       #- pipeline-test-FatboarProject_private
-#     volumes:     
-#       - /var/log:/var/log/apache2
-#     labels:
-#       - traefik.enable=true
-#       - traefik.http.routers.apache_prod.rule=Host(`fatboar.foodgame.fr`)
-# #     - traefik.http.routers.apache_prod.rule=Host(`${URLANGULAR}`)
-#       - traefik.http.services.apache_prod.loadbalancer.server.port=80
-#       - traefik.http.routers.apache_prod.entrypoints=websecure
-#       - traefik.http.routers.apache_prod.tls.certresolver=myresolver  
-#     restart: always  
-
-
-