OpenLM Router system requirements
To deploy OpenLM Router, prepare a single Linux host inside your network, close to the license servers it fronts. The Router runs as a set of containers on that host. Confirm the following before you deploy.
OpenLM license
Your OpenLM license must include the Router. In OpenLM Platform, open the license summary at https://<your-platform>/licensemanager/#/license-summary and look for the Router feature. A license issued before the Router existed does not include it.
Without the feature, LicOps Configuration, where you define failover pairs in OpenLM Platform, still opens. Each page then shows the following notice instead of its content, and saves are refused:
"Router License is not available with current openLM License, please contact with support team for more information."
The notice ends with a link to your OpenLM license information. If OpenLM Platform cannot reach the OpenLM LicenseManager to check the license, the pages show the following notice instead, and configuration stays read-only until the check succeeds:
"The Router license check could not be completed: the OpenLM LicenseManager is not reachable. Configuration is read-only until it answers."
A Router that is already configured keeps running and failing over without the feature. Only changes to its failover pairs are refused. Contact OpenLM to have your license reissued.
Host requirements
The host must meet these requirements:
- A 64-bit Linux host. Windows hosts are not supported.
- Docker Engine 20.10 or higher, with the Docker Compose v2 plugin. Confirm with
docker compose version. - Either processor architecture,
linux/amd64orlinux/arm64. The Router images are published for both.
The Router itself is small. Size the host for the datastores and for the license traffic passing through it rather than for the proxy. The following table lists the CPU, memory, and disk resources:
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| Memory | 2 GB | 4 GB |
| Disk | 10 GB | 20 GB or more |
Datastores
The Router needs MongoDB and Redis. You can run them as containers beside the Router or point it at servers you already operate. The following table lists the supported versions:
| Datastore | Version | What it holds |
|---|---|---|
| MongoDB | 7.x | The routing configuration and the failover history. A single node is fine. |
| Redis | 7.x | Which server each pair is serving from, and the background job schedule of the Router. |
Redis persistence is required
Configure Redis with append-only persistence and no eviction:
appendonly yes
appendfsync everysec
maxmemory-policy noeviction
Both settings prevent a silent failure, and neither is optional.
maxmemory-policy noeviction protects the record of which server each pair is serving from. That key has no expiry by design, because it is the only record of the role. If Redis evicts it, a pair that had failed over quietly reverts to its primary, and a license server that is genuinely down starts receiving traffic again.
Persistence protects the job schedule of the Router. The Router registers its recurring jobs, including the OpenLM Platform health sync, only at startup. If Redis comes back empty while the Router keeps running, those registrations are gone: health data stops refreshing and failover stops working, with no error raised. The only visible symptom is that requests for the OpenLM Platform server list begin returning 503. Restarting the Router restores the schedule.
Redis Cluster is not supported.
Network requirements
The following table lists the network connections the Router needs:
| Direction | Destination | Purpose |
|---|---|---|
| Outbound from the Router host | Your OpenLM Platform, over HTTPS | Server health, the license server list, and the Router configuration. |
| Outbound from the Router host | Each license server's lmgrd port, the port in port@host, typically 27000 | The proxied license traffic. For a FlexLM triad, open the port on all three machines: the Router also checks them itself. |
| From workstations | Each license server's vendor-daemon port, on the primary and the backup | The second leg of every checkout. The Router carries the client's first connection, to lmgrd, and the client then connects to the vendor daemon directly. Fix the vendor-daemon port in each license file with PORT= on the VENDOR line, so you can open it in the firewall. |
| Inbound to the Router host | The listen port of each failover pair | FlexLM clients reach the Router here. |
| Inbound to the Router host, from your administration network only | Ports 8100 and 8101 | The REST API of the Router, and the Router UI you use to connect the Router to OpenLM Platform. |
Ports 8100 and 8101 are administration interfaces. Allow access to them only from your administration network, and do not publish them to the internet. Publish only the license ports your clients use.
OpenLM Platform prerequisites
Before you deploy, confirm the following in OpenLM Platform:
- Broker on each license server: Each license server in a pair, the backup as well as the primary, is monitored by OpenLM through the OpenLM Broker. OpenLM Platform knows a license server, and its health, only through the Broker installed on that machine, so a server without a running, approved Broker never appears when you choose servers for a pair.
- Access to LicOps Configuration: You can open LicOps Configuration in OpenLM Platform. It is under Licenses and Features in the Navigation menu, and it is where you define failover pairs. You need an OpenLM Platform account with access to it, such as an account administrator.
- Router client in Identity: You can create a Router client in Identity. In OpenLM Platform, open Identity, select Authorization, and add a client whose Client Type is
Router. You need its authorization file, or its Client ID and Client Secret, to connect the Router.
The client type is what OpenLM Platform grants permissions by. A credential of a different type can authenticate successfully and still be refused the queries the Router makes, which surfaces later as a missing server list rather than as a sign-in error. For the Router client steps, see Configure OpenLM Router.
Prepare each license server
A backup server that serves no users is the one most likely to have no Broker. Check it before you build the pair. For each license server:
- Install the OpenLM Broker on the license server machine.
- Approve the Broker in Broker Hub.
- Approve the license server under License Servers, then Pending Servers, with Approve And Merge.
- Check that Live Servers Statistics in License Servers shows the server as Up.
For more information, see Install Broker, Broker Hub, Flexera FlexNet (FLEXlm), and License Servers.
Encryption key
The Router encrypts the OpenLM Platform client secret before storing it. Generate a 32-byte key once per deployment:
openssl rand -base64 32
Keep the 44-character string the command prints. It decrypts credentials already stored in MongoDB, so replacing it does not rotate them. It makes them unreadable, and you have to enter the OpenLM Platform connection again.
Store the string exactly as openssl printed it. It is already the Base64 form of 32 random bytes, so running it through base64 a second time produces a 44-byte value where 32 is expected, and the first save of the OpenLM Platform connection fails.
Continue to Deploy OpenLM Router to run the containers.
The documentation team might draft this page using a large language model. A technical writer reviews every page and verifies it against the product before publishing it. A human makes the final decision.