Rhasspy behind a reverse proxy


As I have several Rhasspy instances (sattelites); I would like to manage them behind the same “private” URL
For this I have created a DNS name on my local DNS server: domotique.maison.lan
I have 2 rhasspy instances:

I have also configured a reverse proxy (Traefik) which allows me to do something like this:

It works well on the “root” of the Rhasspy; but it doesn’t display statics elements (css, js, webfonts) and when I click any button on the Rhasspy WebUI, it doen’t work.
Example for the “slots” button: Rhasspy generates this URL: http://domotique.maison.lan/slots
I need it to be: http://domotique.maison.lan/sejour/slots for the reverse proxy redirection to work.

This behaviour is normal as Rhasspy has no chance to “guess” I’m reaching it behind a custom URI which is “/sejour/” or “/etage/”

In general when we want to setup a web application behind a reverse proxy; the application needs to be told to generate all its URIs with a customizable “basePath”. But I didn’t see anything like this into Rhasspy. (maybe I missed it)

So if I could configure in my Rhasspy sejour instance with: “basePath”:"/sejour"
The slot button would generate an URL like this: http://domotique.maison.lan/sejour/slots/
Same for CSS: http://domotique.maison.lan/sejour/css/

I hope I was clear enough.
So here is my request: can we add a “basePath” variable into Rhasspy so that it will use it to generate all its URIs on the WebUI ?

Thank you very much for your help

Best regards

There is already a basePath, called http_root.

Have a look here, hope it helps

Thank you very much ! Works great !

Seems I didn’t look carefully enough :slight_smile: