Add Environment Variables

Adding Environment Variables

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 the rasa, rasax, eventService, and app services. For example:

# rasa: Settings common for all Rasa containers
rasa:
  # other configured parameters
  # ...
  extraEnvs:
    - name: "SANIC_RESPONSE_TIMEOUT"
      value: 7200

# app (custom action server) specific settings
app:
  # other configured parameters
  # ...
  extraEnvs:
    - name: "SECRET_USERNAME"
      valueFrom:
        secretKeyRef:
          name: "login-secret"
          key: "username"

To add environment variables to the postgres, rabbit, or redis services, see Configuring the Subcharts.

Available Environment Variables

The environment variables below are configured by the Rasa Enterprise Helm chart and should only need to be configured directly in certain circumstances such as e.g. when using Oracle as a database. They are listed for reference and for cases where you do need to configure them directly.

Rasa Variables

These variables define the behavior of the Rasa containers and how the other services connect to them.

Variable Default Value Description
RASA_TOKEN No default, must be defined in .env Authentication token for the Rasa service. This is used by other services to communicate with Rasa.
RASA_MODEL_PULL_INTERVAL 10 How often to check for new models, in seconds
RABBITMQ_QUEUE (rasa-production) rasa_production_events Which Rabbit event queue to publish events to.
DB_DATABASE (rasa-production) tracker Which database table to use to access and store trackers.
DB_DATABASE (rasa-worker) worker_tracker Which database table to use to access and store trackers.
POSTGRESQL_SCHEMA No default PostgreSQL track store database schema to access. By default, Rasa accesses the public schema.
RASA_MODEL_SERVER http://rasa-x:5002/api/models/tags/production URL where to access stored models and store new ones.

Rasa Enterprise API Variables

These variables define the behavior of the Rasa Enterprise API and how the other services connect to it.

Variable Default Value Description
RASA_X_HOST "http://rasa-x:5002" The URL of the Rasa Enterprise services. This is used by other services to connect to the Rasa Enterprise API.
RASA_X_TOKEN No default, must be defined in .env The token used for authentication between other services and the Rasa Enterprise API.
RASA_X_USERNAME (only for Rasa Enterprise) admin If RASA_X_PASSWORD is specified then the user with this username will be created automatically after Rasa Enterprise is started for the first time.
RASA_X_PASSWORD No default, must be defined in .env if you want user to be created If specified, this user with username RASA_X_USERNAME will be created immediately after Rasa Enterprise is started for the first time.
JWT_SECRET No default, must be defined in .env Symmetric JWT token for authentication protection of the Rasa API server.
RASA_USER_APP "http://app:5055" URL of the custom action server.
RASA_PRODUCTION_HOST http://rasa-production:5005 Host and port at which to find the rasa-production server.
RASA_WORKER_HOST "http://rasa-worker:5005" Host and port at which to find the rasa-worker server.
RASA_WORKER_TOKEN Interpolated from RASA_TOKEN Authentication token used to connect to the Rasa services.
RASA_MODEL_DIR /app/models The directory in which models are stored on the Rasa Enterprise container.
RABBITMQ_QUEUE rasa_production_events Which queue to read conversation events from.
ROOT_URL "/" Root URL for the frontend to check for resources. Use this if you are hosting your Rasa Enterprise instance on a subdirectory of a domain. No trailing slash.
PASSWORD_SALT No default, must be defined in .env Salt used to securely store the users passwords.
RASA_X_USER_ANALYTICS 0 Binary value specifying whether Rasa Enterprise UI users’ conversations should be included in conversation analytics in the analytics tab. (Rasa Enterprise only)
SANIC_RESPONSE_TIMEOUT 28800 Number of seconds a request can run before Sanic generates a 503 response.
SANIC_REQUEST_MAX_SIZE_IN_BYTES 800000000 Maximum size of requests sent to server. For uploading large models.
SANIC_ACCESS_CONTROL_MAX_AGE 1800 Value (in seconds) to use for the Access-Control-Max-Age header in responses to preflight requests.
RUN_EVENT_CONSUMER_AS_SEPARATE_SERVICE "false" Whether the event service is run as a separate service. If "false", Rasa Enterprise will launch the event service automatically as a subprocess.
JWT_PUBLIC_KEY_PATH "/app/public_key" Path where to store JWT authentication.
JWT_PRIVATE_KEY_PATH "/app/private_key" Path where to store JWT authentication.
JWT_EXPIRATION_TIME 28800 Expiration time in seconds for JWT tokens.
DEBUG_MODE "false" Whether or not to turn on debug logs.
LOG_LEVEL "INFO" Log level to use, overwritten by DEBUG_MODE if DEBUG_MODE variable is set.
SAML_PATH "/app/auth/saml" Path at which to store SAML authentication (Rasa Enterprise).
SAML_DEFAULT_ROLE "tester" Role to assign to SSO users upon first sign on (Rasa Enterprise). Defaults to RBAC default role.
RASA_MODEL_DIR "/app/models" Directory where models are stored on the Rasa Enterprise container.
CREDENTIALS_PATH "/app/credentials.yml" Path to credentials.yml in the Rasa Enterprise container.
RASA_X_SSL_CA_FILE None Path to SSL ca file if running the rasa-x container on HTTPS.
RASA_X_SSL_CERTIFICATE None Path to SSL certificate if running the rasa-x container on HTTPS.
RASA_X_SSL_KEYFILE None Path to SSL keyfile if running the rasa-x container on HTTPS.
RASA_X_SSL_PASSWORD None SSL password if running the rasa-x container on HTTPS with a password-protected keyfile.
SSL_CA_FILE None Path to SSL ca file to connect to rasa container on HTTPS.
SSL_CERT_FILE None Path to SSL certificate to connect to rasa container on HTTPS.
SSL_KEY_FILE None Path to SSL keyfile to connect to rasa container on HTTPS.
SSL_PASSWORD None SSL password to connect to rasa container on HTTPS with a password-protected keyfile.
SSL_CHECK_HOSTNAME true Set to false if you don't want to verify the authenticity of the cert used to connect to rasa container.
DEFAULT_E2E_TESTS_DIR "tests" Directory where tests are saved on the Rasa Enterprise container.
DEFAULT_E2E_TEST_FILE_PATH "conversation_tests.md" File inside DEFAULT_E2E_TESTS_DIR where end-to-end tests are saved by default on the Rasa Enterprise container.
MAX_DUMPING_DELAY_IN_SECONDS 60 Training data changes are dumped to disk in batches. This variable describes the maximum time in seconds after which changes are dumped to disk.
DEFAULT_YAML_SEQUENCE_INDENT 4 Default indent for sequences which is used during dumping of NLU YAML training data files. The variable defines how many spaces are used to indent a list item in the YAML file.
DISCARD_YAML_FORMATTING_ON_DUMP false Use a C implementation for YAML dumping/reading. During dumping, this will be faster BUT will not retain comments / indentation / formatting of your YAML files. Suitable for very large YAML files.
POSTGRESQL_SCHEMA No default PostgreSQL database schema to access. By default, Rasa Enterprise accesses the public schema.
RASA_MAINTAIN_HISTORY_AFTER_RESTART false Tells Rasa Enterprise to maintain Conversation and Story history after an action_restart. By default, only Utterances from the latest Session are shown. (Rasa Enterprise only).
GIT_SYNC_INTERVAL 1 Interval for Git IVC synchronization cron job, in minutes.
note

Changing some of these variables requires changes in other containers; for example, if updating your endpoints path, you should also add the new path (relative from the app directory) to the start-up command of your Rasa containers with the --endpoints flag.

RabbitMQ Variables

These variables define the behavior of RabbitMQ and how the other services connect to it. More information about RabbitMQ can be found in the RabbitMQ docs.

Variable Description
RABBITMQ_HOST Hostname of the RabbitMQ instance.
RABBITMQ_PORT Port of the RabbitMQ instance.
RABBITMQ_USERNAME Username used by other services to access RabbitMQ.
RABBITMQ_PASSWORD Password used by other services to access RabbitMQ.
RABBITMQ_QUEUE Queue from which the event service should read messages.

DB Variables

These variables define the connection details for the Rasa Enterprise database / the Rasa Open Source tracker store.

Variable Default Value Description
DB_HOST "db" Hostname of the container hosting the PostgreSQL database.
DB_PORT "5432" Port used by other services to access the database.
POSTGRESQL_USERNAME (DB_USER) "admin" Username used by other services to access the database.
POSTGRESQL_PASSWORD (DB_PASSWORD) No default, must be defined in .env Password used by other services to access the database.
DB_LOGIN_DB "rasa" Database connection used to create tracker database.
POSTGRESQL_DATABASE (DB_DATABASE) "rasa" Database used by other services to access the database.