JupyterHub provides multi-user access to separate notebook servers. Its official quick start lists Linux or Unix, Python 3.10 or newer, Node.js 12 or newer with npm for the pip installation path, and a supported authenticator. It gives no universal host CPU or RAM size because each user's notebook server adds workload-specific demand.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.
Recommended
Documented guidance
No further general recommendations are published for this version.
Capacity depends on your workload
JupyterHub publishes no universal host sizing minimum in the reviewed installation pages. Size the Hub and each single-user server for the chosen spawner, concurrent users, kernels, datasets, and notebook workloads.
We only compare what providers publish. A RAM figure alone can't confirm compatibility or production capacity.
Deploy with
Supported paths
Install with pip and npm configurable-http-proxy
Install with conda-forge
Run the Hub in Docker or on a Linux/Unix server
The host must provide
Runtime
Operating system
Linux or Unix is officially supported; Windows is not supported by the defaults
Python
3.10 or newer in the current quick start
Node.js and npm
Node.js 12 or newer for the pip-based install; conda can install these dependencies
Authentication and TLS
Choose an authenticator and configure HTTPS for network access
Single-user environment
JupyterLab 3+ or Notebook 4+ when notebook servers share the installation environment
Storage
Persistent data
Plan persistent storage for user home directories, notebooks, environments, and datasets. The documentation does not give a fixed capacity figure; usage depends on the spawner and per-user data-retention policy.
Step by step
Plan a JupyterHub installation
Select the deployment and spawner
Choose a Linux or Unix deployment and decide whether single-user notebook servers run on the Hub machine, in containers, or through another spawner.
For the pip route, install JupyterHub with Python and install configurable-http-proxy through npm. The conda route installs the Hub and proxy from conda-forge.
Do not expose the Hub without a deliberate authenticator and TLS configuration.
Explicitly restrict permitted users; access to the Hub can launch user-controlled notebook processes.
Keep the Hub service account, spawner permissions, and user data separated according to the deployment model.
Cost
Beyond the server price
JupyterHub is open-source software; operators supply the Hub host, per-user compute, persistent storage, networking, and backups.
Concurrent notebook servers and user-selected packages can dominate resources; no fixed per-user capacity is implied by the base installation requirements.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
The documented quick start requires a Linux/Unix system, Python 3.10 or newer, and Node.js 12 or newer with npm for the pip installation route.This prerequisite has no comparable published plan field.
The quick start also calls for HTTPS certificate and key plus a domain for a network-accessible installation; the default authenticator uses PAM.This prerequisite has no comparable published plan field.
Run notebook servers with JupyterLab 3 or newer or Jupyter Notebook 4 or newer.This prerequisite has no comparable published plan field.