The JupyterHub Platform
- 1 Overview
- 2 Resources Available
- 2.1 NFS Server
- 3 Example Training Courses
- 4 How to Create a Booking Request
- 5 Questions
- 5.1 FAQs
- 5.1.1 How much notice do I need to give for a course I want to run?
- 5.1.2 I want one user account on the platform for X weeks
- 5.1.3 I want to run a course with lots of users, is that possible?
- 5.1.4 Can I add a GitHub repository?
- 5.1.5 I have my own data I want to use for my training course, how can I access it through the platform?
- 5.1.6 I want to run a training course that uses Windows in the base image, is that possible?
- 5.1 FAQs
- 6 Running Your Own JupyterHub
- 7 Related articles
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: https://jupyterhub.readthedocs.io/en/stable/index.html
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 (Contact Details) 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 Contact Details.
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: https://jupyterhub.readthedocs.io/en/latest/tutorial/quickstart-docker.html#run-the-docker-image
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 Cluster API Setup 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: https://jupyterhub.readthedocs.io/en/latest/tutorial/quickstart-docker.html#run-the-docker-image
Related articles
Filter by label
There are no items with the selected labels at this time.
Reviewer | Review period |
---|---|
Reviewed by | |
|
|