AI Infrastructure
July 20, 2026
5 min read

Running JupyterHub for AI Teams: Shared Notebooks Without Shared Chaos

The Problem With Notebooks on Laptops

A single data scientist working locally in Jupyter is fine until the dataset is too large for a laptop, the model needs a GPU nobody's laptop has, or a second person needs to pick up the same analysis. At that point, notebooks stop being a personal tool and start needing to be shared infrastructure — with per-user isolation, access to real compute, and a consistent environment so "it works on my machine" stops being a valid excuse.

What JupyterHub Actually Provides

JupyterHub is a multi-user server that spins up an isolated Jupyter environment per user on shared infrastructure, authenticated against your existing identity provider. Each user gets their own container with a configurable amount of CPU, RAM, and optionally GPU, and their notebooks and files persist across sessions on a per-user volume. Administrators define one or more environment images — with the specific Python version, libraries, and CUDA drivers a team standardizes on — so every user starts from the same known-good environment instead of debugging dependency conflicts individually.

GPU Scheduling for Shared Notebooks

The operational challenge specific to JupyterHub is GPU allocation: unlike a training job that runs and releases its GPU, a notebook session can sit idle with a GPU reserved for hours while a user reads documentation or writes code between cells. Configuring idle-culling — automatically stopping notebook servers after a period of inactivity — is essential for keeping GPU utilization reasonable across a team, and is a standard JupyterHub configuration option rather than something that needs custom tooling.

Recommended Architecture

  • JupyterHub — multi-user notebook server with per-user isolation
  • Code Server — browser-based VS Code as an alternative for users who prefer an IDE over notebooks
  • MinIO or PostgreSQL — shared datasets and results, accessible from every user's environment

Recommended NexNodo Deployment

For a small team sharing GPU access, the recommended deployment is a Cloud GPU VPS Small:

  • 1× H200 GPU
  • 15 vCPU
  • 256 GB RAM
  • 1 TB Storage
  • $3.79/hr or $2,767/mo

With idle-culling configured, this comfortably serves a team of 5–10 data scientists working asynchronously rather than requiring dedicated GPU capacity per person.

Deploy Faster

JupyterHub and Code Server are both available in the NexNodo AI Catalog under AI Workspaces, ready to deploy alongside your existing storage and compute.