In addition to the "official" JupyterHub, we can create specialised specialized hubs to be used in specific courses. The hubs can be customised in a few different ways.
Our hubs are based on the Jupyter official jupyter/datascience-notebook image, with a few additional tweaks. Generally speaking, the image covers many use-cases within basic programming and data science datascience with the packages and modules it has by default. You can find the full list of the pre-installed packages here. However, many courses require specific packages to be installed. It is only possible for a user to install different packages in their own environments. However, we can globally install any Python packages and modules, notebook- and/or jupyterlab extensions that should be ready for the students. Unfortunately this can be only done by the admins, the instructors (and any other users) can only install packages to their own environments.
The hubs use the Jupyterlab interface by default, but that can be changed to the Notebook interface. That is not a hard limitation however, users can always change between the lab and notebook interfaces just by changing the URL.
It is also possible to increase the available resources for each user , depending is allocated. The default configuration, 1 CPU core and 1 GB RAM, is somewhat limited. Depending on the size of the course, the limits may be increased slightly to allow faster processing and larger datasets.
Accessing the hub
While the official JupyterHub allows anyone at NTNU to log in, the custom hubs are generally limited to specific people. Access to the hubs is usually limited to two types of user groups:
- The first group is the FS group(s) for the course(s), which means that all students and course staff registered to the course should gain access to the hub
...
Access to the
Admin users and instructors
Sharing notebooks and other files with students
- automatically.
- The second group is an ad-hoc group that is created while creating the hub. The ad-hoc group can be used to invite additional people to use the hub, who are not affiliated with the course in FS - for example teaching assistants or guest lecturers. The ad-hoc groups are most often called "NTNU Jupyterhub {course name}". The course coordinator (or the person contacting us about creating the hub) will receive an email invitation to manage the adhoc group, and after accepting the invitation they will be able to invite additional people to the group. The group can be managed at https://innsyn.feide.no/groups. NOTE: the 'Make Admin' toggle when inviting people to the group only refers to being able to administrate the ad-hoc group (add and remove other users), it does not have any effect on the user's status on the actual JupyterHub.
Admin users and instructors
The course coordinator (or the person contacting us about creating the hub) will receive the admin role on the hub. First and foremost, the admin role allows users to access the admin panel. You can access the admin panel through https://{hubname}.apps.stack.it.ntnu.no/hub/admin or by clicking the 'Admin' link in the hub control panel.
From the admin panel, admin users are able to access every other users' environments. Through the admin panel, admin users can also give and take away the admin role to and from other users.
- Type username into 'Add by username field'
- Click 'Add user'
- Click 'Apply'
Sharing notebooks and other files with students
'Shared' folder
The shared folder can be used as a simple way for sharing files from the course staff to students on the hub. The folder is a simple directory of which contents every user on the hub can see and read from, but only admin users and members of the instructor group can write to.
nbgitpuller
...
https://nbgitpuller.readthedocs.io/en/latest/link.html
...
Assignments in JupyterHub
nbgrader.