jupyterhub/jupyterhub
Multi-user server for Jupyter notebooks
What it solves
JupyterHub is a multi-user server that allows multiple users to have their own individual Jupyter notebook servers. It solves the problem of providing a centralized, managed environment for groups of students, corporate data science teams, or research projects to access interactive computing environments without each user having to manually set up their own server.
How it works
JupyterHub consists of three main components:
- The Hub: A central Tornado process that handles authentication and spawns single-user servers on demand.
- The Proxy: A configurable HTTP proxy (node-http-proxy) that forwards requests to the Hub or the appropriate single-user server.
- Single-user Servers: Individual Python/Jupyter/Tornado instances of the Jupyter notebook server for each user.
When a user logs in, the Hub configures the proxy to route traffic to that user's specific notebook server.
Who it’s for
It is designed for organizations, educators, and research groups who need to provide interactive computing environments to a large number of users on a shared infrastructure.
Highlights
- Flexible Authentication: Supports various authenticators including PAM, OAuth, LDAP, and Kerberos.
- Extensible Spawning: Can launch servers in various environments via spawners such as Docker, Kubernetes, systemd, and Hadoop clusters (YARN).
- Administrative Control: Provides a REST API for managing the Hub and its users.
- Docker Support: Offers a baseline Docker image for streamlined deployment.
Related
- Project
- Project
- Project
- Project
- Dispatch