Skip to main content

Retool Workflows environment variables

Workflow-related environment variables for self-hosted deployments.

Use environment variables to configure Retool Workflows for self-hosted deployments.

Code executor

code-executor environment variables available for use with Self-hosted Retool deployments. You should only set these environment variables on containers running tryretool/code-executor-service images.

Only configure environment variables when needed. You can configure many environment variables from your organization's Settings rather than directly editing your deployment's configuration file.

You must restart your instance after setting any variables for them to take effect.

CODE_EXECUTOR_INGRESS_DOMAIN

string

The domain for the code-executor service that executes arbitrary user-defined JavaScript and Python code with installed custom libraries. The value depends on your deployment configuration, but must include a protocol (http:// or https://).

Example
CODE_EXECUTOR_INGRESS_DOMAIN=code-executor.example.com

CONTAINER_UNPRIVILEGED_MODE

boolean

Whether to run the code-executor service in an unprivileged mode and remove any sandboxing of user code.

Default value is false.

Example
CONTAINER_UNPRIVILEGED_MODE=false

DISABLE_IPTABLES_SECURITY_CONFIGURATION

boolean

Whether to disable the default security configuration for link-local address, which is done by running the following startup commands requiring elevated privileges. Set to true if privileged access (e.g NET_ADMIN) cannot be given to the container running Code executor service.

Default value is false.

Example
DISABLE_IPTABLES_SECURITY_CONFIGURATION=false

NODE_ENV

string

The Node.js environment. Should always be set to production.

Example
NODE_ENV=production

NODE_OPTIONS

string

Used to specify the maximum heap size for the JavaScript v8 engine.

Default value is --max-old-space-size=1024.

Example
NODE_OPTIONS=--max-old-space-size=1024

SANDBOX_MAX_FILE_DESCRIPTORS

number

The maximum number of file descriptors within a single sandbox.

Default value is 256.

Example
SANDBOX_MAX_FILE_DESCRIPTORS=256

SANDBOX_MOUNT_DIR

string

Used to configure where files will be mounted into the sandbox.

Default value is /tmp.

Example
SANDBOX_MOUNT_DIR=/tmp

WORKFLOW_MEMORY_LIMIT_MBS

number

The maximum amount of memory, in megabytes, a workflow can use when running. Requires WORKFLOW_MONITOR_PROCESS_ENABLED to be true.

Default value is 2147.

Example
WORKFLOW_MEMORY_LIMIT_MBS=2147

Workflows

Workflow environment variables available for use with Self-hosted Retool deployments. These environment variables specifically can be applied to the api, workflows-worker, and workflows-backend services.

Only configure environment variables when needed. You can configure many environment variables from your organization's Settings rather than directly editing your deployment's configuration file.

You must restart your instance after setting any variables for them to take effect.

CODE_EXECUTOR_INGRESS_DOMAIN

string

The domain for the code-executor service that executes arbitrary user-defined JavaScript and Python code with installed custom libraries. The value depends on your deployment configuration, but must include a protocol (http:// or https://).

Example
CODE_EXECUTOR_INGRESS_DOMAIN=code-executor.example.com

TEMPORAL_TASKQUEUE_WORKFLOW

string

The task queue for the Temporal cluster. Used by clients connecting to Temporal for all Retool Workflow-related requests (enqueue, query, etc.). This value should match WORKER_TEMPORAL_TASKQUEUE.

Default value is workflows.

Example
TEMPORAL_TASKQUEUE_WORKFLOW=workflows

WORKER_TEMPORAL_TASKQUEUE

string

The task queue for the Temporal worker. Used by workers connecting to Temporal for all Retool Workflow-related requests (enqueue, query, etc.). This value should match TEMPORAL_TASKQUEUE_WORKFLOW.

Default value is workflows.

Example
WORKER_TEMPORAL_TASKQUEUE=workflows

WORKFLOW_BACKEND_HOST

string

The hostname for all Retool Workflow-related backend requests, such as querying resources, updating workflow status, and storing block results and logs. The value depends on your deployment configuration, but must include a protocol (http:// or https://).

Example
WORKFLOW_BACKEND_HOST=http://workflow-backend

WORKFLOW_CPU_LIMIT

number

The maximum amount of CPU, in cores, available to a workflow while running if WORKFLOW_MONITOR_PROCESS_ENABLED is enabled. If the code-executor service is deployed, set this variable there instead.

Default value is 1.

Example
WORKFLOW_CPU_LIMIT=1

WORKFLOW_MEMORY_LIMIT_MIBS

number

The maximum amount of memory, in megabytes, available to a workflow while running if WORKFLOW_MONITOR_PROCESS_ENABLED is enabled. If the code-executor service is deployed, set this variable there instead.

Default value is 1536.

Example
WORKFLOW_MEMORY_LIMIT_MIBS=1536

WORKFLOW_MONITOR_PROCESS_ENABLED

boolean

Whether to limit the memory and CPUs available to a workflow while running. If enabled, WORKFLOW_MEMORY_LIMIT_MIBS(#variable-WORKFLOW_MEMORY_LIMIT_MIBS) and WORKFLOW_CPU_LIMIT can be set. If the code-executor service is deployed, set this variable there instead.

Default value is false.

Example
WORKFLOW_MONITOR_PROCESS_ENABLED=true

WORKFLOW_TEMPORAL_ACTIVITY_TASK_POLLERS

number

The number of Temporal activity task pollers that concurrently run.

Default value is 2.

Example
WORKFLOW_TEMPORAL_ACTIVITY_TASK_POLLERS=2

WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST

string

The hostname for the Temporal cluster. If you're using Temporal Cloud, your host may end with .tmprl.cloud. This environment variable does not need to be set if using Retool-managed Temporal cluster.

Example
WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST=org.example.tmprl.cloud

WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_PORT

number

The port for the Temporal cluster.

Default value is 7233.

Example
WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_PORT=7233

WORKFLOW_TEMPORAL_CLUSTER_NAMESPACE

string

The namespace for the Temporal cluster.

Default value is workflows.

Example
WORKFLOW_TEMPORAL_CLUSTER_NAMESPACE=workflows

WORKFLOW_TEMPORAL_CONCURRENT_ACTIVITIES_LIMIT

number

The maximum number of concurrent activities that can be executed by a single workflow. Refer to the Temporal documentation for more information.

Default value is 10.

Example
WORKFLOW_TEMPORAL_CONCURRENT_ACTIVITIES_LIMIT=10

WORKFLOW_TEMPORAL_CONCURRENT_TASKS_LIMIT

number

The maximum number of concurrent tasks that can be executed by a single workflow. Refer to the Temporal documentation for more information.

Default value is 10.

Example
WORKFLOW_TEMPORAL_CONCURRENT_TASKS_LIMIT=10

WORKFLOW_TEMPORAL_OPENTELEMETRY_COLLECTOR

string
Example
WORKFLOW_TEMPORAL_OPENTELEMETRY_COLLECTOR=http://open-telemetry-collector-opentelemetry-collector:4318

WORKFLOW_TEMPORAL_SERVER_NAME_OVERRIDE

string

The server name override for the Temporal cluster. This overrides the target name (SNI) used for TLS host name checking. It can be useful if you have reverse proxy in front of Temporal server and you need to override the SNI to direct traffic to the appropriate backend server based on custom routing rules. Connections can be refused if the provided SNI does not match the expected host. Adding this override should be done with care. This does not need to be set if using Retool-managed Temporal cluster.

Example
WORKFLOW_TEMPORAL_SERVER_NAME_OVERRIDE=other.domain.tmprl.cld

WORKFLOW_TEMPORAL_SERVER_ROOT_CA_CRT

string

Base64 encoded PEM certificate for the root CA of the Temporal cluster. This does not need to be set if using Retool-managed Temporal cluster.

Example
WORKFLOW_TEMPORAL_SERVER_ROOT_CA_CRT=UXVpcyBjb21tb2RvIGV4ZXJjaXRhd

WORKFLOW_TEMPORAL_STICKY_CACHE_SIZE

number

Default value is 200.

Example
WORKFLOW_TEMPORAL_STICKY_CACHE_SIZE=100

WORKFLOW_TEMPORAL_TLS_CRT

string

Base64 encoded certificate for TLS client certification pair. See Temporal documentation for more details. This does not need to be set if using Retool-managed Temporal cluster.

Example
WORKFLOW_TEMPORAL_TLS_CRT=UXVpcyBjb21tb2RvIGV4ZXJjaXRhd

WORKFLOW_TEMPORAL_TLS_ENABLED

boolean

Whether to enable TLS for the Temporal cluster. You can set this to true if you use your own Temporal Cloud. This does not need to be set if using Retool-managed Temporal cluster.

Default value is false.

Example
WORKFLOW_TEMPORAL_TLS_ENABLED=true

WORKFLOW_TEMPORAL_TLS_KEY

string

Base64 encoded private key for TLS client certification pair. This does not need to be set if using Retool-managed Temporal cluster.

Example
WORKFLOW_TEMPORAL_TLS_KEY=c2VjcmV0X2tleQ==

WORKFLOW_TEMPORAL_WORKER_SHUTDOWN_GRACE_TIME

number

The timeout, in minutes, to wait for pending workflows to complete before the Temporal worker gracefully shuts down. If the worker does not shut down within this time, it is forcefully terminated.

Default value is 15.

Example
WORKFLOW_TEMPORAL_WORKER_SHUTDOWN_GRACE_TIME=15

WORKFLOW_TEMPORAL_WORKFLOW_TASK_POLLERS

number

The number of Temporal workflow task pollers that concurrently run.

Default value is 10.

Example
WORKFLOW_TEMPORAL_WORKFLOW_TASK_POLLERS=10

WORKFLOW_WORKER_HEALTHCHECK_PORT

number

The port for the /api/checkHealth health check endpoint for the Temporal worker.

Default value is 3005.

Example
WORKFLOW_WORKER_HEALTHCHECK_PORT=3005