############## Virtualization ############## RLM provides capabilities to enable and/or restrict the usage of both applications and license servers in virtual environments. By default, RLM allows **applications** to run in virtual environments. Also, by default, RLM does not allow **license servers** to run in virtual environments. You can restrict application usage in virtual environments by using the "disable=vm" keyword in the license. See :ref:`disable-computing-environments` for more information. RLM's default behavior regarding running servers on VMs is designed to prevent accidental/uninformed/unintended use of them. It's not that we actively discourage the practice - it's more that we want you to think about your policy regarding VMs so you make an informed decision. The problem of course is that it is trivial to clone a VM image, hostid and all, and run multiple copies of it in an enterprise, thus gaining multiple sets of licenses if a license server runs there. Control over whether license servers run in a virtual environment is in two places - you set the default in rlm_isv_config.c with the *rlm_isv_cfg_set_enable_vm()* call. If the second parameter is 0 (the default), then your servers will not operate in virtual environments. If it is set to any non-zero value, your servers will all run on virtual machines. If you want to enable license servers for only certain trusted customers, you can leave the default in rlm_isv_config.c set to disable servers on VMs, and issue an **rlm_server_enable_vm** license for the individual machine for which you want to enable. So, for example, the following license would enable a license server (where the license is valid) to run on a virtual machine through the end of 2025: .. code-block:: text LICENSE ISVNAME rlm_server_enable_vm 1.0 31-dec-2025 1 sig=xxx .. note:: The rlm_server_enable_vm license will not be visible in status requests, or in rlm_products() calls. .. note:: RLM treats Docker containers on non-Windows systems the same as virtual machines.