Label Studio as an ondemand app, can it be done?


We are trying to set up label studio community edition ( as an ondemand app, and are failing miserably. It appears that in order to be proxied label-studio wants the url to not have any /node/... or /rnode/... added to it. Has anyone managed to get this working as an ondemand app? Our level of understanding the OnDemand plumbing here is low, so we typically try out configs that work with other apps and any obvious permutations until we find the magic one, but that isn’t working for label studio :smile:



I’ve never heard of that app, but I can try to take a look today.

1 Like

I’m also struggling a little bit. It does not like being run behind a proxy. I’ll continue to look into it.

Thanks, appreciate you giving this a try. We’ve been scratching our heads unsuccessfully for a week or so and just ran out of things to try.

It looks like a really cool tool. I’m sort of surprised this is the first mention of it given how much ML goes on at all these sites.

A second option is running it as a Passenger app because we support wsgi (python) apps. It may deal with redirects better when Passenger boots it up instead of us in a job.

Label Studio has a --host option but reading their github issues it seems that only works with sub-paths in their docker-compose environmennt which is a non-starter on our HPC. I actually tried converting what’s in their docker repo to a singularity container and running it there but that was not enough … it seems to need something similar to what they have as their nginx proxy in the docker-compose environment sitting in front. That config is here:

How hard would it be to translate that to an OnDemand app?

Hi and welcome @cek! Maybe. I was unable to get redirects to work correctly with --host. Because we’re proxying through apache, it adds another layer of complexity that I was unable to solve relatively quickly.

Thanks, maybe a better way to put this … do you know of an example OnDemand app that uses an nginx proxy that we could adapt?

I found this, but it has 2 commits from 5 years ago. So it’s more than nothing, but it is not a production application and I’ve never actually used it.

That said - one thing I found while toying with label studio is that once you set a password for a user, you have to use that password always. So it’s not like say Jupyter where you get a temporary password for that session only. Label studio has it’s own sqlite3 database that it’s managing, so there’s some state to worry about here.