Both GAMS MIRO Desktop - boosted by GAMS Engine and GAMS MIRO Server are currently under development. This part of the documentation is updated regularly.


In the most basic setup - GAMS MIRO Desktop - both the MIRO application and GAMS itself are installed on the same computer and run exclusively on this machine. But MIRO is not limited to this setup: You can run your MIRO applications locally, but solve the GAMS jobs in the cloud. For you nothing changes, the MIRO interface remains the same. We call this setup GAMS MIRO Desktop - boosted by GAMS Engine. GAMS Engine is a product based on Docker, which uses state-of-the-art technology to handle the entire job management, scheduling and load balancing of your computationally intensive optimization problems. The same technology is also used for the last MIRO setup: GAMS MIRO Server. GAMS MIRO Server allows you to run both the GAMS execution engine as well as the MIRO application itself in the cloud. Your optimization applications can then be accessed from any device with a modern web browser like a PC, smartphone or tablet.


Both GAMS MIRO Desktop - boosted by GAMS Engine and GAMS MIRO Server are not part of GAMS MIRO Desktop, but must be purchased separately. Please contact if you are interested in one of these setups.

Installation and usage

Both GAMS MIRO Server and GAMS MIRO Desktop - boosted by GAMS Engine - the latter already carries the name - make use of the GAMS Engine to run GAMS jobs on one or more servers. The following section explains how to set up GAMS MIRO Server.


The following installation instructions refer exclusively to the installation of GAMS MIRO Server. The corresponding installation steps have to be performed on the server used for this purpose.


Since GAMS MIRO Server is based on Docker technology, both Docker and docker-compose must be installed on the server first.

To use the Docker CLI without sudo, you must add your user to the docker group.

Install GAMS MIRO Server

If you have purchased GAMS MIRO Server, GAMS will provide you with a ZIP file that contains everything you need to get started.

  • Once the prerequisites are set up, copy the ZIP file to your server in a directory of your choice and unzip it there.

    GAMS MIRO applications will later be stored at this location.

  • Next, login to the GAMS Docker registry. To do so, run
    > docker login
    with the credentials GAMS provided you with.
  • Afterwards, you are ready to install MIRO Server by running:
    > ./miro-compose install.
    The installation script will inform you whether the installation was successful or not.
  • GAMS MIRO Server requires an instance of GAMS Engine to solve the GAMS jobs. You have to provide the credentials to GAMS Engine via environment variables. You can either set these variables inside the shell you start GAMS MIRO Server from or append them to the .env file that is located inside the ZIP file mentioned above. The following environment variables have to be set:
    Environment Variable Name Environment Variable Value Example
    GMS_MIRO_ENGINE_HOST IP adress and port/DNS of Engine
    GMS_MIRO_ENGINE_NS Namespace to use for GAMS MIRO Server miro_server
    GMS_MIRO_ENGINE_USER Name of a user that is an inviter (or admin) inside the given namespace miro_server_admin
    GMS_MIRO_ENGINE_PWD Password of the user miro_server_admin_password


Once you have GAMS MIRO Server installed, you can launch it via

> ./miro-compose start.
GAMS MIRO Server will now listen on port 8080. After the installation, there is a single administrator with username: admin and password admin.


To update GAMS MIRO Server to the latest version, run

> ./miro-compose update
Note that this will pull new images from the GAMS Docker registry and launch them. If you only want to pull new images, run
> ./miro-compose pull


To stop a running instance of GAMS MIRO Server, run

> ./miro-compose stop


To remove GAMS MIRO Server including all data associated with it from your server, run

> ./miro-compose uninstall
Additionally, you can remove the directory where you extracted the configuration files of the GAMS MIRO Server.


The entire customization in GAMS MIRO Server is done in the file data/application.yml. Here you can add/remove users, change the authentication method or the language of GAMS MIRO.


Please make sure each user is assigned to at least one group. MIRO does not support assigning users to no group at all!

Nginx example configuration

We suggest to run GAMS MIRO Server behind a reverse proxy such as nginx. The following configuration will allow you to access GAMS MIRO Server on the root of your server:

map $http_upgrade $connection_upgrade {
   default upgrade;
   ''      close;
location / {

    client_max_body_size 200M;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 600s;

    proxy_redirect    off;
    proxy_set_header  Host             $http_host;
    proxy_set_header  X-Real-IP        $remote_addr;
    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto $scheme;

You may want to host MIRO Server on a different path. To do this, you must adjust the context path in the file application.yml accordingly (server.servlet.context-path).


Note that with SELinux active (e.g. CentOS/RHEL), you have to allow your nginx server to proxy to the upstream MIRO Server host. You can do so by running:

> setsebool -P httpd_can_network_connect 1

GAMS MIRO Desktop - Boosted by GAMS Engine

With GAMS MIRO Desktop - Boosted by GAMS Engine, you can solve GAMS jobs in the cloud with your locally running MIRO applications. This requires an instance of GAMS Engine to solve the GAMS jobs. In order to use switch from executing your optimization jobs on your local machine to solving them in the cloud you only have to activate the checkbox "Execution of models on GAMS Engine" in the preferences of GAMS MIRO.

Enable remote execution

The next time you start a MIRO application a login button appears in the upper right corner. Click on it in order to connect to GAMS Engine.


You can use GAMS Engine for both MIRO applications that are still under development (started via GAMS Studio) and for already deployed apps.


In the login form, there are two additional checkboxes:

Is your model registered in the namespace?
If a GAMS job is to be solved in the cloud, the GAMS model must be available on the corresponding server for the namespace you chose. There are two possibilities:

  • The model is sent to the server for each job submission together with the scenario data and deleted after the job is solved.
  • The model is registered on the server, i.e. the model data is stored permanently. Only the scenario data is communicated with the server during a job submission. Learn here how to register a model.

Remember me
Your credentials will be saved so that you will not have to log in again the next time you start the application.