For the complete documentation index, see llms.txt. This page is also available as Markdown.

Environment Variables

List of all environment variables for all DecisionRules applications.

Required environment variables for server-app application.

Variable name
Description
Mandatory
Example value

REDIS_URL

Redis URL

redis(s)://host.docker.internal:6379

MONGO_DB_URI

Mongo URL

mongodb(+srv)://host.docker.internal:27017

CLIENT_URL

Url on which client container is accessible

http://localhost:80/# (# is mandatory)

LICENSE_KEY

License key string

YOUR LICENSE KEY

DB_TYPE

Specify MongoDB type

If you use CosmosDB or DocumentDB

MONGODB (default) COSMOSDB

COSMOSDB_VCORE DOCUMENTDB

API_URL

Lets the server know it's own address for Rule Flow and dependant rule solves.

https://api.decisionrules.io

AI_ENGINE_URL

If you use AI assistant features

http://localhost:8084

Optional environment variables for server-app application.

Variable name
Description
Version
Example value

MONGO_TLS_CA_FILE

Path to file with one or more certificate authorities to trust when making a TLS connection.

>= 1.18.4.4

/certificates/ca.pem

MONGO_TLS_CERTIFICATE_KEY_FILE

Path to the client certificate private key file. This key is often included within the certificate file itself.

>= 1.18.4.4

/certificates/private.pem

BRAND_LOGO_URL

Custom brand Logo URL. Feature must be enabled in license key. Learn more in the Brand Logo Guide

>= 1.17.0

https://example.com.img/logo.ong OR data:image/png;base64,iVBORw0KGgoAAAANSUhE...

SHOWCASE

Turn on or off showcase mode

true/false

WORKERS_NUMBER

Number of Node.js worker processes; default: 1. In 1.27.0, "auto" uses Node's available-parallelism estimate, capped at 8. AERO uses multiple CPUs independently of this setting. See server sizing.

1 OR auto

BI_MONGO_DB_URI

If you have a separate database cluster for Business Intelligence App

>= 1.10.0

mongodb(+srv)://host.docker.internal:27018

SAML_ENTRY_POINT

URL for your identity provider login page

https://devX.okta.com/app/name/HASH/sso/saml

SAML_ISSUER

Issuer string to supply to IdP

okta.com/HASH_STRING

SAML_CERT

Public certificate of provider. In RAW format as single line without BEGIN CERTIFICATE and END CERTIFICATE

MIIC8DCCAdigAwIBAgIQap4GhMRA26tJGFD.....

SAML_CALLBACK_URL

Callback URL where provider send response

https://api.decisionrules.io/saml/callback

RF_TIMEOUT

Time in milliseconds after which the process of solving a rule flow is stopped

5000

SR_TIMEOUT

Time in milliseconds after which the process of solving a scripting rule is stopped

5000

WORKFLOW_TIMEMOUT (deprecated from 1.23.1)

Time in milliseconds after which the process of solving a workflow is stopped. Variable name is WORKFLOW_TIMEMOUT because there is typo in code and it is replaced with DECISION_FLOW_TIMEOUT from version 1.23.1.

>=1.19.0

10000

DECISION_FLOW_TIMEOUT

Time in milliseconds after which the process of solving a workflow is stopped.

>=1.23.1

10000

RF_NODE_LIMIT

Integer of desired rule flow nodes, default value is 30

30

SWAGGER_HOST

Host of the server application which will use swagger

api.decisionrules.io

WHITELIST

List of allowed domains from which it is possible to register or log in. You can setup multiple domains separated with comma.

mydomain.com, yourdomain.io

ALLOWLIST

Cultural-neutral synonym for WHITELIST.

mydomain.com, yourdomain.io

TELEMETRY (deprecated from 1.17.0)

It turn on/off telemetry, which measures endpoint execution duration (for example: Solver API)

>= 1.8.1

On = 1, off = 0

EXAPI_MAX_CNT_LEN

Defined maximal response content length in bytes

3000

EXAPI_MAX_BODY_LEN

Defined maximal body size for request in bytes

10000

EXAPI_MAX_REDIRECTS

Defines maximal redirects that called URL can perform

5

EXAPI_TIMEOUT

Defines API connection timeout in milliseconds

2000

DT_HTTP_CALL_LIMIT

Defined limit for http function that can be defined in DT or DTR

>= 1.12.0

100

LOGGER_TYPE

Select log output format/logger type STRING is default value if not env variable is set

Possible options: STRING JSON

REDIS_PING_INTERVAL

Duration (in milliseconds) for which the server pings the Redis server.

>= 1.14.3

300000

FLUSH_REDIS_ON_STARTUP

Whether cache should be flushed when server is starting. Defaults to true.

>= 1.17.0

false

TIMEZONE

Default time zone for date functions. Default is:

>= 1.13.1

REDIS_CACERT

CA certificate for TLS connection with Redis

>= 1.14.5

CA certificate as a single line without BEGIN CERTIFICATE and END CERTIFICATE. For example(MIIC8DCCAdigAwIBAgIQap4GhMRA26tJGFD...)

MONGO_MIN_POOL_SIZE

MongoDB connection minimal pool size

>= 1.16.2

5

MONGO_MAX_POOL_SIZE

MongoDB connection maximal pool size

>= 1.16.2

100

EXPORT_FOLDER_MEMORY_LIMIT

Memory limit on folder export

>=1.17.1

50000000

MEASUREMENTS

Logs the duration of each phase of the solving to the X-Measurements header in every HTTP response

>= 1.18.4.3

true/false

REDIS_MODE

Specifies the mode in which the application should connect to the redis. Link to Redis Connection Modes documentation.

>= 1.19.2

NORMAL/CLUSTER

READER_REDIS_URL

Redis URL for reader endpoint.

>= 1.19.2

redis(s)://host.docker.internal:6379

REDIS_CACERT_PATH

Path to file withCA certificate for TLS connection with Redis

>= 1.19.2

/certificates/redis.pem

REDIS_REJECT_UNAUTHORIZED

Terminate the redis connection if the specified certificate verification fails

>= 1.19.2

true/false

IN_MEMORY_RULE_COUNT

Maximum entries in each Node.js process's local cache. Default: 0 (disabled); "auto" calculates a count from the V8 heap limit and worker count. AERO also uses this value as a space count when IN_MEMORY_SPACE_COUNT is unset. Configure IN_MEMORY_SPACE_COUNT separately when using AERO.

>=1.19.5

25

IN_MEMORY_SPACE_COUNT

Maximum compiled spaces retained in AERO's cache. Overrides IN_MEMORY_RULE_COUNT for AERO. Docker defaults to 20 when neither variable is set. Use 0 to disable cache reuse or "auto" to calculate a count. The setting controls the number of spaces, not their total memory size.

>=1.27.0

20

TRACE_REQUEST

If enabled, all http requests will be logged to the console

>=1.19.5.1

true/false

AUDIT_PARTITION_KEY_FORMAT

Specify the format of a partition key to be included in each audit log document. The partition key is useful for defining partitions for the audit logs. Use custom string with the expressions "TIME_KEY", "SPACE_ID" and "RULE_ID". When not defined, partition keys will be null.

>=1.20.0

time:TIME_KEY|space:SPACE_ID|rule:RULE_ID

AUDIT_PARTITION_KEY_TIME_PERIOD

Defines the time period in hours during which the TIME_KEY value in the audit log partition key will remain the same. This is useful for defining partitions based on the timestamp of the audit log creation. If the period is longer, the partition will contain more audit logs. Default value is 12.

>=1.20.0

24

CONNECTION_TIMEOUT

Specifies the time in milliseconds of inactivity a server needs to wait for additional incoming data before a socket will be destroyed.

60000

HTTP_PROXY

URL of the proxy server to use for outgoing HTTP requests (e.g. External API calls, webhook notifications). Standard proxy environment variable.

>=1.25.2

HTTPS_PROXY

URL of the proxy server to use for outgoing HTTPS requests. Standard proxy environment variable. If both are set, HTTPS_PROXY takes precedence for HTTPS destinations.

>=1.25.2

NO_PROXY

Comma-separated list of hosts, domains or IP ranges that should bypass the proxy. Typically used for internal services such as MongoDB, Redis or the license server when reachable directly.

>=1.25.2

localhost,127.0.0.1,.internal.mycompany.com

AI_JWT_SECRET

Shared secret used to sign JWTs for authentication when communicating with the AI Engine in non-Docker mode. Must match the secret configured on the AI Engine when JWT authentication is enabled. Not required or used in Docker mode: the server does not generate this JWT, even if AI_JWT_SECRET is set.

≥1.26.2

Environment variables for client-app application.

Variable name
Description
Mandatory
Example value

API_URL

URL on which backend API is accessible

Yes

http://localhost:8080

BI_API_URL

URL on which Business Intelligence API is accessible

No, but the features related to Business Intelligence won't work

http://localhost:8082

NGINX_PORT

Custom port on which the container will run

No

80

Environment variables for decisionrules-business-intelligence application.

Variable name
Description
Mandatory
Example value

BI_MONGO_DB_URI

Mongo URL of Business Intelligence App

Yes

mongodb(+srv)://host.docker.internal:27017

MONGO_DB_URI

In case you have a separate database cluster for Server App

No

mongodb(+srv)://host.docker.internal:27018

WORKERS_NUMBER

Sets number of workers (threads) of application

No

1

DB_TYPE

If you use CosmosDB or DocumentDB

No

MONGODB (default) COSMOSDB DOCUMENTDB

LOGGER_TYPE

Select log output format/logger type STRING is default value if not env variable is set

No

Possible options: STRING JSON

LOGGER_TIMESTAMP_UTC

Select log timestamp format If true: YYYY-MM-DDTHH:mm:ss.SSSZ if false: YYYY-MM-DDTHH:mm:ss.SSS(+-)HH:mm

No

true/false

CONNECTION_TIMEOUT

Sets the request header and keepAlive timeouts in miliseconds. This is useful when your deployment is dealing with frequent 502 code errors. The default is 5000.

No

60000

Environment variables for decisionrules-ai-engine application.

More infor about AI Assitant is here: ai-assistant

All available models are available here: https://distribution.decisionrules.io/ai/models/page The following environment variables are optional. You can set AI provider directly in the app. More info: #ai-assistant-configuration, ai-assistant-provider

For the complete list of supported providers, model families, credential formats, additional options, and Docker Compose examples, see ai-engine-providers-and-models.

Variable name
Description
Mandatory
Example value

AIA_PROVIDER

Fallback AI provider

No

google-vertex

AIA_FAMILY

Fallback AI provider family

No

google

AIA_MODEL

Fallback AI model

No

gemini-3-flash-preview

AIA_SECRET

Secret or API key for the fallback AI provider configuration

No

your-provider-secret

AIA_ADDITIONAL_DATA_JSON

Optional provider-specific JSON configuration

No

{"project":"my-project","location":"global"}

AI_JWT_SECRET

Shared secret used to verify JWTs received from the server in non-Docker mode. If set, the same secret must also be configured on the server. Not required or used in Docker mode: the AI Engine skips this JWT verification, even if AI_JWT_SECRET is set.

No

Defined on server-app application.

Variable name
Description
Mandatory
Example value

KAFKA_ENABLED

Turn Kafka on/off

Yes (Kafka is disabled by default)

1/0

KAFKA_CLUSTER_CLIENTID

A logical identifier of an application.

Yes

"my-app"

KAFKA_CLUSTER_BROKERS

Broker definition

Yes

"my-broker:9092, my-broker2:9092"

KAFKA_CLUSTER_SSL

SSL on/off

Yes

"true"

KAFKA_CLUSTER_SASL_MECHANISM

Definition of Kafka SASL mechanism.

Yes

"plain"

KAFKA_CLUSTER_SASL_USERNAME

SASL username

No

"my-username"

KAFKA_CLUSTER_SASL_PASSWORD

SASL password

No

"top-secret-password"

KAFKA_CLUSTER_SASL_AUTHID

SASL authorization identity for aws mechanism

No

"IDIDIDIDID"

KAFKA_CLUSTER_SASL_ACCKEYID

SASL access key for aws mechanism

No

"KEYKEYKEY"

KAFKA_CLUSTER_SASL_SECRETKEY

SASL secret access key for aws mechanism

No

"SECRETKEY"

KAFKA_CLUSTER_SASL_SESSIONTOKEN

SASL session token for aws mechanism

No

"SESSIONTOKEN"

KAFKA_GROUP_TOPIC_1

Definition of Kafka consumer group, request topic and response topic, respectively. To define multiple topic groups, use numbers 1, 2, ..., N. Each record must have different consumer group.

Yes

"my-group, my-request-topic, my-response-topic"

Last updated

Was this helpful?