Hi all!
I experimented and believe that there are 2 ways to connect RASA X to Custom Action Server. (Hope this thread is able to help those who are stuck too!)
The first method is to build your custom actions image using Connecting a Custom Action Server with the following docker-compose.override.yml
file
version: "3.4"
services:
app:
restart: always
image: <image:tag>
expose:
- "5055"
depends_on:
- rasa-production
The issue I am having with this is that I will need to push it to Dockerhub and I have some security concerns (Although I can have 1 free private repository). Also, I will need to restart the app
container every time I make any changes in the action server in order for RASA X to get the updated changes.
The second method is to mount the action folder as the volume as demonstrated in RASA Masterclass. (Note: Instead of creating a blank actions folder as demonstrated in the tutorial, copy your actions folder in the same directory as your docker-compose file)
version: "3.4"
services:
app:
restart: always
image: "rasa/rasa-sdk:latest"
volumes:
- './actions:/app/actions'
expose:
- "5055"
depends_on:
- rasa-production
The issue I am having is that I would need to copy the actions folder to the folder where the docker-compose file is every time there is a change in actions and also to restart the app
docker.
For those who have deployed RASA X in production with CI/CD pipeline set up, which method is preferred and how did you set up the CD pipeline for it. Apart from these 2 methods, are there other methods that I can explore?
Hope that this thread will be able to gather all useful information that can help others who are looking to deploy RASA X in production!