Jupyter Labs
Get started quickly with Jupyter on CUDO Comput using the official Jupyter Docker image.
Prerequisites
- Create a project and add an SSH key
- Optionally download CLI tool
- Choose a VM
- For GPU VMs use the Ubuntu 22.04 + NVIDIA drivers + Docker image (in CLI tool type
-image ubuntu-nvidia-docker
) - For non-GPU VMs use the Ubuntu 22.04 + Docker image (in CLI tool type
-image ubuntu-2204-docker
)
Jupyter in a Docker container
The fastest way to get started with Jupyter is to use the official Jupyter Docker image. This image contains JupyterLab as well as all of its dependencies. You can find the Docker image on Docker Hub and the source on GitHub.
There are several Jupyter images to choose from, starting with the most minimal:
jupyter/base-notebook includes conda and mamba (a faster alternative to conda) but no other scientific Python packages.
jupyter/minimal-notebook adds TeX Live, git, vi, nano, tz data and unzip
jupyter/r-notebook everything in minimal plus the R interpreter, IRKernel plus additional packges
jupyter/scipy-notebook everything in minimal, plus packages including scipy, scikit-learn, pandas, matplotlib
jupyter/tensorflow-notebook everything in scipy-notebook plus TensorFlow machine learning framework
jupyter/datascience-notebook everything in scipy-notebook and r-notebook plus additional packages for data science
Let's start the minimal notebook, SSH into your VM and run the following command:
docker run \
-it --rm -p 8888:8888 \
--user root \
-e CHOWN_HOME=yes -e CHOWN_HOME_OPTS='-R' \
-v /jupyter:/home/jovyan jupyter/minimal-notebook
This yields:
To access the server, open this file in a browser:
...
or http://127.0.0.1:8888/lab?token=626217ed7607331b9523cb2d55aa72ea4dd044e4020d21e1
Replace 127.0.0.1
with the public ip address of your VM, and open the URL in your browser.
Secure Jupyter Server
In this example we will start a jupyter notebook that is secured with a password and HTTPS.
On the console click 'create a VM' in the configure page select your VM CPU, memory and storage requirements. Select Ubuntu 22.04 + NVIDIA drivers + Docker
as the OS image. This image has Docker preinstalled.
At the bottom of the configure VM form there is a field for a startup script. This script will run when the VM boots. Modify the script below and paste it into the field:
docker run --rm --env=GEN_CERT=yes -p 8888:8888 quay.io/jupyter/base-notebook \
start-notebook.py --PasswordIdentityProvider.hashed_password='argon2:YOUR-PASSWORD-HASH'
To generate your password hash, decide on a password Generate a hashed password using argon2 algorithm
Enter your password as the text input.
- Salt: press cog
- Parallelism: 8
- Memory Cost: 10240
- Iterations: 10
- Hash length: 32
- Algorithm: Argon2id
As an example using 'jupyter-password' as the password results in the following hash: $argon2i$v=19$m=10240,t=10,p=8$WmFncVVsaWNCOU5JMVljeA$Q3FoNfHnaxNdvXyuYTa/zljeq110rIiyMezjHatvExY
The startup script to would look like this:
docker run --rm --env=GEN_CERT=yes -p 8888:8888 quay.io/jupyter/base-notebook \
start-notebook.py --PasswordIdentityProvider.hashed_password='argon2:$argon2i$v=19$m=10240,t=10,p=8$WmFncVVsaWNCOU5JMVljeA$Q3FoNfHnaxNdvXyuYTa/zljeq110rIiyMezjHatvExY'
The VM will download and run the docker image, this may take a few minutes as they are fairly large. After a few minutes go to https://VM-IP-ADDRESS:8888/lab
, there will be a security warning in your browser to bypass as the certificate is self signed. Once bypassed use your password to unlock the Jupyter Notebook.