JupyterHub Installation and Configuration
Obtain administrative rights by requesting root access:
sudo -i
Install the package for JupyterHub
conda install -c conda-forge jupyterhub
Generate a JupyterHub configuration file in /etc
by:
mkdir /etc/jupyterhub/
cd /etc/jupyterhub/
jupyterhub --generate-config
Use nano to edit the newly created configuration file:
nano /etc/jupyterhub/jupyterhub_config.py
Copy and paste the following into the configuration file:
# Allow Jupyter Lab as the default interface
c.Spawner.default_url = '/lab'
# Allow admin to access other users' accounts
c.JupyterHub.admin_access = True
# Specify JupyterHub administrators
c.Authenticator.admin_users = {'admin1'}
# Shutdown user servers on logout
c.JupyterHub.shutdown_on_logout = True
# Prevent the user-owned configuration files from being loaded
c.Spawner.disable_user_config = True
Use CTRL+O then enter to overwrite the document and CTRL+X to exit.
💡 For having access to the JupyterHub admin interface, at least one administrator has to be specified in the configuration file, e.g. admin1
. Additional administrators can be assigned/removed from the JupyterHub admin interface by existing administrator.
Make JupyterHub a system service, so that JupyterHub will run at system startup and continue to run after the system administrator logs out. To do so, create a service file:
nano /etc/jupyterhub/jupyterhub.service
Copy and paste the following into the document as depicted below:
[Unit]
Description=JupyterHub
After=syslog.target network.target
[Service]
User=root
Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/anaconda3/bin"
ExecStart=/usr/anaconda3/bin/jupyterhub --no-ssl -f /etc/jupyterhub/jupyterhub_config.py
[Install]
WantedBy=multi-user.target
Use CTRL+O then enter to overwrite the document and CTRL+X to exit.
Link the newly created service file to the /etc/systemd/system
directory:
ln -s /etc/jupyterhub/jupyterhub.service /etc/systemd/system/jupyterhub.service
Reload the system daemon and run JupyterHub as a system service:
systemctl daemon-reload
systemctl enable jupyterhub.service
systemctl start jupyterhub.service
Check JupyterHub status (optional):
systemctl status jupyterhub.service
💡 Your JupyterHub server should be up and running at http://<your instance IP address>:8000
. Make sure that :8000
is included in your address. See Add a Custom Domain to attach your JupyterHub to a registered domain name instead.
Last updated