Jupyterhub#

The JupyterHub provides a jupyter environment to users. It can be used to prototype code in jupyter notebooks or in JupyterLab without having to set up Python environments yourself. Additionally, it provides the possibility to let students work on exercises in a controlled and homogeneous environment. Using the nbgrader extension, one can also teach computer labs with automatized testing and feedback for students.

Account and Login#

Before being able to work with the JupyterHub you will need an account on the KI4All Cluster. Please refer to the “User Accounts and Login” section for specific instructions

To login to the cpu node first connect to the TU Braunschweig VPN and go to https://ki4allcpu.irmb.bau.tu-bs.de/ in your browser. You should be prompted to a login window where you will be asked for username and password. Both will be the same as the credentials you use for the SSO login, e.g., in stud.IP.

Python Environments#

After the login, you will be prompted to a dropdown menu, where you can select certain docker images. Currently, it is recommended to start with the base image. If for any reason you need a different image, please first build the image yourself and afterwards provide a Dockerfile to ki4all-cluster@tu-braunschweig.de. We will need to add certain JupyterHub-specific packages. At a later point in time a general template will be provided.

User Environment#

Each user has a jupyter server in a self-contained docker image. Accordingly, each user in the JupyterHub has only limited access to the base server and very limited possibilities to interact with other users. The docker image mounts certain directories such as the user’s home directory from the base system. Per default currently the following directories are mounted:

  • The /home/{$USERNAME} directory with the user’s data

  • The /work/exchange/ directory to enable data exchange via nbgrader

  • The /work/datasets/ directory to enable shared dataset usage without user-specific copies

  • The /work/results/ directory to allow users to save data intended for data exchange with other users

If you need further directories to be mounted, please contact ki4all-cluster@tu-braunschweig.de

NbGrader#

The nbgrader package provides many functionalities to teach practical programming courses with automated testing and feedback. The nbgrader package with jupyterlab is installed in the base docker image. You can use it freely according to the official instructions https://nbgrader.readthedocs.io/. If you have specific questions, feel free to contact ki4all-cluster@tu-braunschweig.de.