How to deploy dockerized rasa bot, so that anyone could use it from different machine?

Hi I have a simple trained rasa bot with custom action and it’s UI which is connected via rest API, with the help of docker compose I have maintained all the required images as shown below.

This is the docker-compose file for RASA BOT

This is the docker compose file for its UI image

So total three images I am running, two for rasa, one for UI in order to get it worked properly.

So basically what I want is how to share this docker compose file so that with docker compose up command it should work absolutely fine as it is working now, in other machines too( with the exact same trained bots and its action file)

Like is it possible to share just docker compose file to different user? and with docker compose up command, he should be able to pull up everything which is required to run this project (instead of me pushing all the files to github)

I am really sorry for such question, however I am very new to this, so got confuse. Please help!!!

sharing simply the docker-compose file here wont work. infact you should share the code base as an artifact or as git url which users can download/clone and provide a start script that does the following

  • check docker exist in machine
  • check docker-compose
  • run docker-compose up -d ## for daemon mode

Another option is to build docker images without volume mapping but the full image should contain the model as well and an entryppoint and publish the images to docker-hub. prepare the docker-compsoe to pull such fully built images from dockerhub and THAT you can share but image must contain everything in it, which includes the volume data you are mounting here meaning the model too.

2 Likes

Thanks a lot for the comprehensive reply, I will try the solution, you have suggested