researchcloud-items

Installation scripts for SURF ResearchCloud catalog components

View the Project on GitHub UtrechtUniversity/researchcloud-items

Plabyook jupyterhub

back to index

Summary

Installs JupyterHub, with SRAM login.

Although SURF also has a Jupyter Notebooks component that installs JupyterHub, this component was created to provide some extra features:

Requires

Description

The role:

Security note

JupyterHub spawns servers (JupyterLab) running under the uid of the user logged in the browser. Authentication in the browser is handled by SRAM: after logging in, the name of the user is set by SRAM in the REMOTE_USER header, and this is passed along to JupyterHub. At the moment JupyterHub listens on a TCP port (8000). This means users with shell access (and JupyterLab provides a shell!) can easily bypass authentication by hitting localhost:8000/user/arbitraryusername – this will spawn a Lab instance running as user arbitraryusername. Do not provide shell access to untrusted users.

Work is in progress to remedy this issue by letting JupyterHub listen on unix sockets.

This component (unlike SURF’s Jupyter Notebooks component) does configure JupyterLab to use unix sockets to spawn user’s Jupyter kernels.

Variables

The following parameters are supported:

They correspond to the equivalent variables documented for the jupyterhub role

See also

History

2025 Written by Dawa Ometto (Utrecht University)

back to index