Deploying Your Rasa Assistant

Deploying Your Rasa Assistant

This page explains when and how to deploy an assistant built with Rasa. It will allow you to make your assistant available to users and set you up with a production-ready environment.

When to Deploy Your Assistant

The best time to deploy your assistant and make it available to test users is once it can handle the most important happy paths or is what we call a minimum viable assistant. The recommended deployment methods described below make it easy to share your assistant with test users via the share your assistant feature in Rasa X.

Recommended Deployment Methods

The recommended way to deploy an assistant is using either the One-Line Deployment or Kubernetes/Openshift options we support. Both deploy Rasa X and your assistant.

One-Line Deploy Script

The one-line deployment script is the easiest way to deploy Rasa X and your assistant. It installs a Kubernetes cluster on your machine with sensible defaults.

curl -s get-rasa-x.rasa.com | sudo bash

Kubernetes/Openshift

For assistants that will receive a lot of user traffic, setting up a Kubernetes or Openshift deployment via our helm charts is the best option.

Alternative Deployment Methods

Docker Compose

You can also run Rasa X in a Docker Compose setup.

Rasa Open Source Only Deployment

It is also possible to deploy a Rasa assistant without Rasa X using Docker Compose.

Deploying Your Action Server

Building an Action Server Image

To create your image:

  1. Move your actions code to a folder actions in your project directory.
  2. Create a file named Dockerfile in your project directory.
# Extend the official Rasa SDK image
FROM rasa/rasa-sdk:1.10.3

# Use subdirectory as working directory
WORKDIR /app

# Copy actions folder to working directory
COPY ./actions /app/actions
  1. You can then build the image via the following command:
docker build . -t <account_username>/<repository_name>:<custom_image_tag>

Using your Custom Action Server Image

You can push the image to a cloud repository like DockerHub.

To authenticate and push images to a different container registry, please refer to the documentation of your chosen container registry.