Requesting A License

Bokeh uses the Reprise License Manager to manage licenses which provides the option for both node locked and floating solutions. If you haven’t already received a license for Bokeh please contact and provide the hostid generated by running rlmutil rlmhostid or provide the primary ethernet MAC address.

Node Locked Licenses

Installing node locked licenses is the easist option - once you’ve received your license file from Peregrine Labs place it in the appropriate directory for your platform.

Mac: /Library/Application Support/PeregrineLabs/rlm/

Linux: /var/PeregrineLabs/rlm/

Windows: C:/ProgramData/PeregrineLabs/rlm/

Once copied run Nuke and the plug-in will load on start-up.

Floating Licenses

License Server Distribution

A distribution containing the License Server and Tools for your platform can be found at, these are only required if you are going to be serving floating licenses for multiple clients.

Once downloaded extract the contents to the directory of your choice, Bokeh uses the generic RLM license server and a provided peregrinel isv file that must be present for license use to be successful.

To run the server using rlm -c yourlicensefile

License Server Parameters

The rlm command is::

% rlm [-c license_file] [-dlog [+]logfile]
   [-nows] [-ws port] [-x [rlmdown|rlmremove]]
   [-install_service] [-service_name sname]
   [-isv_startup_delay seconds]

The -c license_file option specifies which license file to use. This option overrides the setting of the RLM_LICENSE environment variable. The license_file parameter can be a directory containing license files, all of which will be processed.

The -dlog logfile specifies the pathname for the server debug log. If logfile is preceded by the ‘+’ character, the logfile will be appended, otherwise it is overwritten.

The -nows and -ws port options control the operation of the embedded Web Server. The -nows option instructs the rlm server to not start the embedded web server. The -ws port option instructs the rlm server to use port as the port number for the web server.

The -x [rlmdown | rlmremove] option controls whether the rlmdown and/or rlmremove commands will be processed by the server. Specifying only -x will disable both commands. Specifying either command name after the -x will disable just that command.

These options can appear in any order on the command line.

Note that if the rlm server cannot bind the web server port (5054 by default), it will exit.

Accessing the Server from Clients

Once you have a license server up and running you need to tell the client where to find it, this is done with the peregrinel_LICENSE or RLM_LICENSE environment variable. This should be set to port@hostname with both the port and servername set as per your license file.

Running the RLM Server as a Service on Windows

On Microsoft Windows servers, you may want to install and run the rlm server as a Windows service process. A service process can start automatically at boot time and remain running as long as the system is up, regardless of user logins and logouts.

You can install RLM as a service either in the RLM web interface or in a command window. Once installed as a service, it remains installed until it is explicitly deleted as a service. Installing RLM as a service does not start RLM; services are started via the Windows Services control panel, and at boot time.

To install using the web interface, select Manage Windows Service from the main menu on the left. You will get a form with 3 data fields:

service name

logfile name

optional command-line arguments

All 3 fields will be filled in with default values. You can just select “Install Service”, and the “rlm” service will be installed for you. By default, the logfile is put in the directory with the rlm.exe binary, and it is named rlm.log. Also, by default, rlm will search for all license files in this directory.

If you select Remove Service, the service name specified in the form will be removed.

NOTE: If the instance of rlm which you are running is actually running as a service, you will not be able to Remove the Service (since it is running). To remove the service, you will have to stop the service, and then either use the service control panel in Windows, or run rlm in a command window and use the Remove Service option in the web interface.

Optionally, you can install RLM as a service in a command window. To do this, use the rlm program itself (in a command window), with special arguments:

rlm -install_service -dlog [+]logfile [-service_name sname] <rlm runtime args>

where: logfile is the pathname for the server debug log. This parameter is required. If preceded by the ‘+’ character, the logfile will be appended, rather than created.

sname is an optional name for the installed service. If not specified, sname defaults to “rlm”. If sname contains embedded whitespace, it must be enclosed in double quotes.

<rlm runtime args> are any other command line arguments to be passed to rlm when it is started. Example:

rlm -install_service -service_name rlm-xyz -dlog c:\logs\server.log -c c:\licenses\xyz.lic

This installs rlm as a service under the name “rlm-xyz”. When started via the Services control panel or at boot time, rlm will be passed the “-c c:licensesxyz.lic” args, and it will write it’s debuglog information to the file c:logsserver.log

Installed RLM services are also deleted with the rlm program. Services must be stopped via the service control panel before they can be deleted. Note that deleting a service deletes it from the Windows service database; it does not delete the rlm executable or associated license file(s):

rlm -delete_service [-service_name sname]

where: sname is an optional name for the installed service. If not specified, service_name defaults to “rlm”. If service_name contains embedded whitespace, it must be enclosed in double quotes.

Running the RLM Server as a Service on Linux

On most Unix systems, system services are started at boot time, usually via startup scripts located in /etc/rc.<something>. For example, the script could be located in /etc/init.d/rlm, with a link to /etc/rc5.d/S98rlm. Note that you must install this startup script as root.

The startup script should su to a different user so that the rlm servers are not running as root.

If required please contact support for a sample start up script.

Running the RLM Server as a Service on OSX

On Mac systems, the server can be started by placing a script in /Library/LaunchDaemons.

The following is an example of a script which would start rlm at boot time on Mac systems. Note that this script must be placed in the /Library/LaunchDaemons directory, and it must have an extension of .plist.

You should change ABSOLUTE_PATH_TO_RLM to the path to the rlm server binary. You can add additional ProgramArguments as needed:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">

RLM Embedded Web Server

The rlm server contains an embedded Web Server which can be used to perform most administration of the rlm server itself. The web server allows you to retrieve server and license status (similar to rlmstat), cause the servers to re-read the license files (rlmreread), switch debug (rlmswitch) or report log (rlmswitchr) files, move the current report log file to a new name (rlmnewlog), or shut down the license servers (rlmdown). Using this web-based interface, you can administer the license servers from any platform, and you do not need to install the rlm utilities - you only need a web browser.

The web server is started automatically on port 5054 when rlm is started. To use the web server, simply point your browser to: http://ServerHostName:5054 and select the operation you would like to perform. You will be prompted for any required information.

If you would like to run the web server on a different port, specify the -ws NNNNN command-line argument when starting rlm, where NNNNN is the desired port.

The RLM web server is 100% self-contained in the rlm binary; no additional html files are required for operation.

Serving Licenses for Multiple RLM ISV’s

When you have licensed software from multiple ISVs, you have two choices for how to configure rlm and the ISV servers when running them on a single license server system.

The first choice is to keep them entirely separate, using separate installation directories and port numbers for the client and web interface. Although conceptually simple management and use becomes more complex, the number of used ports are increased and there will be multiple web interfaces to check license usage.

The second choice is to run a single instance rlm, which manages two (or more) ISV servers. This is the method recommended by ourselves and Reprise Software and is much simpler to manage, you only have a single RLM port to be managed and a unified web interface.

To do this you need to make sure you choose the latest version of the RLM license manager supplied by the vendors ( they are backwards compatible ) or better yet, download the latest version from Reprises website ( ).

Copy over the <ISV>[.exe] or <ISV>.set files from all of the vendors.

Copy over all of the .lic ( license ) files supplied by all of the vendors.

Once all of the required files have been copied the RLM server can be started as usual, use the web interface to confirm that all relevant licenses have been accounted for.