Customize Your Deployment
You are viewing documentation for a legacy Rasa product. If you want to get started building assistants with Rasa please check out our latest documentation here.
This page contains information about customizing Rasa X.
Making Changes to the Deployment
If you want to change values for an installed Rasa X deployment, please follow these steps.
- helm
- rasactl
To modify the parameters of an existing deployment, set the relevant values in your
values.yml.Get the release name which Helm used during the installation. If are unsure which release name was used, use the following command to find out the release name:
helm list --namespace <your namespace>
- Upgrade the deployment:
helm repo update
helm upgrade \
--values values.yml \
--namespace <your namespace> \
--reuse-values \
<your release name> rasa-x/rasa-x
Adding a Custom Action Server
To use a custom action server you need to build a Docker image for your action server. Please see Building an Action Server Image for more information on how to build an image and deploy it to a registry.
Add the image and tag you want to use to the
values.yml. If your image is stored in a private registry, please refer to this guide in order to see how to add image pull secrets to your deployment.
# app (custom action server) specific settings
app:
# name of the custom action server image to use
name:"<name of your action server image>"
# tag refers to the custom action server image tag
tag:"<tag of your image>"
Configuring Rasa Open Source Channels
To configure the messaging and voice channels which the Rasa container should use, put the content of your credentials.yml in the values.yml as done in this example:
# rasa: Settings common for all Rasa containers
rasa:
# additionalChannelCredentials which should be used by Rasa to connect to various
# input channels
additionalChannelCredentials:
socketio:
user_message_evt: user_uttered
bot_message_evt: bot_uttered
session_persistence: true/false
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.
# rasa: Settings common for all Rasa containers
rasa:
# other configured parameters
# ...
extraEnvs:
- name: "SANIC_RESPONSE_TIMEOUT"
value: "7200"
Adding Image Pull Secrets for Private Registries
Create a secret for your private registry...
Add the name of the created secret to your
values.ymlfile:# images: Settings for the images images: # imagePullSecrets which are required to pull images for private registries imagePullSecrets: - name: <name of your pull secret>
Create / Update Rasa X Users
Get the name of the Rasa X pod:
kubectl --namespace <your namespace> get pod -l app.kubernetes.io/component=rasa-xConnect to the shell of this pod:
kubectl --namespace <your namespace> exec -it <name of the Rasa X pod> bashRasa Enterprise only: Run the following command to create a new user. Please see Role-Based Access Control for available default roles:
python scripts/manage_users.py create <username><password><role>To update the password of an existing user:
python scripts/manage_users.py create --update <username><password><role>
Debug Mode
To activate the debug mode for all Rasa Open Source and Rasa X related pods, use the following configuration in your values.yml:
debugMode: "true"
Specifying Volume Sizes
Rasa X requires two volume claims: one for Rasa X, and one for the database. You can define the claim sizes by setting the size of these services in your override file:
rasax:
persistence:
size: "10Gi"
postgresql:
persistence:
size: "100Gi"
Configuring Databases
Rasa X is officially compatible with the following databases:
- PostgreSQL
- Oracle ≥ 11.0
By default, Rasa X uses PostgreSQL as a database. It can be configured to use an on-premise database or your own cloud provided database. Using Oracle as your Rasa X database instead of PostgreSQL also requires some additional setup.
PostgreSQL
Please check out the Environment Variables for how to configure Rasa X to use a non-default PostgreSQL database.
Oracle
Using Oracle as your Rasa X database requires database setup and configuration.
# Connect to Oracle
docker build . -t rasa/rasa-x:1.0.4-oracle
Environment Variables
Global Environment Variables
| Variable | Description |
|---|---|
RASA_X_VERSION |
The version of Rasa X used by the Rasa X docker container. |
RASA_VERSION |
The version of Rasa used by the Rasa docker containers. |
RabbitMQ Variables
Variables defining the behavior of RabbitMQ:
| Variable | Default Value | Description |
|---|---|---|
RABBITMQ_HOST |
"rabbit" |
Hostname of the container hosting RabbitMQ. |
DB Variables
Variables that define the credentials for the PostgreSQL database:
| Variable | Default Value | Description |
|---|---|---|
DB_HOST |
"db" |
Hostname of the container hosting the PostgreSQL database. |