Installation sur Docker

Ce guide explique comment installer Mugnsoft avec Docker. Vous y trouverez un docker-compose que vous pouvez adapter a vos propres besoins.

Prerequis

  • Un environnement Docker fonctionnel
  • Docker Compose installe

1. Creer un projet docker-compose

Creez un dossier pour votre configuration Docker Compose :


mkdir mugnsoft && cd mugnsoft


2. Creer un fichier .env pour docker-compose

Ce fichier definit les variables des conteneurs. Vous pouvez copier et adapter le modele suivant : (en supposant que nous souhaitons utiliser XX_VERSION 3.0.0)


cat > .env << 'EOF'

## Image versions

WEBSERVER_VERSION=4.0.0
MONITOR_VERSION=4.0.0
INTEGRATOR_VERSION=4.0.0
DISCOVERY_AGENT_VERSION=4.0.0

## Project name and version

PROJECT_NAME=mugnsoft
PROJECT_VERSION=v3

## Host ports

WEBSERVER_PORT_WEB=9092
WEBSERVER_PORT_API=8060
MONITOR_PORT=8061
INTEGRATOR_PORT=8062
DISCOVERY_AGENT_PORT=8070

## Volume paths

VOLUME_BASE=${PWD}
EOF


3. Ajouter les fichiers de licence

Copiez les fichiers de licence recus par email dans le dossier mugnsoft avec la convention de nommage suivante :

  • license_MNS_docker.dat
  • license_MNS_integrator_docker.dat

4. Creer le fichier docker-compose.yml

Images Docker

Nous utiliserons les images Docker officielles de Mugnsoft disponibles ici : https://hub.docker.com/u/mugnsoft

Copiez/Collez ce fichier docker-compose.yml :


cat > docker-compose.yml << 'EOF'
version: "3.8"

networks:
frontend:
driver: bridge

services:
webserver:
image: ${PROJECT_NAME}/webserver:${WEBSERVER_VERSION}
container_name: ${PROJECT_NAME}_webserver
    hostname: webserver
    networks:
      - frontend
    ports:
      - "${WEBSERVER_PORT_WEB}:9090" - "${WEBSERVER_PORT_API}:8050"
    volumes:
      - ${VOLUME_BASE}/webserver_dbs:/home/mugnsoft/webserver/dbs
      - ${VOLUME_BASE}/webserver_data:/home/mugnsoft/webserver/data
      - ${VOLUME_BASE}/webserver_config:/home/mugnsoft/webserver/config
      - ${VOLUME_BASE}/license_MNS_docker.dat:/home/mugnsoft/webserver/license_MNS.dat
      - /etc/machine-id:/host/etc/machine-id:ro
    environment:
      - SERVICE_NAME=webserver
      - SERVICE_VERSION=${WEBSERVER_VERSION}
restart: unless-stopped
labels: - "com.mugnsoft.service=webserver" - "com.mugnsoft.version=${WEBSERVER_VERSION}"

monitor:
image: ${PROJECT_NAME}/monitor:${MONITOR_VERSION}
container_name: ${PROJECT_NAME}_monitor
    hostname: monitor
    networks:
      - frontend
    ports:
      - "${MONITOR_PORT}:8051"
volumes: - ${VOLUME_BASE}/monitor_dbs:/home/mugnsoft/monitor/dbs
      - ${VOLUME_BASE}/monitor_data:/home/mugnsoft/monitor/data
      - ${VOLUME_BASE}/monitor_config:/home/mugnsoft/monitor/config
    cap_add:
      - NET_RAW
    environment:
      - SERVICE_NAME=monitor
      - SERVICE_VERSION=${MONITOR_VERSION}
restart: unless-stopped
labels: - "com.mugnsoft.service=monitor" - "com.mugnsoft.version=${MONITOR_VERSION}"
depends_on: - webserver

integrator:
image: ${PROJECT_NAME}/integrator:${INTEGRATOR_VERSION}
container_name: ${PROJECT_NAME}_integrator
    hostname: integrator
    networks:
      - frontend
    ports:
      - "${INTEGRATOR_PORT}:8052"
volumes: - ${VOLUME_BASE}/integrator_dbs:/home/mugnsoft/integrator/dbs
      - ${VOLUME_BASE}/integrator_data:/home/mugnsoft/integrator/data
      - ${VOLUME_BASE}/integrator_config:/home/mugnsoft/integrator/config
      - ${VOLUME_BASE}/license_MNS_integrator_docker.dat:/home/mugnsoft/integrator/license_MNS.dat
      - /etc/machine-id:/host/etc/machine-id:ro
    environment:
      - SERVICE_NAME=integrator
      - SERVICE_VERSION=${INTEGRATOR_VERSION}
restart: unless-stopped
labels: - "com.mugnsoft.service=integrator" - "com.mugnsoft.version=${INTEGRATOR_VERSION}"
depends_on: - webserver - monitor

discovery_agent:
image: ${PROJECT_NAME}/discovery_agent:${DISCOVERY_AGENT_VERSION}
container_name: ${PROJECT_NAME}_discovery_agent
    hostname: discovery_agent
    networks:
      - frontend
    ports:
      - "${DISCOVERY_AGENT_PORT}:8070"
volumes: - ${VOLUME_BASE}/discovery_agent_dbs:/home/mugnsoft/discovery_agent/dbs
      - ${VOLUME_BASE}/discovery_agent_data:/home/mugnsoft/discovery_agent/data
      - ${VOLUME_BASE}/discovery_agent_config:/home/mugnsoft/discovery_agent/config
    cap_add:
      - NET_RAW
    environment:
      - SERVICE_NAME=discovery_agent
      - SERVICE_VERSION=${DISCOVERY_AGENT_VERSION}
restart: unless-stopped
labels: - "com.mugnsoft.service=discovery_agent" - "com.mugnsoft.version=${DISCOVERY_AGENT_VERSION}"
depends_on: - webserver
EOF


5. Creer les dossiers de volumes Docker

Creez les dossiers de volumes Docker locaux et definissez les permissions appropriees. Cela garantit la persistance des donnees apres les redemarrages.


mkdir ./{webserver_config,webserver_data,webserver_dbs}
mkdir ./{monitor_config,monitor_data,monitor_dbs}
mkdir ./{integrator_config,integrator_data,integrator_dbs}
mkdir ./{discovery_agent_config,discovery_agent_data,discovery_agent_dbs}

chown -R 1000:1000 ./{webserver_config,webserver_data,webserver_dbs}
chown -R 1000:1000 ./{monitor_config,monitor_data,monitor_dbs}
chown -R 1000:1000 ./{integrator_config,integrator_data,integrator_dbs}
chown -R 1000:1000 ./{discovery_agent_config,discovery_agent_data,discovery_agent_dbs}


6. Demarrer et verifier les conteneurs

Demarrage :


docker-compose up -d

Verification :


docker ps | grep mugnsoft


7. Configuration minimale

Vous pouvez maintenant acceder a l’interface web du Webserver dans votre navigateur a l’adresse : https://<docker_host>:9092/

Veuillez modifier le mot de passe par defaut apres la connexion.

Acces

L’utilisateur/mot de passe par defaut est : admin/admin.
login admin pwd change admin pwd change

Activez les composants Integrator et Monitor installes via docker-compose.

components enable integrator enable monitor

8. Importer des tests de demonstration et une application fictive appelee demo app

Tout d’abord, telechargez les materiaux de demonstration ici.

Vous pouvez importer chaque fichier CSV en suivant les etapes ci-dessous :

import step 1 import step 2 import step 3 import step 4

9. Configurer SMTP (optionnel)

Optionnel

Configurez les parametres SMTP si vous souhaitez envoyer des notifications d’alerte et des rapports par email.

Pour pouvoir envoyer des notifications et des rapports par email, vous devez configurer les parametres SMTP. La configuration se fait comme suit :

smtp step 1 smtp step 2 smtp step 3

10. WebDrivers pour le composant Monitor (optionnel)

Optionnel

Les WebDrivers sont necessaires uniquement pour la supervision de l’experience utilisateur (parcours utilisateur) sur ce monitor/sonde. Si le monitor dispose d’un acces internet, les WebDrivers requis seront telecharges automatiquement ; sinon, telechargez-les manuellement.

Au demarrage, le monitor telecharge les WebDrivers requis s’il dispose d’un acces internet :

Si l’acces internet est bloque, telechargez-les et placez-les manuellement dans <monitor_installDir>/drivers.

Navigateur WebDriver Lien de telechargement
Chrome Chromedriver Telecharger ici
Firefox Geckodriver Telecharger ici
Edge msedgedriver Telecharger ici
Safari Integre Aucun pilote requis

11. Installer l’application Electron Mugnsoft (optionnel)

Optionnel

L’application Electron Mugnsoft simplifie l’enregistrement des parcours utilisateur avec des actions par clic – sinon, elle n’est pas necessaire.

Cette application permet la generation automatique de code pour les scenarios Mugnsoft. Consultez la documentation de Mugnsoft IDE.

Type Lien de telechargement
Application portable Windows Telecharger ici
Installation Windows Telecharger ici

Traductions