To ensure the proper functioning of Rasa Studio, it is essential to set up and configure the following components.
Please note that these components are NOT part of the Studio Helm Chart.
Kubernetes Cluster: Rasa Studio Helm charts require a Kubernetes cluster (version >=
1.22) to deploy the application. Kubernetes provides a container orchestration platform that manages the deployment, scaling, and management of containerized applications. You can set up a Kubernetes cluster on various cloud providers, such as Amazon EKS, Google Kubernetes Engine (GKE) etc.
Helm: Helm is a package manager for Kubernetes that simplifies the deployment and management of applications. Before deploying Rasa Studio, make sure that Helm (version >=
3.8.0) is installed on your machine. Helm allows you to define and manage application configurations using Helm charts. Ensure that you have Helm installed on your local machine or a client machine that has access to the Kubernetes cluster.
PostgreSQL Database: Rasa Studio requires a PostgreSQL database instance as its primary data store. It is recommended to use PostgreSQL version
14.3and above. Studio needs three databases for its functioning and all of them are automatically created by the
Studio Database Migrationcontainer during deployment. The databases are:
studio— to store the core assistant data, including Flows, Rasa primitives, conversation history, CMS, annotation data etc.
keycloak— to store user data for RBAC and Authentication (Keycloak database).
model-service— to store details regarding model training & model deployment.
All of the above-mentioned databases can be created in a single database instance. A managed PostgreSQL service, such as Amazon RDS or Google Cloud SQL, is recommended for ease of management and scalability.
Kafka Broker: Studio relies on a Kafka broker internally for communication between services (for both Modern and Classic assistants) and also to receive conversation events from your production Rasa Pro assistant (for classic assistants only). Kafka provides a scalable and fault-tolerant message streaming platform. Managed Kafka services like Amazon MSK, Confluent Cloud, etc can simplify the management of Kafka infrastructure.
Users need to manually create the following Kafka topics:
NFS Storage: Studio’s model-service containers require an NFS-based persistent storage for its functioning. This needs to be created separately and the corresponding connection details need to be passed into the
values.yamlfile (part of Studio Helm Chart). We recommend using managed solutions such as AWS EFS, Google Cloud FileStore etc. You can also create a VM with an attached NFS drive system and pass that information to Studio to use as a persistent volume.
AWS S3 or Google Cloud Storage: Studio’s model-service needs cloud object storage access to store assistant configurations and trained models. Studio currently supports AWS S3-based storage and Google Cloud Storage. A storage bucket needs to be created and passed to the
values.yamlfile for Studio’s use. Based on the cloud provider you either need to provide the
service accountcredentials (for GCP) or AWS ACCESS KEYS (for AWS) for the deployment so that Studio can access the bucket.
Rasa Pro Deployment: To use the
classicassistant mode in Studio, Rasa Studio needs to receive conversation events from your
Rasa Proassistant running in production. Deployment of a production assistant needs to be done using the official Rasa Pro Helm Charts which is not part of the Studio Helm chart. Take a look here to learn more. Studio connects to the Rasa Pro assistant through the Kafka broker. Please make sure to pass the previously created Kafka topic
rasa-eventsto your Rasa Pro deployment so that the conversation data can be ingested by Studio. It is mandatory to use Rasa Pro version
3.6and above to ensure compatibility. Please note that a Rasa Pro deployment is NOT needed if you plan to create only
Please make sure that you have fulfilled the above requirements before proceeding with the deployment of Rasa Studio using Helm charts.