How to run 2 instances of Rasa x with docker

Hi, I succesfully launched one Rasa X instance following Docker-Compose Manual Install docs. But now I have to run second one for different language. I’m new into docker and I cannot make two instances of Rasa X work correctly in the same time. Which configuration in docker-compose.yml for second instance should I change? Only ports? Containers names? Create new docker network?

It might not be the answer you expect, but I solved this finally by using one VM per language. Each VM has its own IP address and its own set of containers.

Hi, We are facing the same challenge.

On local, we have been able to create two docker images importing the public docker image of rasa X but training each model with different training data.

Each of these images have been exposed to a different port, so we can now access both instances at the same time while running in parallel.

Though, we wanted to confirm if there is any other approach that the Rasa team recommends to achieve the best performance both at runtime and at development.

Hey, why do you want to run two instances of Rasa X at the same time? Rasa X doesn’t affect the performance of your Rasa Open Source bot in production. Unless you’re having a lot (like > 20) of people accessing your Rasa instance scaling Rasa X shouldn’t be necessary at all. Scaling the Rasa Open Source instances makes sense and you can simply do so by incrementing the replicas of rasa-production.

Thank you all for answers.

@LaurentIng Thanks, I’ll try that

@j.diez.martin Could you please share your docker-compose.yml? That would help me a lot :slight_smile:

@Tobias_Wochinger I need two instances of everything (rasa-x, rasa-production, db etc.) because I have 2 chatbots using different languages. So I need rasa-x:5002 where I can create training data in English and rasa-x:5003 where I can do the same thing, but with data in Spanish. I also need rasa-production:5005 to run English model and rasa-production:5006 to run Spanish one. Or maybe there is an approach to do this with only one Rasa X instance?

I need two instances of everything (rasa-x, rasa-production, db etc.) because I have 2 chatbots using different languages.

If it’s two different bots, then I suggest using two separate deployments.

Did you make 2 installations of rasa and all its containers/components in different directories to make 2 differenr bots? or if you shared few containers, how did you do that? Please share as i also have to make 2 different bots on docker.