How To Install JupyterHub on Ubuntu 22.04 LTS
In this tutorial, we will show you how to install JupyterHub on Ubuntu 22.04 LTS. JupyterHub is a powerful tool that brings the capabilities of Jupyter notebooks to multi-user settings, by managing the complexities of user authentication, isolation, and resource provisioning. Its flexible configuration options and distributions make it adaptable to a wide range of deployment scenarios and scales.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo
‘ to the commands to get root privileges. I will show you the step-by-step installation of the JupyterHub on Ubuntu 22.04 (Jammy Jellyfish). You can follow the same instructions for Ubuntu 22.04 and any other Debian-based distribution like Linux Mint, Elementary OS, Pop!_OS, and more as well.
Prerequisites
- A server running one of the following operating systems: Ubuntu 22.04, 20.04, and any other Debian-based distribution like Linux Mint.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- Basic knowledge of the Linux command-line interface (CLI). This guide assumes you’re comfortable with executing commands in a terminal.
- An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for JupyterHub.
- A user account with root or sudo privileges to execute administrative commands.
Install JupyterHub on Ubuntu 22.04 LTS Jammy Jellyfish
Step 1. Keeping your system packages updated is crucial for the smooth functioning of the software and for security reasons. To update the system packages, open the terminal and execute the following commands:
sudo apt update sudo apt upgrade
Step 2. Installing Python.
JupyterHub is written in Python, making Python3 an essential component of our setup. Now install Python3 and its package manager pip, as well as the virtual environment package, by executing:
sudo apt install python3 python3-pip python3-venv
After installation, you can upgrade pip to the latest version:
pip install --upgrade pip
Step 3. Installing JupyterHub on Ubuntu 22.04.
To install JupyterHub, you first need to install the required Python packages. Run the following commands:
sudo pip install jupyterhub jupyterlab notebook sudospawner
Next, generate a JupyterHub configuration file:
sudo -u jupyter jupyterhub --generate-config -f /etc/jupyterhub/jupyterhub_config.py
Step 4. Setting Up JupyterHub to Start Automatically.
To ensure that JupyterHub starts automatically, you need to create a service for it. Save the contents of the following Gist as /etc/init.d/jupyterhub
:
https://gist.github.com/questionlp/812fd1eb50b2bad2b3a5ecedee1b1e38
Then, enable the service by running the following commands:
sudo chmod +x /etc/init.d/jupyterhub sudo systemctl daemon-reload sudo service jupyterhub start sudo update-rc.d jupyterhub defaults
Step 5. Configuring the Uncomplicated Firewall (UFW) for JupyterHub.
Before making any changes, ensure UFW is installed and enabled. If UFW is not installed, you can install it using the package manager:
sudo apt install ufw
To enable UFW, use the following command:
sudo ufw enable
If you’re running JupyterHub on its default port (8000), you need to allow traffic on this port:
sudo ufw allow 8000
After configuring the rules, check the status of UFW to ensure the rules are applied correctly:
sudo ufw status
Step 6. Accessing JupyterHub Web UI.
Once you’ve installed and configured JupyterHub, you can open a web browser and navigate to your server’s IP address followed by ‘:8000’, e.g., http://<your-server-ip>:8000
. Log in with your server credentials to start using JupyterHub.
Congratulations! You have successfully installed JupyterHub. Thanks for using this tutorial for installing JupyterHub on the Ubuntu 22.04 LTS Jammy Jellyfish system. For additional help or useful information, we recommend you check the official JupyterHub website.