Setting up The Littlest Jupyterhub for separate lab sections

I’m looking to use The Littlest JupyerHub for some student tutorials. There are 4 tutorial sections, each with around 80 students, and so we are setting up each tutorial section to use their own instance of The Littlest JupyterHub running on its own VM.

We’re hoping to use implement a system that uses a single sub-domain for all of Jupyter, and proxies the request to to the right server. For example, jupyter.domain.com/section-a would redirect to the server that runs lab section A, while jupyter.domain.com/section-b would proxy to the B section’s VM.

From traefik, this is quite easy to set up. However, I can’t figure out how to get Jupyter to make requests with the prefix. For example, once the frontend requests scripts, it asks for jupyter.domain.com/hub/static/... whereas it would have to ask for jupyter.domain.com/section-b/hub/static/... or something similar.

There are a few more options:

  • If it’s possible to have more than 100 users simultaneously on tljh, we could just get the resources for it on a single VM
  • Use a different subdomain for each section (really not preferred, would make DNS and TLS Cert setup a bureaucratic nightmare)

In the future, I’m looking to get a full K8s Jupyterhub setup, however, we’re rolling out these changes slowly, so it can’t be done for this first run.

Any help would be appreciated, thanks!

This may have just been answered a few hours ago right here, I’m looking into this now.