How to deploy rasa to existing website or how to it

Hello,

I want to deploy rasa onto my existing website.

I am facing an issue because of the root available server provided by rasa default

Actually, in the current scenario, I am using two rasa projects for different languages:

  • English Language (i.e.English action → port-5056 & English rasa → port-5005)
  • Hindi Language (i.e. Hindi action → port-5057 & Hindi rasa → port-5007)

now the thing is, the rasa server of both languages starts with root (i.e. / ). so after my IP, I need something to differentiate between these two languages. so I need to change the root path like below

so instead of root (/) where I can have root as like en/ & hi/ ?

so how to deploy them to my website?

Thanks

I think you have to learn form rasa more.

You can address this with a reverse proxy like nginx

could you explain it more pls!

Hi, @Nishkarshk , as Greg said, you could take advantage of a reverse proxy like nginx, basically, you would have your nginx running on port 80, and let’s say having two domains (www.english.com and www.hindi.com) pointing to the same ip (and port), once the request reaches the nginx proxy, it would redirect them based on the domain used for that request.

Assuming you are running it on ubuntu you could do something like this

Install nginx

sudo apt-get install nginx

Got to available sites dir


cd /etc/nginx/sites-available

create your desired sites

sudo touch rasa_english
sudo touch rasa_hindi

Now edit each of the recently created english site like below:

sudo nano  rasa_english
    listen 80;
    server_name     english-domain.com www.english-domain.com;

    location / {
        proxy_pass http://localhost:5005;

    }
}

Now do the same for your hindi site like below:

sudo nano  rasa_hindi
    listen 80;
    server_name     english-hindi.com www.english-hindi.com;

    location / {
        proxy_pass http://localhost:5007;

    }
}

Now you need to symlink your configuration to sites-enabled for it to be used by Nginx, since it’s currently in sites-available

symlink your configuration to sites-enabled

sudo ln -s /etc/nginx/sites-available/rasa_english /etc/nginx/sites-enabled/rasa_english
sudo ln -s /etc/nginx/sites-available/rasa_hindi /etc/nginx/sites-enabled/rasa_hindi

Then you just need to restart the nginx to apply the changes

sudo systemctl restart nginx

You now have two different domains pointing to the same ip but reaching different bots.

Hope it helps

1 Like

hi @jusce17 , thanks for the detailed information.

But in my case there’s only a single domain, so can’t we configure both the bots (i.e. english & hindi) with a single domain?

Thanks

@Nishkarshk I believe you can use sub domains then, and have something like this

server {
    listen 80;
    server_name     english.your-domain.com www.english.your-domain.com;

    location / {
        proxy_pass http://localhost:81;

    }
}

I have the same issue. I tried contacting the support, got no answer.

Did you manage to follow the steps I described ?