How to run Jupyter Hub (multi-user mode) using systemd
The following script will install Jupyter Hub in single user mode (i.e. only a single Linux user can login to Jupyter Hub using the web interface).
Prerequisites
First install Python & PIP, then NodeJS, then Jupyter Hub, then configurable-http-proxy
:
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs python3-pip
sudo pip3 install jupyterhub
sudo npm i -g configurable-http-proxy
Installing the Jupyter Hub systemd service
Run the following script using sudo
!
#!/bin/bash
# This script installs and enables/starts the JupyterHub systemd service
export NAME=JupyterHub
# Create service file
cat >/etc/systemd/system/${NAME}.service <<EOF
[Unit]
Description=${NAME}
[Service]
Type=simple
ExecStart=/usr/bin/env jupyterhub --port=11569
User=root
Group=root
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
# Enable and start service
systemctl enable --now ${NAME}
This script will install a systemd service named JupyterHub
autostart it on boot. It is running on port 11569
by default.