CoCalc
Collaborative cloud notebooks (Jupyter, LaTeX, SageMath) with real-time editing
Discover top open-source software, updated regularly with real-world adoption signals.

Scalable multi-user hub for Jupyter notebooks
JupyterHub lets institutions launch a shared Jupyter notebook service, handling authentication, spawning, and proxying for many users via configurable authenticators and spawners, with Docker and Kubernetes support.

JupyterHub provides a central hub that launches, proxies, and manages individual Jupyter notebook servers for many users. It is designed for classrooms, research collaborations, and enterprise data‑science teams that need a shared, secure notebook environment.
The hub uses a Tornado process together with a configurable‑http‑proxy to route traffic. Authentication is pluggable – PAM, OAuth, LDAP, and Kerberos are supported out of the box. Multiple spawners let you run notebooks as local processes, Docker containers, Kubernetes pods, or through batch schedulers, giving full control over resource isolation. An extensive REST API enables programmatic user and server administration.
Install via conda or pip, then start the service with jupyterhub. For quick testing, the official Docker image runs the hub alone; you add a custom image with a jupyterhub_config.py to define authenticators and spawners. Secure the deployment with TLS certificates and configure the proxy as needed. Comprehensive documentation, tutorials, and an active community help you tailor the platform to any scale.
When teams consider JupyterHub, these hosted platforms usually appear on the same shortlist.
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Classroom notebook server
Students log in with university credentials and receive isolated notebook instances for assignments.
Corporate data-science workbench
Data analysts authenticate via OAuth and launch Docker-based notebooks with pre-installed libraries.
Research HPC cluster
Jobs are spawned through batchspawner, integrating with the cluster scheduler to allocate compute nodes.
Kubernetes-backed analytics platform
JupyterHub runs on a K8s cluster, scaling notebook pods automatically per user demand.
Provide an SSL certificate and key via the `--ssl-key` and `--ssl-cert` options or configure a reverse proxy with TLS termination.
Yes, by configuring a non‑privileged user and setting up the proxy and spawner accordingly, as described in the documentation.
`dockerspawner` is suitable for Docker environments, while `kubespawner` works with Kubernetes clusters; both isolate notebooks in containers.
JupyterHub supports multiple authenticators such as PAM, OAuth (OAuthenticator), LDAP, and Kerberos, selectable in the configuration file.
Yes, JupyterHub provides a REST API for creating, deleting, and managing users and their notebook servers.
Project at a glance
ActiveLast synced 4 days ago