JupyterHub Data Science Server on Ubuntu 24.04 LTS
โดย Ntegral Inc.
JupyterHub Multi-User Data Science Server on Ubuntu 24.04 LTS; Deploy preconfigured JupyterHub and JupyterLab data science server on Ubuntu 24.04 LTS
Overview
JupyterHub Multi-User Data Science Server on Ubuntu 24.04 LTS is a preconfigured virtual machine image designed to help organizations quickly deploy a centralized, browser-based data science and notebook environment.
The VM includes JupyterHub for multi-user notebook access, JupyterLab as the default user interface, Nginx as the public reverse proxy, and systemd for service management. It is designed for teams that need a shared, secure, and repeatable data science workspace without manually configuring JupyterHub from scratch.
This image is suitable for data science teams, analytics teams, education environments, internal engineering teams, AI/ML labs, and organizations that need a multi-user Python notebook server running on Ubuntu 24.04 LTS.
Key Capabilities
- Preconfigured JupyterHub deployment
- JupyterLab enabled as the default user interface
- Runs as a managed systemd service
- Uses Nginx as the front-end reverse proxy
- Supports multiple Linux users
- Uses Linux PAM authentication
- Supports group-based JupyterHub access
- Automatically allows Linux sudo users to access JupyterHub as admins
- Includes a global Python 3 Data Science kernel
- Includes common data science and machine learning libraries
- Optional support for GPU workloads with PyTorch CUDA packages
- Designed for repeatable VM image deployment
- Built on Ubuntu 24.04 LTS
Included Software
The VM includes the following core components:
| Component | Purpose |
|---|---|
| Ubuntu 24.04 LTS | Base operating system |
| Python 3 | Runtime for JupyterHub and notebooks |
| JupyterHub | Multi-user notebook server |
| JupyterLab | Browser-based notebook and development interface |
| Notebook | Classic notebook compatibility |
| IPython Kernel | Python kernel support |
| Nginx | Reverse proxy for browser access |
| systemd | Service management |
| Node.js 20 | Required for JupyterHub proxy support |
| configurable-http-proxy | JupyterHub proxy component |
Included Python Data Science Libraries
The shared global data science kernel includes:
- numpy
- pandas
- matplotlib
- seaborn
- scikit-learn
- scipy
- statsmodels
The registered shared kernel is displayed in JupyterLab as:
Python 3 (Data Science)
Authentication and User Access
This VM uses local Linux user accounts for authentication.
Users are allowed to access JupyterHub if they are members of either:
jupyterhub-users
or:
sudo
Members of the Linux sudo group are automatically granted
JupyterHub administrator access.
Example User Creation
sudo adduser analyst1
sudo usermod -aG jupyterhub-users analyst1
sudo systemctl restart jupyterhub
Example Admin Creation
sudo adduser adminuser
sudo usermod -aG sudo adminuser
sudo systemctl restart jupyterhub
Network Architecture
Nginx listens publicly on port 80 and proxies traffic to JupyterHub.
Typical flow:
User Browser → Nginx → JupyterHub → User Notebook Server
This allows Nginx to act as the public-facing web service while JupyterHub remains internal to the VM.
Default Access URL
After deployment:
http://<SERVER-IP>/hub/admin
Recommended Use Cases
This VM is ideal for:
- Team-based data science environments
- Internal analytics workbenches
- AI/ML experimentation
- University or classroom notebook environments
- Shared Python development environments