Rasa X Upgrade

Upgrading Rasa X Docker Containers

Posted by Greg Stephens on August 12, 2019 · 3 mins read

There’s no documetatation on how to upgrade the Rasa X docker setup. This post summarizes this Rasa X forum post.

Versions

A quick way to check your installed Rasa X and Rasa versions is via curl:

curl http://my-server/api/version

To determine the current release of Rasa X you can view:

Rasa X Container Versions

To determine the version of the containers we want to pull we need to look at the latest Rasa X supported versions. This can be found in the Rasa X ansible playbook file. Let’s pull that with the wget command:

wget -qO rasa_x_playbook.yml https://storage.googleapis.com/rasa-x-releases/stable/rasa_x_playbook.yml

As of August 2019, the versions in this file are:

RASA_X_VERSION=stable
RASA_VERSION=1.2.5
RASA_X_DEMO_VERSION=0.19.1

To get the versions of the postgres and rabbitmq images, you’ll need to retrieve the Rasa X docker-compose file:

wget https://storage.googleapis.com/rasa-x-releases/stable/docker-compose.ce.yml

If you grep on that file for image the version info for these two images will be displayed, as of today those show as:

bitnami/postgres:11.2.0
bitnami/rabbitmq:3.7.17

If you’re running an action agent the version needs to match the Rasa version. Open your docker-compose.override.yml file and make sure the image specification uses the RASA_VERSION environment variable to specify the version. It should be rasa/rasa-sdk:${RASA_VERSION}

Update Containers

Now that we know the latest supported versions of the containers, let’s do the update. From the RASA_HOME directory, execute the following commands:

sudo docker-compose down
sudo docker pull rasa/rasa:1.1.7
sudo docker pull rasa/rasa-x:stable
sudo docker pull rasa/rasa-x-demo:0.19.1
sudo docker pull bitnami/rabbitmq:3.7.15
sudo docker pull bitnami/postgres:11.2.0
sudo docker pull rasa/rasa-sdk:latest
sudo docker pull rasa/duckling:stable
sudo docker pull rasa/nginx:stable
sudo docker pull rasa/logger:stable
sudo docker pull rasa/rasa-sdk:latest

We also need to update the .env file with the latest version numbers:

RASA_VERSION=1.1.7
RASA_X_DEMO_VERSION=0.19.1

Now start the containers:

sudo docker-compose up -d

Docker Containers

I’m running under the recommended server configuration which uses a bunch of docker containers.

Service Image Ports Use
rasa-x rasa/rasa-x:${RASA_X_VERSION} 5002 User interface
rasa-production rasa/rasa:${RASA_VERSION}    
rasa-worker rasa/rasa:${RASA_VERSION}    
app rasa/rasa-x-demo:${RASA_X_DEMO_VERSION} 5055 Action server
db bitnami/postgres:11.2.0 5432 Postgres DB
rabbit bitnami/rabbitmq:3.7.15 5672 RabbitMQ
duckling rasa/duckling:latest 8000 Duckling
nginx rasa/nginx:${RASA_X_VERSION} 80, 443 nginx
logger rasa/logger:${RASA_X_VERSION}    

Container Volumes

Volume Container Use Description
./credentials.yml:/app/credentials.yml rasa-production, rasa-worker  
./endpoints.yml:/app/endpoints.yml rasa-production, rasa-worker  
./models:/app/models rasa-x Models
./environments.yml:/app/environments.yml rasa-x environments.yml
./logs:/logs rasa-x, logger logs
./auth:/app/auth rasa-x  
./db:/bitnami/postgresql db Postgres DB
./certs:/opt/bitnami/certs nginx certs
./terms:/opt/bitnami/nginx/conf/bitnami/terms nginx  
./.env/:/etc/rasa/.env logger  
./docker-compose.yml:/etc/rasa/docker-compose.yml logger  
/var/run/docker.sock:/var/run/docker.sock logger  

The logger container also has the following setting which is the working directory for running binaries within the container

working_dir: /etc/rasa