This page contains information about configuring a Rasa X / Enterprise deployment installed using
Configuring Values in a Deployment
You can start a deployment with a predefined configuration by using
--values-file flag to pass a file with configuration, e.g.
rasactl start --values-file values.yaml.
To change values for an existing Rasa X deployment:
Set the relevant values in
Upgrade the deployment:rasactl upgrade --values-file values.yml
If you have multiple deployments, specify the deployment that you want to customize:rasactl upgrade deployment-name --values-file values.yml
To list all available deployments use the
rasactl list command.
Use a Specific Rasa X / Enterprise Version
You can configure a Rasa X deployment to use a specific Rasa X version.
values.yamlfile with the following content:rasax:tag: "1.0.0"eventService:tag: "1.0.0"dbMigrationService:tag: "1.0.0"
Apply the values to the deployment:rasactl upgrade --values-file values.yml
Deploy Rasa X with a Defined Password
By default, the password for a Rasa X user (the
admin user) is
You can use the
--rasa-x-password flag to defined the user password while creating a new deployment.
You can use the
--rasa-x-password-stdin flag if you want to read the password from
- Your deployment must be available at a domain (not a bare IP address). If you started your deployment using
rasactl starton your local machine, you can use the
rasactl status. If you use a VM with a dynamic external IP address, use a static one to avoid IP addresses rotation and assign a domain to it.
- You deployment must be accessible on ports
Install cert-manager via helm.helm repo add jetstack https://charts.jetstack.iohelm repo updatehelm install \cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace \--version v1.5.3 \--set installCRDs=true
Create a Basic ACME Issuer.
You will need to create a
cluster-issuer.yamlfile that contains a specification for the cluster issuer. In the example below Let's Encrypt is used as the certificate issuer.apiVersion: cert-manager.io/v1kind: ClusterIssuermetadata:name: letsencryptspec:acme:# You must replace this email address with your own.# Let's Encrypt will use this to contact you about expiring# certificates, and issues related to your account.email: email@example.com: https://acme-v02.api.letsencrypt.org/directoryprivateKeySecretRef:# Secret resource that will be used to store the account's private key.name: example-issuer-account-key# Add a single challenge solver, HTTP01 using nginxsolvers:- http01:ingress:class: nginx
Then create the
ClusterIssuerresource:kubectl create -f cluster-issuer.yaml
Configure your Rasa X / Enterprise deployment
You will need to upgrade your deployment so that a new TLS certificate can be issued for your domain.
First, update your deployments values to include configuration for an
Ingressresource.ingress:enabled: trueannotations:# add an annotation indicating the issuer to use.cert-manager.io/cluster-issuer: letsencrypthosts:- host: your-domain.compaths:- /tls:# a secret name that is created automatically by cert-manager- secretName: rasa-x-tlshosts:- your-domain.com# Disable NGINX which is not needed longer.nginx:enabled: false
Then apply the changes by upgrading your deployment:rasactl upgrade --values-file values.yaml
After the configuration is applied, you should be able to access your deployment over HTTPS.
You can execute the
rasactl status command to check a URL and if HTTPS is enabled.
Share your bot running locally
You can download and install ngrok for free. Once it is installed, open a new terminal window and run:
- Determine URL for your deployment by executing the
This will create a public HTTPS url for your locally running Rasa X server, given that it is running at the default port (if not, change the command above).
You can use the
-region flag along with the
ngrok http command to set region, default is
You should see something like this:
To share your bot, replace the
http://inspiring-albattani.rasactl.localhost portion of your Share your Bot link with
the https forwarding address from ngrok. Your link should then look something like this:
From there you can follow the instructions for sharing your bot
Keep in mind that ngrok has limits on free usage and this is not a production set up.
This section describes how to retrieve secrets from your running deployment. The following secrets are created by default
|description||default secret name|
|PostgreSQL database password|
|Redis lock store and cache password|
|RabbitMQ event broker password|
To view the plaintext value of a secret, run the following, replacing
<your deployment name> and
<your release name> with your deployment and the name of your release:
For example, if you want to see the value of the
redis secret for a release called
rasa-x in the
If you’re not sure what deployment name or release name your deployment runs under, you can use the following commands to find out. To list the available deployments, run:
And to list the releases under a particular deployment, run:
The release name can be found in the
Helm release field.