Version: Latest

Adding Environment Variables

Rasa offers advanced configuration through environment variables. Find the full reference here.

To add extra environment variables to your containers, add the environment variable to an extraEnvs array on the service in your values.yml. These values can be provided directly or refer to secrets. The extraEnvs parameter is available for all services. For example:

# rasa: Settings common for all Rasa containers
# other configured parameters
# ...
- name: "LOG_LEVEL"
value: "warning"

Rasa Pro

When running Rasa Pro, the RASA_PRO_LICENSE environment variable needs to contain the Rasa Pro license key.

Backing services

Environment VariableDescriptionDefault
POSTGRESQL_SCHEMAThe postgres schema for the SQLTrackerStore."public"
POSTGRESQL_POOL_SIZEThe limit of the number of open connections for the SQLTrackerStore.50
POSTGRESQL_MAX_OVERFLOWThe maximum overflow of pool size for the SQLTrackerStore.100
RABBITMQ_SSL_CLIENT_CERTIFICATEThe path to the SSL client certificate for the PikaEventBroker.
RABBITMQ_SSL_CLIENT_KEYThe path to the SSL client key for the PikaEventBroker.
RASA_ENVIRONMENTThe Rasa environment for the PikaEventBroker and the KafkaEventBroker.
SECRET_MANAGERThe type of secret manager."vault"
TICKET_LOCK_LIFETIMEThe lifetime of ticket locks, in seconds. It configures the lock store.60
VAULT_URLThe URl of the HashiCorp Vault.
VAULT_TOKENThe token to authenticate to the HashiCorp Vault.
VAULT_NAMESPACEThe namespace of the HashiCorp Vault.
VAULT_RASA_SECRETS_PATHThe path to Rasa secrets in the HashiCorp Vault."rasa-secrets"
VAULT_TRANSIT_MOUNT_POINTThe mount point of the HashiCorp Vault.

Model Storage

Environment variables that configure model storage on cloud providers are described in the following sections:

Dialogue Management

Environment VariableDescriptionDefault
RASA_DUCKLING_HTTP_URLThe URL of the Duckling service powering the DucklingEntityExtractor.
MAX_NUMBER_OF_PREDICTIONSThe maximum of predictions after each user message. See Action Selection.10
TF_GPU_MEMORY_ALLOCGPU configuration for TensorFlow. See Configuring TensorFlow.
TF_INTER_OP_PARALLELISM_THREADSThe number of threads used for parallelism between independent operations in TensorFlow. See Configuring TensorFlow.
TF_INTRA_OP_PARALLELISM_THREADSThe number of threads used within an individual TensorFlow operation for parallelism. See Configuring TensorFlow.
TF_DETERMINISTIC_OPSConfigures TensorFlow ops to run deterministically. See Configuring TensorFlow.false


Environment VariableDescriptionDefault
LOG_LEVELThe log level for Rasa and Rasa Pro."INFO"
LOG_LEVEL_LIBRARIESThe log level for 3rd-party libraries. More info here."ERROR"
LOG_LEVEL_KAFKAThe log level for kafka library. More info here."ERROR"
LOG_LEVEL_RABBITMQThe log level for rabbitmq library. More info here."ERROR"
LOG_LEVEL_FAKERThe log level for faker library. More info here."ERROR"
LOG_LEVEL_PRESIDIOThe log level for presidio library. More info here."ERROR"
RASA_TELEMETRY_ENABLEDToggle telemetry reporting. More info heretrue
RASA_TELEMETRY_DEBUGToggle debug information for telemetry reporting.false
RASA_PRO_TELEMETRY_ENABLEDToggle telemetry reporting. More info heretrue
RASA_PRO_TELEMETRY_DEBUGToggle debug information for telemetry reporting.false
TRACING_SERVICE_NAMEThe top-level service name when sending traces. More info here"rasa"

Advanced configuration

Environment VariableDescriptionDefault
COMPRESS_ACTION_SERVER_REQUESTToggle compression of HTTP requests sent to the Action Server.false
RASA_MAX_CACHE_SIZEThe maximum size of the training cache, in MB.1000
RASA_CACHE_NAMEThe filename of the training cache."cache.db"
RASA_CACHE_DIRECTORYThe directory for the training cache.".rasa/cache/"
RASA_SHELL_STREAM_READING_TIMEOUT_IN_SECONDSThe stream reading timeout for rasa shell, in seconds.10
SANIC_BACKLOGThe number of unaccepted connections that the HTTP server and NLG server will allow before refusing new connections.100
SANIC_WORKERSThe number of HTTP workers when enabling the HTTP server.1

Rasa Pro Services

The Rasa Pro Services docker container supports configuration through several environment variables. The following table lists the available environment variables:

Environment VariableDescriptionDefault
RASA_PRO_LICENSERequired. The license key for Rasa Pro Services.
KAFKA_BROKER_ADDRESSRequired. The address of the Kafka broker.
KAFKA_TOPICRequired. The topic Rasa Pro publishes events to and Rasa Pro consumes from.rasa_core_events
LOGGING_LEVELSet the log level of the application. Valid levels are DEBUG, INFO, WARNING, ERROR, CRITICAL. (Available from 3.0.2)INFO
RASA_ANALYTICS_DB_URLThe URL of the data lake to store analytics data in.
KAFKA_SASL_MECHANISMThe SASL mechanism to use for authentication. Valid mechanisms arePLAIN
KAFKA_SASL_USERNAMEThe username for SASL authentication.
KAFKA_SASL_PASSWORDThe password for SASL authentication.
KAFKA_SECURITY_PROTOCOLThe security protocol to use for communication with Kafka. Supported mechanisms are PLAINTEXT and SASL_PLAINTEXT.PLAINTEXT
KAFKA_SSL_CA_LOCATIONThe filepath for SSL CA Certificate that will be used to connect with Kafka (Available from 3.1.0b1)

Rasa Studio

These environment variables take precedence over the values in the global.yml file, that is created with rasa studio config.

Environment VariableDescriptionDefault
URL of the Authentication Server.
URL of the Studio Data Endpoint.
Name of the Keycloak realm which hold the data about client ID and client secret.
Client ID used to authenticate rasa studio CLI tool with Keycloak

Rasa SDK

The Rasa SDK docker container supports configuration through several environment variables. The following table lists the available environment variables:

Environment VariableDescriptionDefault
ACTION_SERVER_SANIC_WORKERSThe number of Sanic HTTP workers in the Action server.1
LOG_LEVEL_LIBRARIESThe log level of third-party libraries. See Log level configuration.ERROR