Docker-Compose Quick Install

Rasa X is deployed on a server as a set of Docker containers.

If you get stuck, email support@rasa.com with subject “deployment help” and we’ll jump on a call with you! We’re working to make deployment easier and would love your feedback.

Watch the Rasa Masterclass video below to follow along with the Quick Installation script instructions:

Installation

Note: Rasa X is intended to be deployed on a server and not to a personal/local machine. Deploying on a server is recommended because Rasa X is designed to stay up continuously, and not to be frequently stopped or restarted.

Hardware & OS Requirements

Here are the minimum and recommended hardware specs and OS requirements:

vCPUs

  • Minimum: 2 vCPUs
  • Recommended: 2-6 vCPUs

RAM

  • Minimum: 4 GB RAM
  • Recommended: 8 GB RAM

Disk Space

  • Recommended: 100 GB disk space available

Operating System (OS)

  • Option 1: Ubuntu 16.04 / 18.04
  • Option 2: Debian 9

For Windows or other Linux operating systems, please follow the Manual Installation.

Server Configuration

When setting up the server, make sure the following ports are open:

Port Service Description
22 SSH SSH access.
80 HTTP Web application access.
443 HTTPS Web application over HTTPS access (optional)

Rasa X Quick Installation

If you have a Rasa Enterprise license, please see the Rasa Enterprise Quick Installation instructions.

  1. Download and run the install script on the server:

    To install all of the files into the default folder, /etc/rasa, run the following commands:

    curl -sSL -o install.sh https://storage.googleapis.com/rasa-x-releases/0.27.4/install.sh
    sudo bash ./install.sh
    

    You will be prompted to accept the terms and conditions. Read the terms, then hit return to continue.

    Note

    To choose your own installation folder instead of /etc/rasa, set the RASA_HOME environment variable:

    curl -sSL -o install.sh https://storage.googleapis.com/rasa-x-releases/0.27.4/install.sh
    export RASA_HOME=~/rasa/dir
    sudo -E bash ./install.sh  # -E will preserve the environment variable you set
    

    Replace /etc/rasa with ${RASA_HOME} in further commands.

  2. Start Rasa X:

    cd /etc/rasa
    sudo docker-compose up -d
    
  3. Set your admin password:

    cd /etc/rasa
    sudo python rasa_x_commands.py create --update admin me <PASSWORD>
    
  4. Navigate to the hostname or IP where your server is reachable and log in using your newly created password.

    Once you’re logged in, you can set up Integrated Version Control to connect your Rasa X instance to a remote Git repository. Using Integrated Version Control, you can load in and deploy your assistant to make it available to users.

    If you already have a Rasa assistant serving users, you can also 2. Connect a Live Rasa Open Source Deployment to hook it up to Rasa X.

    If you are using custom actions, make sure to follow the instructions to Connect a Custom Action Server.

    If you’d like to run your Rasa X server on HTTPS, check out Securing with SSL.

Rasa Enterprise Quick Installation

  1. Copy your enterprise license to your server:

    scp rasa-x-ee-license.yml example.com:~/rasa-x-ee-license.yml
    

    Make sure the license is in your working directory on the server before proceeding to the next step.

  2. Download and run the install script on the server:

    To install all of the files into the default folder, /etc/rasa, run the following command.

    curl -sSL -o install.sh https://storage.googleapis.com/rasa-x-releases/0.27.4/install.sh
    sudo bash ./install.sh
    

    You will be prompted to accept the terms and conditions. Read the terms, then hit return to continue.

    Note

    To choose your own installation folder instead of /etc/rasa, set the RASA_HOME environment variable:

    curl -sSL -o install.sh https://storage.googleapis.com/rasa-x-releases/0.27.4/install.sh
    export RASA_HOME=~/rasa/dir
    sudo -E bash ./install.sh  # -E will preserve the environment variable you set
    

    Replace /etc/rasa with ${RASA_HOME} in further commands.

  3. Start Rasa X:

    cd /etc/rasa
    sudo docker-compose up -d
    
  4. Set your password:

    Create an admin user with a username and a password:

    cd /etc/rasa
    sudo python rasa_x_commands.py create admin <USER> <PASSWORD>
    
  5. Navigate to the hostname or IP where your server is reachable and log in using your newly created password.

    Once you’re logged in, you can set up Integrated Version Control to connect your Rasa X instance to a remote Git repository. Using Integrated Version Control, you can load in and deploy your assistant to make it available to users.

    If you already have a Rasa assistant serving users, you can also 2. Connect a Live Rasa Open Source Deployment to use it with Rasa X.

    If you are using custom actions, make sure to follow the instructions to Connect a Custom Action Server.

    If you’d like to run your Rasa X server on HTTPS, check out Securing with SSL.

Connect a Custom Action Server

  1. If you don’t yet have an image for your custom action server, follow the instructions in Building an Action Server Image to build your image and push it to a container registry.

  2. Replace the default app image with the image of your custom action server:

    To avoid your changes in the docker-compose file being overwritten when you update versions, you should not apply your changes to docker-compose.yml. Instead, create a new file called docker-compose.override.yml inside your /etc/rasa directory and apply your changes there. Docker will automatically take that file into account and override any attributes in docker-compose.yml with changes from the override file.

    The contents of docker-compose.override.yml might look like this:

    version: '3.4'
    services:
      app:
        image: <image:tag>
    
  3. If your Docker containers are already running, take them down and then start Rasa X again:

    cd /etc/rasa
    sudo docker-compose down
    sudo docker-compose up -d
    

Supported Web Browsers

The web interface aims to support browsers that meet the following criteria:

  • > 0.2% market share
  • not Internet Explorer
  • not Opera Mini