Application hosting

Hosting JupyterHub

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.

Min vCPU
Depends on workload
Min memory
Depends on workload
Min storage
Depends on workload

Must have

Hard prerequisites

  • 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

  1. 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.

    Official instructions
  2. Install the Hub prerequisites

    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.

    Official instructions
  3. Restrict who can sign in

    Choose and configure an authenticator, explicitly define allowed users or groups, and configure TLS before making the Hub reachable over a network.

    Official instructions

Security

Before you go public

  • 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.

Matching plans

Plans with published evidence

Hetzner Cloud

Hetzner Cloud CPX21 (US locations)

3vCPU
4 GBRAM
80 GBStorage
2 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX22 (Germany and Finland)

2vCPU
4 GBRAM
80 GBStorage
20 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX31 (US locations)

4vCPU
8 GBRAM
160 GBStorage
3 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX32 (Germany and Finland)

4vCPU
8 GBRAM
160 GBStorage
20 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX41 (US locations)

8vCPU
16 GBRAM
240 GBStorage
4 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX42 (Germany and Finland)

8vCPU
16 GBRAM
320 GBStorage
20 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX51 (US locations)

16vCPU
32 GBRAM
360 GBStorage
5 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX52 (Germany and Finland)

12vCPU
24 GBRAM
480 GBStorage
20 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hetzner Cloud

Hetzner Cloud CPX62 (Germany and Finland)

16vCPU
32 GBRAM
640 GBStorage
20 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hostinger

Hostinger KVM 1 VPS

1vCPU
4 GBRAM
50 GBStorage
4 TBTransfer
  • KVM vCPU (AMD EPYC)
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hostinger

Hostinger KVM 2 VPS

2vCPU
8 GBRAM
100 GBStorage
8 TBTransfer
  • KVM vCPU (AMD EPYC)
  • NVMe SSD
Compatibility unclear from published plan data

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.
Hostinger

Hostinger KVM 4 VPS

4vCPU
16 GBRAM
200 GBStorage
16 TBTransfer
  • NVMe SSD
Compatibility unclear from published plan data

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.

Want the full monthly bill? Use the hosting cost calculator. It keeps unknown charges visible.