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.datlicense_MNS_integrator_docker.dat
4. Creer le fichier docker-compose.yml
Images Docker
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
Activez les composants Integrator et Monitor installes via docker-compose.
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 :
9. Configurer SMTP (optionnel)
Optionnel
Pour pouvoir envoyer des notifications et des rapports par email, vous devez configurer les parametres SMTP. La configuration se fait comme suit :
10. WebDrivers pour le composant Monitor (optionnel)
Optionnel
Au demarrage, le monitor telecharge les WebDrivers requis s’il dispose d’un acces internet :
- Chrome : https://googlechromelabs.github.io/chrome-for-testing/
- Firefox : https://github.com/mozilla/geckodriver/releases/
- Edge : https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
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
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 |