Template MongoDB/MongoDB Express

Environnement complet de développement avec MongoDB et interface d'administration

Responsable : M. Rousseau mickael.rousseau@univ-tours.fr

Description du template

Ce template configure un environnement complet pour le développement, le test et l'exécution d'applications basées sur MongoDB. Il contient plusieurs services collaborant entre eux dans un réseau privé Docker.

Services inclus

MongoDB

Serveur MongoDB pour stocker les données de l'application

MongoDB Express

Interface web simple pour gérer les bases de données MongoDB

Authentification

Login et mot de passe configurables

Import de données

Volume d'import pour les données initiales

Informations du template
  • MongoDB : Version latest
  • MongoDB Express : Dernière version
  • Port MongoDB : 27017
  • Port Express : 8081
  • Type : DSI Université
DSI Université NoSQL Base de données

Détails des services

MongoDB

Fournit un serveur MongoDB pour stocker les données de l'application.

Login et mot de passe par défaut :
  • Login : Défini dans le formulaire du template
  • Mot de passe : Défini dans le formulaire du template
MongoDB Express

Fournit une interface web simple pour gérer les bases de données MongoDB (type phpMyAdmin mais pour MongoDB). Permet à l'utilisateur de se connecter en utilisant le compte créé ci-dessus.

Login et mot de passe par défaut :
  • Login : Défini dans le formulaire du template
  • Mot de passe : Défini dans le formulaire du template
Ils sont identiques pour MongoDB et MongoDB Express

Avantages

  • Simplifie le déploiement d'un environnement de développement MongoDB complet
  • Fournit un accès sécurisé à un outil de gestion de base de données
  • Permet de travailler avec des données persistantes et un code modifiable en temps réel
  • Avec ce template, un développeur dispose d'une solution prête à l'emploi pour développer et tester une application basée sur MongoDB

Importation des Données

Volume d'import automatique

Un volume d'import de base est monté dans /docker-entrypoint-initdb.d.

Un script est lancé afin d'importer toutes les bases au format BSON contenues dans ce répertoire d'import.

Important : Seul un administrateur du TP peut ajouter des données d'import dans ce répertoire, il est donc important de contacter votre responsable de TP ou la DSI pour aller poser les fichiers d'imports dans ce répertoire.

Docker Compose du Template

Configuration Docker Compose
services:
  mongodb-{{nom}}:
    image: mongo:latest
    container_name: mongodb-{{nom}}
    environment:
      MONGO_INITDB_ROOT_USERNAME: {{nom}}
      MONGO_INITDB_ROOT_PASSWORD: {{password}}
      MONGO_INITDB_DATABASE: {{nom}}
    ports:
      - "0:27017"
    volumes:
      - mongodb_data_{{nom}}:/data/db
      - mongodb_data_import:/docker-entrypoint-initdb.d:ro
    networks:
      - mongodb_network_{{nom}}

  mongodb-express-{{nom}}:
    image: mongo-express
    container_name: mongodb-express-{{nom}}
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: {{nom}}
      ME_CONFIG_MONGODB_ADMINPASSWORD: {{password}}
      ME_CONFIG_MONGODB_SERVER: mongodb-{{nom}}
      ME_CONFIG_BASICAUTH_USERNAME: {{nom}}
      ME_CONFIG_BASICAUTH_PASSWORD: {{password}}
      ME_CONFIG_CONNECT_RETRIES: 0
    ports:
      - "0:8081"
    networks:
      - mongodb_network_{{nom}}
    depends_on:
      - mongodb-{{nom}}

networks:
  mongodb_network_{{nom}}:
    driver: bridge

volumes:
  mongodb_data_{{nom}}:
    driver: local
  mongodb_data_import:
    external: true

Prêt à utiliser MongoDB ?

Déployez votre environnement MongoDB complet en quelques clics

Accéder à Portainer Retour aux templates