Deploying Rasa using docker compose in Azure App services

Hi, I want to deploy rasa using docker-compose and use that docker image in azure app services for hosting it globally…Can someone please help me out

@CAkhil Can you please see these video for deployment on Azure : HOW TO DEPLOY RASA CHATBOT TO MICROSOFT AZURE | CREATING VM INSTANCE | PART 1 - YouTube | HOW TO DEPLOY RASA CHATBOT TO MICROSOFT AZURE | INSTALLING RASA X ON VM INSTANCE | PART 2 - YouTube

Advantage of installing Rasa X on server and Integrating with Rasa/Botfront Webchat is that, what ever conversation you will do with the widget, it will automatically stored at the Rasa X and you can easily analyse what questions are out-of-scope or which intent need to update with the training example.

@CAkhil If you required any further help regarding the Docker-compose installation process do let me know.

Note:

Server installation is different and local machine is different. But, please keep that in mind that new installation will only support for Rasa 1.0.0, I guess please see this : Installation Guide

On the other hand, you can install the rasa x 0.42.x using docker-compose : Installation Guide

I’d encourage, just try the docker-compose and it’s a great learning.

Hi @nik202 I am right now using a VM instance to host the chatbot globally…but i want to use docker-compose to create a single docker image which has both rasa and rasa action server running in 2 different ports, and want to expose the port of only rasa server

@CAkhil means you want to install rasa open source only on the VM instance ok perfect. This thread will help you: Dockerizing my rasa chatbot application that has botfront - #11 by nik202

Note: Remember to update the Rasa or Rasa-SDK as per version requirements or latest from the above mention thread.

Do let me know if you have any issue.

@nik202 I am already using bot locally on a vm server…but i want to create a docker image of my 2 rasa servers(action and rasa) so thay i deploy my bot in azure app services using that image instead of locally running it in VM everyday manually

@CAkhil I already share you the code for the same on my above post, you just need to run it on VM server root terminal and you need to create the project directly for the same and with only docker-compose build you can use. That’s the best I can suggest and help. Thanks.

Tip: you need to install docker and rasa for the same. Good Luck!

@nik202 I have on doubt with respect to docker-compose… I would be getting a docker image with both rasa and rasa actions server in it right?

Also I would need to access only rasa port(5005) after the deployment using its url…How to access only one port from a docker composed image?

@CAkhil what is the significance of running only one port i.e 5005 you also need to run the port 5055 for action server. For running the docker-compose you just need to build the file and everything will be running in container. Can I asked you one questions if you don’t mind? Do you have a exposure of docker and docker-compose?

@nik202 Hi… I want to deploy my rasa bot using the docker compose in azure web app services and use the url globally

Actually I don’t have exposure with respect to docker

@nik202 Right now when i run my bot locally and go to localhost:5005, I would be able to see a response saying : hello from rasa

I want to do the same thing with a global url instead of a local one using docker and azure web app services

@CAkhil I can sense that, but if you have website and front end then only you can deploy the rasa globally ok ? you can not globally use the rasa url and what you mean by URL globally huh?

@CAkhil do you have frontend?

it means that your rasa server running on port 5005 that’s it, not much with that you can not talk to bot for that you need frontend.

@nik202 I am using channels(both webex and msteams) as my frontend and they require a global url for connecting with my rasa chatbot…Right now i am using ngrok for it.But i want to deploy my bot in azure app services so that i can get a permanent url

@CAkhil can you share some code for Webex or MS Teams?

@CAkhil There no term as Global URL in rasa.

@nik202 What i meant by global url is…instead of running my bot locally at one port to create a webhook and communicate with my channels. I want to deploy it to azure web app services so that i can use that permanent url to communicate with my channel

As you can see i am right now using an ngrok url (which will expire in 2hrs) to chat with my bot.Instead of doing this over and over again locally…I want to deploy my rasa bot to azure app service so that i can use that url

@CAkhil I’m aware of all this and if you are using ngrok you can deploy using a free plan also and that will be online forever, but I am afraid you not listening my suggestions.

@nik202 Sorry… I didn’t understand what you meant

Did u get what i am trying to convey regarding global url?

@nik202 Does this make sense to you now why i want to do that?

I already have frontend with me (channels) but to configure them i need to deploy my bot using azure app services.

I am sorry if i am troubling you too much

@CAkhil I’m aware of everything.

@nik202 is there anything wrong with my approach? Can u please help me out