@johrstrom how do you feel about creating a new reverse proxy uri method that additionally uses the substitution (supported by apache and/or nxginx) to modify the response from the cryosparc server to reinsert the /<uri>/<host>/<port> at the front of all the absolute paths? The problem we face here (paths in the response do not match) is a common problem among all web servers that use reverse proxy, not specific to cryosparc, so it could be useful to solve the problem generally.
@johrstrom I also would be interested in what @rarensu describes (although I understand it probably isnāt your responsibility in this case).
Would it make sense to start a post on the OSC discourse site, or put in a GitHub feature request? Or maybe there is one already?
@ndusek github is best because itās hard to forget (we forget about a lot of inactive discourse topics)
That said - i made this ticket for Open OnDemand.
Thanks @johrstrom , much appreciated!
Hi,
Is there any news regarding the latest CryoSPARC release v4.7.0?
Also for our institute this is currently a blocker in order to use it in combination with Open OnDemand.
Would it be possible to add this to the roadmap for the next release?
Kind regards and many thanks
Bert
Thanks for the feedback everyone! Weāre keeping track of this internally though I donāt have a specific timeline to share at the moment.
Out of curiosity, how are other types of applications hosted on Open OnDemand configured? Do all of them have support for hosting at a subpath?
We recommend hosting CryoSPARC behind a reverse proxy such as NGINX. This enables more control and the ability to integrate with upstream authentication gateways. To support a case such as domain.com/user1 mapping to a specific CryoSPARC instance, one could define an NGINX configuration such as:
location /user1/ {
# Strip /user1 prefix before proxying
rewrite ^/user1(/.*)$ $1 break;
proxy_pass http://127.0.0.1:39000;
...
This is the architecture of Open Ondemand: Architecture ā Open OnDemand 4.0.0 documentation
In general, for most applications we are hosting through this platform (Jupyter Notebook, VS Code server, R Studio server, Chainlit, etc ā¦) we can set the domain/subpath/baseurl,since the url that OOD uses follows following structure: http:// domain-ood.url/node/[hostname]/[port]. Apps where this is not possible are usually served through a virtual desktop in a browser, but this is not an elegant solution⦠A similar discussion is going on for example with OpenWebUI ⦠configurable Base URL for the UI Ā· open-webui/open-webui Ā· Discussion #3431 Ā· GitHub where this is also seen as a blocker to use it in combination with OOD.
Thanks for tracking this internally!