Introduction
Jupyterhub allows users to log into specific Tux nodes using a web browser, giving them access to run interactive Jupyter notebooks. These notebooks integrate code and instruction, giving you an easy to use environment to learn or document your code while you write it.
Starting in Summer 2025, Jupyterhub is now available on a dedicated Tux node, jupyterhub.cci.drexel.edu, as well as the two Tux GPU nodes, float.cs.drexel.edu and double.cs.drexel.edu. We expect this to allow students to make better use of the GPU resources on Tux.
For support with this, as well as all CCI compute resources, contact ihelp@drexel.edu.
Instructions for Connecting to Jupyterhub
Jupyterhub is only accessible on the campus network. If you're off campus, connect to VPN following the instructions at VPN first.
Once on the Drexel network, you should be able to log in to the desired Jupyterhub server using your Drexel credentials:
Jupyterhub (CPU only): https://jupyterhub.cci.drexel.edu
Float (GPU node): https://float.cs.drexel.edu
Double (GPU node): https://float.cs.drexel.edu
Choosing a Kernel
Several kernels are available for Jupyterhub, including Tensorflow and course-specific kernels. To select a kernel for a notebook, log in to Jupyterhub on the appropriate node for your work and open a notebook. You will be asked to choose a kernel for the notebook when you open it. If you want to change the kernel after opening a notebook, go to the "Kernel" menu and choose "Change Kernel". A list of available kernels will show up - choose the one you want to use for the project.
Creating a Conda environment
To create a Conda environment, start by opening a terminal on the Jupyterhub node you're using - either by SSH or by clicking the + button in Jupyterhub and choosing "terminal" instead of Python.
Once you've logged in to Jupyterhub in a terminal, use the cd command to change to the directory you want to use as the base for your Conda environment. Then run the following command, replacing {{NAME_OF_PROJECT}} with the name you'd like to use for the conda environment.
conda create --prefix {{NAME_OF_PROJECT}} ipykernel
This will create a Conda environment in the directory you're currently navigated to, with ipykernel installed - this package is required for all Jupyter conda environments. To install additional packages, like Tensorflow, use the following command, replacing {{NAME_OF_PACKAGE}} with the package you'd like to install.
conda install --prefix {{NAME_OF_PROJECT}} {{NAME_OF_PACKAGE}}
Once you've installed any packages you want access to in the environment, you can add the custom kernel to your kernel list in Jupyterhub. To do this, use the following command, replacing {{NAME_TO_SHOW_IN_JUPYTER}} with the name you want the environment to show up as in the kernel selector on Jupyter:
{{NAME_OF_PROJECT}}/bin/python -m ipykernel install --user --name "{{NAME_OF_PROJECT}}" --display-name "{{NAME_TO_SHOW_IN_JUPYTER}}"