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 # 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_preprod: # 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 # links: # - database_preprod # restart: always # database_preprod: # # container_name: mongo_"${ENV}" # image: mongo:4.4.6 # ports: # - "27017:27017" # volumes: # - ./backup:/backup # - mongo_data_preprod:/data/db # # - /var/lib/mongodb/data_preprod:/data/db # # - database:/data/database # labels: # - traefik.enable=true # - traefik.http.routers.database_preprod.rule=Host(`mongodb-preprod.foodgame.fr`) # # - traefik.http.routers.apache_prod.rule=Host(`${URLMONGO}`) # - traefik.http.services.database_preprod.loadbalancer.server.port=27017 # - traefik.http.routers.database_preprod.entrypoints=websecure # - traefik.http.routers.database_preprod.tls.certresolver=myresolver # networks: # - web # - private # #- pipeline-test-FatboarProject_default # #- pipeline-test-FatboarProject_private # restart: always # apache_preprod: # # 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_preprod.rule=Host(`angular-preprod.foodgame.fr`) # # - traefik.http.routers.apache_prod.rule=Host(`${URLANGULAR}`) # - 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