JupyterHub
One server, a login for everyone, and a private JupyterLab in every browser tab: that is the whole pitch, and for classrooms and research teams it is transformative. JupyterHub authenticates each user against your existing identity system (campus OAuth, GitHub, Google, LDAP, or local accounts), then spawns a dedicated single-user server just for them, with their files, their kernels, and their compute allocation. Users open notebooks, terminals, and extensions in JupyterLab without installing anything, and their environment is identical whether they log in from a lab workstation or a laptop at home. The Spawner decides where those servers live: plain processes on one machine for a small class, Docker containers for isolation, or Kubernetes pods that scale across a cluster for a whole university. Administrators manage users, groups, and named servers from the admin panel, grant precise permissions through roles and scopes, and watch start times and profiles for every running server. External services plug into the Hub API, so dashboards, autograders, and portals can authenticate through the same OAuth machinery. When a user disappears for the semester break, culling stops their idle server and frees the resources. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. BSD-3-Clause licensed.
Deploy