Evaluation with Docker Compose

tutorial

If you are interested in evaluating Mender features as an end to end solution, please visit Get Started

If you are interested in setting up a Mender Server for production, visit Production installation with Kubernetes.

This tutorial covers how to setup a demonstration environment of the Mender server. This is not intended for production use, the demonstration environment is insecure and is not optimized to run effectively.

This can be useful if you want to familiarize your self with the Mender Server before you move on to Production installation.

Requirements

The demo environment requires the following components to be available on your system:

In addition, add the following lines to /etc/hosts:

127.0.0.1 s3.docker.mender.io
127.0.0.1 docker.mender.io

This is needed because demo certificates for the HTTPS communication are created for s3.docker.mender.io and docker.mender.io

Manage the Mender demo instance

Starting the demo

Clone the integration repository which contains everything that is need to start the demo server:

git clone -b 3.7.9 https://github.com/mendersoftware/integration.git integration-3.7.9

If you want to use a pre-release version of the backend, use -b master in the command above.

Change directory to the cloned repository:

 cd integration-3.7.9

Start the demo server:

./demo up

After a short while, depending on your network connection speed, you should see similar output to the following:

Starting the Mender demo environment...
Creating network "integrationmaster_mender" with the default driver
Creating integrationmaster_mender-reporting-indexer_1 ...
Creating integrationmaster_mender-gui_1               ... done
Creating integrationmaster_minio_1                    ... done
Creating integrationmaster_mender-mongo_1             ... done
Creating integrationmaster_mender-opensearch_1 ... done
Creating integrationmaster_mender-reporting-indexer_1      ... done
Creating integrationmaster_mender-reporting_1              ... done
Creating integrationmaster_mender-deviceconfig_1           ... done
Creating integrationmaster_mender-iot-manager_1            ... done
Creating integrationmaster_mender-inventory_1              ... done
Creating integrationmaster_mender-useradm_1                ... done
Creating integrationmaster_mender-deviceconnect_1          ... done
Creating integrationmaster_mender-workflows-server_1       ... done
Creating integrationmaster_mender-create-artifact-worker_1 ... done
Creating integrationmaster_mender-workflows-worker_1       ... done
Creating integrationmaster_mender-device-auth_1            ... done
Creating integrationmaster_mender-api-gateway_1            ... done
Creating integrationmaster_mender-deployments_1            ... done
Waiting for services to become ready...
Creating a new user...
****************************************

Username: mender-demo@example.com
Login password: xxxxxxxxxxxx

****************************************

Please note that Docker Hub enforced limits on pulls originating from anonymous users to 100 per 6 hours (see: Docker pricing). This means that, for reasons completely independent from Mender, the above step may fail and you may have to retry after some time.

The script created a demo user, and you can login to the Mender UI by visiting https://localhost.

You might get a warning from your browser that the site is not secure. This is because we use self-signed certificates in the demo environment and can be safely ignored.

Stopping the demo

To stop the demo use Ctrl+C. This will only stop the containers, but will not remove them. To remove containers use commands from the section below.

Clean up the environment

You will lose all state data in your Mender demo environment by running the commands below, which includes devices you have authorized, software uploaded, logs, deployment reports and any other changes you have made.

If you want to remove all state in your Mender demo environment and start clean, run the following commands in the integration-3.7.9 directory:

./demo stop
./demo rm -v
./demo up

We welcome contributions to improve this documentation. To submit a change, use the Edit link at the top of the page or email us at .