There’s no documetatation on how to upgrade the Rasa X docker setup. This post summarizes this Rasa X forum post.
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:
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}
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
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} |
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