Multi-user notebook server for data science teams
CIS Level 1 hardened Ubuntu 24.04 LTS image by Lynxroute · unique credentials at first boot · CVE-scanned · SBOM and CIS report inside
| Cloud | Version | Software price | Last build | |
|---|---|---|---|---|
| Azure Marketplace VM image · plan payg-gen2 · Gen2 | 5.5.2 | $0.028/vCPU/hr Recommended VM: Standard_D2s_v3 | 2026-09-07 | Listing ↗ |
Software price only; cloud infrastructure is billed separately by the provider. Prices in USD.
| Base OS | Ubuntu 24.04 LTS |
| Hardening | CIS Level 1, Ubuntu 24.04 LTS (tailored) |
| License | BSD-3-Clause |
| Upstream | Project Jupyter |
| Machine-readable | product.json · catalog.json |
JupyterHub is a multi-user server for Jupyter notebooks: it gives each user their own, independent JupyterLab notebook server behind a single entry point. This build runs the Hub as a Python application (JupyterHub 5.5.0 with the JupyterLab 7 single-user server) and uses systemdspawner to launch every user's server inside its own systemd unit with cgroup isolation. Authentication is PAM, so users log in with their real Linux account password - no external identity provider required. The public-facing proxy (configurable-http-proxy) is bound to loopback and fronted by nginx for TLS. Per-user notebooks, kernels, and files persist on the instance disk. BSD-3-Clause license, no vendor lock-in. Self-hosted on your own EC2 instance, your notebooks and data never leave your AWS account.
Security hardening:
OS hardening (CIS Level 1):
Compliance artifacts:
Credentials are generated at first boot and written to /root/jupyterhub-credentials.txt.
# accept the plan terms once, then:
az vm image terms accept --publisher lynxroute --offer jupyterhub --plan payg-gen2
az vm create -g my-rg -n jupyterhub --size Standard_D2s_v3 \
--image lynxroute:jupyterhub:payg-gen2:latest --admin-username azureuser --generate-ssh-keys
The most recent release with notes; the full release history is in product.json.
No release notes recorded yet.