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

DigitalOcean

CPU-Optimized Regular Droplet · 2 vCPU / 4 GiB

2vCPU
4 GiBRAM
25 GiBStorage
4 TBTransfer
  • Dedicated CPU
  • 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.
DigitalOcean

General Purpose Droplet · 2 Dedicated vCPU / 8 GB

2vCPU
8 GBRAM
25 GBStorage
4 TBTransfer
  • Dedicated vCPU (100% allocatio...
  • 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.
Google Cloud

Compute Engine e2-medium · 2 vCPU / 4 GB

2vCPU
4 GBRAM
—Storage
—Transfer
  • Shared vCPU (1.00 sustained)
  • Persistent Disk (billed separa...
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.
Google Cloud

Compute Engine e2-small · 2 vCPU / 2 GB

2vCPU
2 GBRAM
—Storage
—Transfer
  • Shared vCPU (0.50 sustained)
  • Persistent Disk (billed separa...
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 CCX13 (Germany and Finland)

2vCPU
8 GBRAM
80 GBStorage
20 TBTransfer
  • Dedicated 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 CCX23 (Germany and Finland)

4vCPU
16 GBRAM
160 GBStorage
20 TBTransfer
  • Dedicated 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 CCX33 (Germany and Finland)

8vCPU
32 GBRAM
240 GBStorage
30 TBTransfer
  • Dedicated 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 CCX43 (Germany and Finland)

16vCPU
64 GBRAM
360 GBStorage
40 TBTransfer
  • Dedicated 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 CCX53 (Germany and Finland)

32vCPU
128 GBRAM
600 GBStorage
50 TBTransfer
  • Dedicated 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 CCX63 (Germany and Finland)

48vCPU
192 GBRAM
960 GBStorage
60 TBTransfer
  • Dedicated 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 CPX11 (US locations)

2vCPU
2 GBRAM
40 GBStorage
1 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 CPX12 (Germany and Finland)

1vCPU
2 GBRAM
40 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.

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