The JupyterHub Platform

Overview

The JupyterHub Platform is run by the STFC Cloud to host training courses for user groups. This service is hosted on a Kubernetes cluster.

The Platform runs JupyterHub, an environment that can host and run Jupyter notebooks. More information about JupyterHub can be found here:

The JupyterHub Platform is usually free at point of use, however larger requirements may incur costs.

What can I run on the JupyterHub Platform?

The Platform Can Support

  • Courses which may require the following for running Jupyter Notebooks:

    • Large number of CPU cores

    • Large memory allocations

    • NVIDIA GPU

The Platform Cannot Support

  • The platform is not designed for:

    • Access to a JupyterHub environment for only a single user

    • Running for a few user accounts long term.

    • Storing data, notebooks, and results long-term or after a course has ended.

Resources on the platform are subject to availability as the platform shares the same resources with other users on the STFC Cloud.

Resources Available

All instances come with a 50GB data store. This should be viewed as a working scratch space rather than a long-term data store, and are only accessible for the duration of the course.

These are not backed up and can be lost on service updates/upgrades or unplanned cluster outage.

Please keep a copy of any important data locally.

NFS Server

JupyterHub platform also has an NFS storage server that can be used by course organisers to store data that will be used for a course on the platform. To add data for an upcoming course, please contact the Cloud Team and include a request in the booking form to add data for the course.

The data is public read-only and is visible to anyone accessing the JupyterHub platform or accessing the NFS server, regardless of which course they are on.

Example Training Courses

Courses users can organise to run on JupyterHub platform include:

  • Machine learning courses

  • Training courses for scientific python packages for their user communities

 How to Create a Booking Request

Please contact the team () to receive a link to the JupyterHub booking form.

When creating a booking request, please could the request be made at least two weeks in advance of the planned start date for the course.

When completing the booking request, make sure to include:

  • Number of Participants for the course

  • The URL for the image to be used on the platform - e.g a URL for an image stored in Harbor

  • Usernames prefix to use (e.g. training-course-1, training-course-2 etc.)

Questions

If you have any questions about the platform, please contact the Cloud Team .

In STFC Cloud Slack there is also the #jupyterhub and #jupyter-training-users for notifications about the platform.

FAQs

How much notice do I need to give for a course I want to run?

Please could booking requests be made at least two weeks in advance of the planned start date for your course.

I want one user account on the platform for X weeks

Unfortunately the platform is not designed to support access for only a single person long-term. For running notebooks on a single instance or locally, you can find documentation for how to set up JupyterHub in a Docker container here:

I want to run a course with lots of users, is that possible?

Please contact the Cloud Team and we can see how we can support and book your course on the platform.

Can I add a GitHub repository?

A GitHub repository can be added to the training environment on JupyterHub by providing the URL to the repository in the booking request form. Please make sure the repository is publicly accessible.

I have my own data I want to use for my training course, how can I access it through the platform?

We have an NFS server that the JupyterHub platform can access, as part of your booking please add in the notes that you would like to add data to the server so it can be accessible for course participants.

I want to run a training course that uses Windows in the base image, is that possible?

JupyterHub does not support Windows as an OS as a training course base image.

Running Your Own JupyterHub

I want to run JupyterHub on a cluster

This service is packaged and built specifically for the platform out of the box. For requirements, deployment instructions and available features/limitations see the STFC Ansible Jupyter Repository.

Some understanding of OpenStack and Linux CLI usage is required to deploy an instance. Some understanding of Kubernetes is required to create the cluster to host JupyterHub (See for more information).

User-facing configuration is written in .yaml files, so knowledge of Ansible is not required.

I want to run JupyterHub only for a single user

JupyterHub can be configured to run inside a Docker container. The upstream documentation outline how to set up and configure JupyterHub using Docker:

 Related articles

Filter by label

There are no items with the selected labels at this time.

Reviewer

Review period

Reviewer

Review period

Reviewed by