◷ Reading Time: 27 minutes
Server Prerequisites
Before beginning the installation, ensure that your installation environment meets the necessary software and hardware requirements.
Download Installation Files
- Go to your profile: http://my.flexrule.com/.
- Log in with your FlexRule username and password.
- Go to the download section, click Download, and click on Download Now to download the FlexRule Server installation file.
- A zip file will be downloaded.

- Unzip the downloaded file. There will be four setup files.

There are four separate installations.
- Identity Node: Manage the authentication and handling services.
- ExecutionController: Responsible for all execution services.
- ExecutionWorker: Executes the services.
- Workbench: The interface of the server manages the licenses, users, jobs, events, packages, etc.
- AssetManagement: Responsible for storing, organizing, and versioning decisions.
Install FlexRule OPEN Identity Node
Identity Node Installation
First, install the Identity node.
FlexRule.OPEN.Identity.<version>Setup.exe


Select the installation location for the Identity node.




Run the Configurator for the Identity node
Once the configurator appears, by default, Identity will be selected. Click Next to start the configuration process.

Server IP Address and Port
Each instance of FlexRule OPEN node needs to listen to a specific IP and port to respond to requests. You can use either localhost or the machine’s IP address.

Debug and Tracing
FlexRule Open lets you log and monitor events. You will likely find it useful to write these to a log file so you can investigate errors.
You can also choose to write to the Windows System Event Log if you want to use the Event Viewer available in Windows to monitor the application.
When an error occurs on the FlexRule OPEN node, it is sent as an event to a particular monitoring channel (e.g., the local file). The local file for logging should be different for each FlexRule OPEN node.
If you’re unsure, just use the default setting.

Default Accounts
User accounts are used to manage the FlexRule Server.
Application accounts are used for the execution of rules and decisions by third-party applications (e.g. a mobile app that executes a decision).
The Admin user account is created by default to be used for administration purposes in the Workbench. You can use this account to create more accounts with different roles and access permissions using Workbench.

Single sign-on
To create a Single Sign-On (SSO) for authenticating users to FlexRule Open with Microsoft Azure, tick the Enable option and fill in the “Tenant ID” and “Client ID” fields.

Security Settings
The communication between the Identity, ExecutionController, ExecutionWorker, and clients is secured with different mechanisms.

In this section, you need to provide passwords for communication, encryption, and signing security tokens for authentication. In each of the three tabs, you need to enter STRONG passwords for each field. The password cannot be less than 32 characters. You can also generate the password using the provided button.
- Auth Signing Key and Master-Agent Shared Secret must match between Identity and Execution nodes.
- If this is a migration, the Master Encryption Password and Auth Signing Key must match the previous installation.

Database (Microsoft SQL Server)
FlexRule Server 3.0+ requires a Microsoft SQL Server database.
In the database setup section, you need to add the database server information to be used with FlexRule OPEN nodes:
Add the database server address and database name for your database.

Add the username and password with manage access to the database server.

Specify further optional configuration to connect to your database.

If the database does not exist on the database server, the Configurator can create it for you.
Your user credentials need to have access to create the database for this to work successfully.


Database (Azure SQL Database)
FlexRule Server is compatible with Azure SQL Database.
If using Azure SQL, the steps are the same as above except for the Advanced tab where you need to ensure the following:
- MS SQL AZURE database must be ticked.
- Trust Server Certificate must be ticked.
- Timeout must be set (e.g. 30 seconds).
- Port number must be set to 1433.

Migration of Database
If there is an existing database with the same name, you can choose one of these options:
- Don’t change anything in the database.
- Delete and Recreate database tables.
- Migrate the existing database to the new version.

Save and Create
You should now see the buttons Save and Create.
Click “Save” to create a configuration file for the FlexRule Open Identity node.
[Installation Path]<version>FlexRule.OPEN.Identity.dll.config
Click on Create to create a default set of data that allows you to run a node.
The wizard will create an application account, a user account, an administrator, application roles, and permission settings for roles.

Install FlexRule OPEN ExecutionController
ExecutionController Installation
First, install the ExecutionController node.
FlexRule.OPEN.ExecutionController.<version>Setup.exe


Select the installation location for the ExecutionController node.




Run the Configurator for ExecutionController
Once the configurator appears, ExecutionController is selected by default. Click Next to start the configuration process.

ExecutionController Node IP Address and Port
Each instance of the FlexRule Open node must listen on a specific IP and port to respond to requests. You can either use localhost or the machine’s IP.

Identity Node IP Address and Port
The ExecutionController node needs to communicate with the Identity Node.

Debug and Tracing
FlexRule Server lets you log and monitor events. You will likely find it useful to write these to a log file so you can investigate errors.
You can also choose to Write to the Windows System Event Log if you want to use the Event Viewer available in Windows to monitor the application.
When an error occurs on the FlexRule Open AssetManagement node, it is sent as an event to a particular monitoring channel (e.g., local file). The local logging file should be different for each FlexRule OPEN node.
If you’re unsure, just use the default setting.

Security Settings
Enter the Master Encryption, Auth Signing Key, and Master-Agent Shared Secret you entered in the Identity configuration. These must match between the Identity node and the ExecutionController.
You can find them in the following file.
[Server Install Path]<version>FlexRule.OPEN.Identity.dll.config


Database (Microsoft SQL Server)
FlexRule Server 3.0+ requires a Microsoft SQL Server database.
In the database setup section, you need to add the database server information to be used with FlexRule OPEN nodes:
Add the database server address and database name that match the Identity node Configuration.

Add the username and password with managed access to the database server.

Specify further optional configuration to connect to your database.

Save ExecutionController Configuration
If you migrate from the old database to a new version, click the migration from the existing database to the new version; otherwise, keep the default one and click Next.

You should now see the Save and Create buttons.
Click Save to create a configuration file for the ExecutionController.
[Installation Path]FlexRule.OPEN.ExecutionController.dll.config

Install FlexRule OPEN Asset Management
AssetManagement Installation
Asset Management is a node that is responsible for storing, organizing, and versioning decisions in FlexRule OPEN.
First, install the AssetManagement node.
FlexRule.OPEN.AssetManagement.<version>Setup.exe


Select the installation location for the AssetManagement node.




Run the Configurator for AssetManagement Node
Once the configurator appears, Assetmanagement is selected by default. Click Next to start the configuration process.

AssetManagement IP Address and Port
AssetManagement Node needs to listen to a specific IP and port to respond to requests. You can either use localhost or the machine’s IP.

Identity node IP Address and Port
The ExecutionController node needs to communicate with the Identity Node.

Debug and Tracing
FlexRule Server lets you log and monitor events. You will likely find it useful to write these to a log file so you can investigate errors.
You can also choose to Write to the Windows System Event Log if you want to use the Event Viewer available in Windows to monitor the application.
When an error occurs on the FlexRule Open AssetManagement node, it is sent as an event to a particular monitoring channel (e.g., local file). The local logging file should be different for each FlexRule OPEN node.
If you’re unsure, just use the default setting.

Security Setting
Enter the Encryption Password and Auth Signing Key you entered in the Identity configuration. These must match between the Identity node and the Assetmanagement node.
You can find them in the following file.
[Server Install Path]<version>FlexRule.OPEN.Identity.dll.config


Database (Microsoft SQL Server)
FlexRule Server 3.0+ requires a Microsoft SQL Server database.
In the database setup section, you need to add the database server information to be used with FlexRule OPEN nodes:
Add the database server address and database name that match the Identity node Configuration.

Add the username and password with managed access to the database server.

Specify further optional configuration to connect to your database.

Save AssetManagement Configuration
If you migrate from the old database to a new version, click the migration from the existing database to the new version; otherwise, keep the default one and click Next.

You should now see the Save and Create buttons.
Click Save to create a configuration file for the ExecutionController.
[Installation Path]FlexRule.OPEN.AssetManagement.dll.config

Install FlexRule OPEN Workbench
Workbench Installation
Workbench is a web-based application for the administration and monitoring of FlexRule OPEN. Workbench enables multiple user accounts with different permissions to administer and run different parts of the system.
First, install the Workbench node.
FlexRule-Workbench-<version>Setup.exe


Select the installation location for the Workbench node.




Run the Configurator for Workbench Node
Once the configurator appears, Workbench is selected by default. Click Next to start the configuration process.

Server IP Address and Port
Workbench Node needs to listen to a specific IP and port to respond to requests. You can either use localhost or the machine’s IP.
You need to specify the Identity, ExecutionController, and AssetManagement IPs for the Workbench node. These IPs must match the IP you already specified for your Identity, ExecutionController, and assetManagement.


Install FlexRule ExecutionWorker
ExecutionWorker Installation
After installing the Other nodes server successfully, the ExecutionWorker can be installed.
FlexRuleServer-ExecutionWorker-<version>Setup.exe


Select the installation location for the ExecutionWorker.




Run the Configurator for ExecutionWorker
Next, the Server Configurator will appear. By default, the ExecutionWorker will be selected on the configurator.

Server IP Address and Port
Each instance of ExecutionWorker needs to listen to a specific IP and port to respond to requests. You can either use localhost or the machine’s IP.

Identity node IP Address and Port
The ExecutionWorker node needs to communicate with the Identity Node.

Debug and Tracing

Security Settings
Enter the Auth Signing Key and Master-Agent Shared Secret you entered in the ExecutionWorker configuration. These must match between Identity and Execution nodes.
You can also find them in the following file.
[Server Install Path]<version> FlexRule.OPEN.Identity.dll.config
e.g. C:\Program Files (x86)\FlexRule\Server\11.0.1089\Identity FlexRule.OPEN.Identity.dll.config


Database
Add database settings that match the Identity configuration.

Save and Create
You should now see the buttons Save and Create.
Click on Save to create a configuration file for ExecutionWorker at the following location:
[ExecutionWorker Install Path]FlexRule.OPEN.ExecutionWorker.dll.config
Click on Create to create an entry in the database to connect it to Identity and ExecutionController.


Browse FlexRule Workbench
In order to run FlexRule server, you can follow these instructions, which are explained step-by-step. In our scenario, we simply ran them using the command line (in Windows Command Prompt).
If you have installed and configured everything correctly, you should now be able to browse to the FlexRule Workbench in your web browser.
- Run all 5 nodes (Identity, ExecutionController, ExecutionWorker, Workbench, and AssetManagement) as administrator.
- Open a browser (e.g. Chrome) and browse to your FlexRule Workbench IP address. If you used the default value on this page, you can find FlexRule Workbench running at http://localhost:9010.
- Enter admin as the username and your password that you entered during the default account settings in FlexRule Server Identity configuration under “Admin User Account Password “.
Copy FlexRule Server License
After successfully running FlexRule Server (Identity, ExecutionController, ExecutionWorker, Workbench, and AssetManagement), it’s time to add FlexRule Licenses to the Workbench.
For further details on adding licenses, see our Adding or updating FlexRule Server licenses article.
Download the FlexRule server license from the FlexRule user portal.
The license file for FlexRule Server is called flexrule.server.license.lic. This file content should be copied and pasted into the Workbench at the following location:
Adminstration --> Licenses --> New License --> Server

Copy FlexRule Runtime License
Repeat the same steps for the FlexRule runtime license.
Download the FlexRule runtime license from the FlexRule user portal.
The license file for FlexRule Runtime is called flexrule.license.lic. This file content should be copied and pasted into the Workbench at the following location:
Adminstration --> Licenses --> New License --> Runtime

Create a new Worker
Click on the New Worker at the following location:
Adminstration --> Workers --> New Worker
Give a name and description for the Worker. And then specify the host URL for the already installed ExecutionWorker.

Add New Runtime
After creating a Worker, you can specify a FlexRule Runtime for the Worker. Follow this article to add a new Runtime to the Worker.
Now you should be able to see the FlexRule Workbench home page.
