ソースを参照

backup docker-compose avec auth mongo

DESKTOP-SMCIPAV\falko 6 ヶ月 前
コミット
e4e88dde30
2 ファイル変更19 行追加117 行削除
  1. 18 116
      docker-compose.yml
  2. 1 1
      express-server/lib/db.js

+ 18 - 116
docker-compose.yml

@@ -34,21 +34,30 @@ services:
     depends_on:
       - database_preprod
     environment:
-      # Utilisez une URI sans authentification
-      - MONGODB_URI=mongodb://database_preprod:27017/mean-fatboar-db
+      # Variables pour connecter à MongoDB avec authentification
+      - MONGODB_URI=mongodb://admin:azerty10@database_preprod:27017/mean-fatboar-db?authSource=admin
     restart: always
 
   database_preprod:
     image: mongo:4.4.6
-    # Toujours ne pas exposer le port 27017 publiquement si possible
+    # ❌ SUPPRIMER l'exposition du port 27017
     # ports:
     #   - "27017:27017"
     volumes:
       - ./backup:/backup
       - mongo_data_preprod:/data/db
-    # Supprimez toutes les variables d'environnement d'authentification
+    environment:
+      # ✅ AJOUTER l'authentification MongoDB
+      - MONGO_INITDB_ROOT_USERNAME=admin
+      - MONGO_INITDB_ROOT_PASSWORD=azerty10
+      - MONGO_INITDB_DATABASE=mean-fatboar-db
+    # ❌ SUPPRIMER tous les labels Traefik
+    # labels:
+    #   - traefik.enable=true
+    #   - traefik.http.routers.database_preprod.rule=Host(`mongodb-preprod.foodgame.fr`)
     networks:
-      - private
+      # ❌ SUPPRIMER le réseau 'web'
+      - private  # Seulement le réseau privé
     restart: always
 
   mongodb-backup-preprod:
@@ -59,7 +68,10 @@ services:
     environment:
       - MONGODB_HOST=database_preprod
       - MONGODB_PORT=27017
-      # Ne PAS renseigner d'utilisateur/mot de passe
+      # ✅ AJOUTER l'authentification pour les sauvegardes
+      - MONGODB_USER=admin
+      - MONGODB_PASS=azerty10
+      - MONGODB_AUTHENTICATION_DATABASE=admin
       - BACKUP_LOCATION=/backup
       - BACKUP_COMPRESSION=GZIP
       - BACKUP_SPLIT_DB=TRUE
@@ -96,116 +108,6 @@ services:
       - traefik.http.routers.apache_preprod.tls.certresolver=myresolver
     restart: always
 
-# version: '3'
-
-# networks:
-#   private:
-#   web:
-#     external:
-#       name: web
-
-# volumes:
-#   mongo_data_preprod:
-#     driver: local
-#     driver_opts:
-#       type: none
-#       o: bind
-#       device: /srv/mongo/data_preprod
-#   mongo_backups_preprod:
-#     driver: local
-
-# services:
-#   express_preprod:
-#     build:
-#       context: ./express-server
-#     ports:
-#       - "4000:4000"
-#     networks:
-#       - web
-#       - private
-#     labels:
-#       - traefik.enable=true
-#       - traefik.http.routers.express_preprod.rule=Host(`api-preprod.foodgame.fr`)
-#       - traefik.http.services.express_preprod.loadbalancer.server.port=4000
-#       - traefik.http.routers.express_preprod.entrypoints=websecure
-#       - traefik.http.routers.express_preprod.tls.certresolver=myresolver
-#     depends_on:
-#       - database_preprod
-#     environment:
-#       # Variables pour connecter à MongoDB avec authentification
-#       - MONGODB_URI=mongodb://admin:azerty10@database_preprod:27017/mean-fatboar-db?authSource=admin
-#     restart: always
-
-#   database_preprod:
-#     image: mongo:4.4.6
-#     # ❌ SUPPRIMER l'exposition du port 27017
-#     # ports:
-#     #   - "27017:27017"
-#     volumes:
-#       - ./backup:/backup
-#       - mongo_data_preprod:/data/db
-#     environment:
-#       # ✅ AJOUTER l'authentification MongoDB
-#       - MONGO_INITDB_ROOT_USERNAME=admin
-#       - MONGO_INITDB_ROOT_PASSWORD=azerty10
-#       - MONGO_INITDB_DATABASE=mean-fatboar-db
-#     # ❌ SUPPRIMER tous les labels Traefik
-#     # labels:
-#     #   - traefik.enable=true
-#     #   - traefik.http.routers.database_preprod.rule=Host(`mongodb-preprod.foodgame.fr`)
-#     networks:
-#       # ❌ SUPPRIMER le réseau 'web'
-#       - private  # Seulement le réseau privé
-#     restart: always
-
-#   mongodb-backup-preprod:
-#     image: tiredofit/mongodb-backup:latest
-#     container_name: mongodb-backup-preprod
-#     volumes:
-#       - mongo_backups_preprod:/backup
-#     environment:
-#       - MONGODB_HOST=database_preprod
-#       - MONGODB_PORT=27017
-#       # ✅ AJOUTER l'authentification pour les sauvegardes
-#       - 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-preprod
-#     depends_on:
-#       - database_preprod
-#     networks:
-#       - private
-#     restart: unless-stopped
-
-#   apache_preprod:
-#     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_preprod.rule=Host(`angular-preprod.foodgame.fr`)
-#       - traefik.http.services.apache_preprod.loadbalancer.server.port=80
-#       - traefik.http.routers.apache_preprod.entrypoints=websecure
-#       - traefik.http.routers.apache_preprod.tls.certresolver=myresolver
-#     restart: always
-
 
 # version: '3.0' # specify docker-compose version
  

+ 1 - 1
express-server/lib/db.js

@@ -1,7 +1,7 @@
 const mongoose = require('mongoose');
 
 // Chaîne de connexion avec authentification (identifiants en clair)
-const db = 'mongodb://database_preprod:27017/mean-fatboar-db';
+const db = 'mongodb://admin:azerty10@database_preprod:27017/mean-fatboar-db?authSource=admin';
 
 const options = {
   useNewUrlParser: true,