|
@@ -13,9 +13,14 @@ volumes:
|
|
|
type: none
|
|
type: none
|
|
|
o: bind
|
|
o: bind
|
|
|
device: /srv/mongo/data_preprod # 👉 Dossier réel du serveur pour la persistance
|
|
device: /srv/mongo/data_preprod # 👉 Dossier réel du serveur pour la persistance
|
|
|
|
|
+ mongo_backups_preprod:
|
|
|
|
|
+ driver: local
|
|
|
|
|
+ driver_opts:
|
|
|
|
|
+ type: none
|
|
|
|
|
+ o: bind
|
|
|
|
|
+ device: /srv/mongo/backups_preprod # 👉 Dossier réel du serveur pour les sauvegardes
|
|
|
|
|
|
|
|
services:
|
|
services:
|
|
|
-
|
|
|
|
|
express_preprod:
|
|
express_preprod:
|
|
|
build:
|
|
build:
|
|
|
context: ./express-server
|
|
context: ./express-server
|
|
@@ -46,14 +51,54 @@ services:
|
|
|
- traefik.http.routers.database_preprod.rule=Host(`mongodb-preprod.foodgame.fr`)
|
|
- traefik.http.routers.database_preprod.rule=Host(`mongodb-preprod.foodgame.fr`)
|
|
|
- traefik.http.services.database_preprod.loadbalancer.server.port=27017
|
|
- traefik.http.services.database_preprod.loadbalancer.server.port=27017
|
|
|
- traefik.http.routers.database_preprod.entrypoints=websecure
|
|
- traefik.http.routers.database_preprod.entrypoints=websecure
|
|
|
- - traefik.http.routers.database_preprod.tls.certresolver=myresolver
|
|
|
|
|
|
|
+ - traefik.http.routers.database_preprod.tls.certresolver=myresolver
|
|
|
networks:
|
|
networks:
|
|
|
- web
|
|
- web
|
|
|
- private
|
|
- private
|
|
|
restart: always
|
|
restart: always
|
|
|
|
|
|
|
|
|
|
+ mongodb-backup-preprod:
|
|
|
|
|
+ image: tiredofit/mongodb-backup:latest
|
|
|
|
|
+ container_name: mongodb-backup-preprod
|
|
|
|
|
+ volumes:
|
|
|
|
|
+ - mongo_backups_preprod:/backup
|
|
|
|
|
+ environment:
|
|
|
|
|
+ # Configuration de la connexion MongoDB
|
|
|
|
|
+ - MONGODB_HOST=database_preprod
|
|
|
|
|
+ - MONGODB_PORT=27017
|
|
|
|
|
+ # Si votre MongoDB a besoin d'authentification, décommentez et ajustez les lignes suivantes:
|
|
|
|
|
+ # - MONGODB_USER=admin
|
|
|
|
|
+ # - MONGODB_PASS=password
|
|
|
|
|
+ # - MONGODB_AUTH_DB=admin
|
|
|
|
|
+
|
|
|
|
|
+ # Configuration des sauvegardes
|
|
|
|
|
+ - BACKUP_LOCATION=/backup
|
|
|
|
|
+ - BACKUP_COMPRESSION=GZIP
|
|
|
|
|
+ - BACKUP_SPLIT_DB=TRUE # Sauvegarde chaque base dans un fichier séparé
|
|
|
|
|
+ - BACKUP_BEGIN=TRUE # Effectue une sauvegarde immédiatement au démarrage
|
|
|
|
|
+ - BACKUP_NAME=mean-fatboar-db # Spécifie la base de données à sauvegarder
|
|
|
|
|
+
|
|
|
|
|
+ # Planification des sauvegardes (format CRON)
|
|
|
|
|
+ - SCHEDULE=*/30 * * * * # Toutes les 30 minutes
|
|
|
|
|
+
|
|
|
|
|
+ # Rotation des sauvegardes
|
|
|
|
|
+ - BACKUP_RETAIN_DAYS=7 # Garde les sauvegardes pendant 7 jours
|
|
|
|
|
+ - BACKUP_CLEANUP_TIME=0430 # Nettoyage des anciennes sauvegardes à 4h30 du matin
|
|
|
|
|
+
|
|
|
|
|
+ # Notifications (optionnel)
|
|
|
|
|
+ - NOTIFICATION_TYPE=none # Peut être configuré pour mail, slack, etc.
|
|
|
|
|
+
|
|
|
|
|
+ # Autres options
|
|
|
|
|
+ - CONTAINER_ENABLE_MONITORING=TRUE
|
|
|
|
|
+ - CONTAINER_NAME=mongodb-backup-preprod
|
|
|
|
|
+ depends_on:
|
|
|
|
|
+ - database_preprod
|
|
|
|
|
+ networks:
|
|
|
|
|
+ - private
|
|
|
|
|
+ restart: unless-stopped
|
|
|
|
|
+
|
|
|
apache_preprod:
|
|
apache_preprod:
|
|
|
- build:
|
|
|
|
|
|
|
+ build:
|
|
|
context: ./
|
|
context: ./
|
|
|
dockerfile: build/docker/apache/Dockerfile
|
|
dockerfile: build/docker/apache/Dockerfile
|
|
|
ports:
|
|
ports:
|
|
@@ -61,14 +106,14 @@ services:
|
|
|
networks:
|
|
networks:
|
|
|
- web
|
|
- web
|
|
|
- private
|
|
- private
|
|
|
- volumes:
|
|
|
|
|
|
|
+ volumes:
|
|
|
- /var/log:/var/log/apache2
|
|
- /var/log:/var/log/apache2
|
|
|
labels:
|
|
labels:
|
|
|
- traefik.enable=true
|
|
- traefik.enable=true
|
|
|
- traefik.http.routers.apache_preprod.rule=Host(`angular-preprod.foodgame.fr`)
|
|
- traefik.http.routers.apache_preprod.rule=Host(`angular-preprod.foodgame.fr`)
|
|
|
- traefik.http.services.apache_preprod.loadbalancer.server.port=80
|
|
- traefik.http.services.apache_preprod.loadbalancer.server.port=80
|
|
|
- traefik.http.routers.apache_preprod.entrypoints=websecure
|
|
- traefik.http.routers.apache_preprod.entrypoints=websecure
|
|
|
- - traefik.http.routers.apache_preprod.tls.certresolver=myresolver
|
|
|
|
|
|
|
+ - traefik.http.routers.apache_preprod.tls.certresolver=myresolver
|
|
|
restart: always
|
|
restart: always
|
|
|
|
|
|
|
|
|
|
|