version: '3.8' networks: private: web: external: true name: web volumes: mongo_data_prod: mongo_backups_prod: services: express_prod: build: context: ./express-server networks: - web - private expose: - "4000" 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: unless-stopped database_prod: image: mongo:4.4.6 volumes: - 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: unless-stopped 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=0 3 * * * # Sauvegarde tous les jours à 3h du matin - BACKUP_RETAIN_DAYS=7 - BACKUP_CLEANUP_TIME=0430 - NOTIFICATION_TYPE=email - NOTIFICATION_EMAIL_TO=admin@foodgame.fr - DEBUG_MODE=FALSE depends_on: - database_prod networks: - private restart: unless-stopped angular_ssr_prod: build: context: ./ # Racine Angular dockerfile: build/docker/angular-ssr/Dockerfile networks: - web - private expose: - "4000" 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: unless-stopped # 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