Skip to main content
Microsoft
separator
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.jupyterhub-5-ubuntu-24-04-7c027262-f849-4a5f-93ce-6dd823fde1d1/image4_logolarge.png

JupyterHub 5 on Ubuntu 24.04

by cloudimg

JupyterHub 5 on Ubuntu 24.04 | 24/7 Support by cloudimg

JupyterHub 5 on Ubuntu 24.04 by cloudimg

JupyterHub 5.4.6 on Ubuntu 24.04 LTS (Noble Numbat), purpose-built for Microsoft Azure and maintained by cloudimg. JupyterHub is the de facto open-source multi-user platform for hosting Jupyter notebooks at organisations: data science teams, classrooms, research labs, and engineering groups all use it to share a single VM among many users while keeping each user's notebooks, files, and kernels isolated.

Why Choose cloudimg?

  • 24/7 Expert Support with guaranteed 24-hour response and 1-hour critical-issue average. Contact support@cloudimg.co.uk
  • Production-Ready from Launch — security-patched, validated, and pre-configured before publication
  • Azure-Native Integration — Azure Linux Agent, cloud-init, Gen2 Hyper-V boot
  • Per-VM Admin Credential Generation — `jupyter` user password rotated uniquely on first boot, written to `/etc/cloudimg-credentials.txt` (mode 0600). No two virtual machines ever share an admin password.
  • Websocket-Aware Reverse Proxy — nginx is pre-configured with `proxy_http_version 1.1`, `Upgrade`/`Connection` headers, and `proxy_buffering off` so kernel comms work end-to-end without manual tuning

What is Included

  • JupyterHub 5.4.6 installed into a Python 3.12 venv at `/opt/jupyterhub` (no system pip pollution)
  • JupyterLab + classic Notebook UIs available; default landing is JupyterLab via `c.Spawner.default_url = '/lab'`
  • configurable-http-proxy (Node.js) — JupyterHub's required routing component
  • PAMAuthenticator using Linux system users — log in with the `jupyter` user and the per-VM password
  • nginx reverse proxy on port 80 → 127.0.0.1:8000 with websocket Upgrade for kernel channels
  • jupyterhub-5-firstboot.service systemd one-shot rotating the `jupyter` password and writing credentials
  • jupyterhub.service systemd unit auto-starting on boot
  • Ubuntu 24.04 LTS base with latest security patches at build time
  • Azure Linux Agent for SSH key injection and seamless cloud integration

Use Cases

  • Single-VM multi-user JupyterLab for small data-science teams
  • Educational notebook server (classroom labs, training, workshops)
  • Engineering shared analysis environment with persistent kernels and files
  • Research-lab compute server for data scientists who don't want a Kubernetes deployment
  • Replacement for shared SaaS notebook services where data residency matters

Technical Specifications

  • Operating System: Ubuntu 24.04 LTS (Noble Numbat)
  • JupyterHub Version: 5.4.6
  • Python Runtime: Python 3.12 (system) + venv at /opt/jupyterhub
  • Authenticator: PAMAuthenticator (Linux system users)
  • Default User: azureuser (sudo, OS); jupyter (JupyterHub admin)
  • Web UI Port: 80 (nginx) → 8000 (JupyterHub)
  • Service Management: systemd (jupyterhub.service, jupyterhub-5-firstboot.service)
  • Recommended Size: Standard_B2s for development; Standard_D4s_v3 or larger for multiple concurrent users
  • VM Generation: Hyper-V Gen2 with UEFI boot

Notes on Hardening for Multi-User Production

The default PAMAuthenticator authorises only the `jupyter` user. To add more users, create them as Linux system users (`useradd -m -s /bin/bash <name>`, set a password via `chpasswd`) and add their usernames to `c.Authenticator.allowed_users` in `/etc/jupyterhub/jupyterhub_config.py`, then `systemctl restart jupyterhub.service`. For external authentication (GitHub, Google, OIDC), install the `oauthenticator` package and switch `c.JupyterHub.authenticator_class`.

Support

cloudimg provides 24/7/365 expert technical support. Contact support@cloudimg.co.uk or visit www.cloudimg.co.uk.

At a glance

https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.jupyterhub-5-ubuntu-24-04-7c027262-f849-4a5f-93ce-6dd823fde1d1/image0_screenshot01.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.jupyterhub-5-ubuntu-24-04-7c027262-f849-4a5f-93ce-6dd823fde1d1/image5_screenshot02.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.jupyterhub-5-ubuntu-24-04-7c027262-f849-4a5f-93ce-6dd823fde1d1/image1_screenshot03.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.jupyterhub-5-ubuntu-24-04-7c027262-f849-4a5f-93ce-6dd823fde1d1/image7_screenshot04.png
English (United States)
Your Privacy Choices Opt-Out Icon Your Privacy Choices
Consumer Health Privacy Sitemap Contact Us Privacy & Cookies Terms of Use About our ads Manage cookies