Deploying JupyterHub at your institution

Just joined the forum and am posting here is it seems like a good fit even though it is a bit stale - please redirect as needed. We are attempting to install a jupyterhub behind our engineering corp’s firewall and there are differences of opinion on its objectives and how it should be deployed (stand-alone dedicated TLJH or our HPC cluster). The general direction from competing documents are confusing - there are likely contextual differences that I am missing.

jupyter,org promotes the two deployment schemes (TLJH and “0 to many”) while the jupyerhub github projects suggest that you you just need to establish a conda environment, generate/setup a config file, and launch jupyterhub. I lean towards standing up a stand-alone server to keep the deployment tight and the TLJH deployment is beautifully packaged for <50 users which is our initial situation - super tight and works in a skeleton sense with little hassle. Some colleagues wants to deploy to our HPC so that our production data is readily available via a mount. There is no intention of using a kubernetes based solution on the HPC at this point as our HPC is geared for PBSPro batch processing and custom load balancing would be required to incorporate kubernetes (I think - not my area of expertise). I presume that deployments to HPC clusters are common - but it would be get to hear of success (or failures) with such deployments along with related deployment advice. Basically, we would like to deploy with a simple installation that mimics the TLJH on one of our HPC nodes?

Are there pitfalls to note? What deployment documentation should we follow? Should the configuration setup be pretty much as simple as the JupyterHub github describes alongside the settings suggested in TLJH. There is another github project named “jupyterhub-the-hardway” - how does that relate to the jupyterhub github instructions of simply spinning up server from a conda environment?

1 Like

TLJH and Z2JH are the main recommended production deployments. The other instructions are intended for more advanced admins or developers who have more specialised requirements, or who are interested in the technical details.

If you want to run your singleuser servers on a HPC node (as opposed to using a notebook to interact with HPC) have a look at GitHub - jupyterhub/batchspawner: Custom Spawner for Jupyterhub to start servers in batch scheduled systems