Install on Docker

This guide explains how to install Mugnsoft using Docker.
You’ll find a docker-compose which you can adapt to your own requirements.

Prerequisites

  • A working Docker environment
  • Docker Compose installed

1. Set up a docker-compose project

Create a folder for your Docker Compose configuration:


mkdir mugnsoft && cd mugnsoft


2. Create a docker-compose .env File

This file defines container variables. You can copy and adjust the following template: (assuming we want to use XX_VERSION 2.0)


cat > .env << 'EOF'
## Image versions
WEBSERVER_VERSION=2.0
MONITOR_VERSION=2.0
INTEGRATOR_VERSION=2.0

## Project name and version
PROJECT_NAME=mugnsoft
PROJECT_VERSION=v2

## Host ports
WEBSERVER_PORT_WEB=9092
WEBSERVER_PORT_API=8060
MONITOR_PORT=8061
INTEGRATOR_PORT=8063

## Volume paths
VOLUME_BASE=${PWD}
EOF


3. Add License Files

Copy the license files received by email into the mugnsoft folder with the following naming convention:

  • license_MNS_docker.dat
  • license_MNS_integrator_docker.dat

4. Create the docker-compose.yml File

Docker images

We will use the Mugnsoft official docker image that can be found here : https://hub.docker.com/u/mugnsoft

Copy/Paste this docker-compose.yml file:


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}:8053"
    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
EOF


5. Create Docker Volumes Folders

Create the local Docker volumes folder and set the correct ownership. This ensures persistent data across reboots.


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. Start and Verify Containers

Start:


docker-compose up -d

Check:


docker ps | grep mugnsoft


7. Minimum configuration

You can now access the Webserver WebUI in your browser at: https://<docker_host>:9092/

Please change the default pwd after logging.

Access

The default user/pwd is: admin/admin.
login admin pwd change admin pwd change

Enable the Integrator and Monitor components installed via docker-compose.

components enable integrator enable monitor

8. Import some dummy tests and a dummy app called demo app

First off, download the demo materials here.

You can import each csv files with the below steps:

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

9. Configure SMTP (optional)

Optional

Set the SMTP config if you want to send alerte notifications and report via email

To be able to send email notifications and reports, you need to configure the smtp settings. This is done as below:

smtp step 1 smtp step 2 smtp step 3

10. Webdrivers for Monitor Component (optional)

Optional

Webdrivers are only needed for End User Monitoring (user journeys) on this monitor/probe. If the monitor has internet access, the required webdrivers will download automatically; otherwise, download them manually.

On startup, the monitor downloads required webdrivers if it has internet access:

If internet access is blocked, download and place them manually in <monitor_installDir>/drivers.

Browser Webdriver Download Link
Chrome Chromedriver Download here
Firefox Geckodriver Download here
Edge msedgedriver Download here
Safari Built-in No driver required

11. Install Mugnsoft Electron App (optional)

Optional

The Mugnsoft Electron App simplifies recording user journeys with click-based actions—otherwise, it’s not required.

This app enables automatic code generation for Mugnsoft scenarios.
See the Mugnsoft IDE documentation.

Type Download Link
Portable App Download here
Setup Install Download here