Single jupyter notebooks in containers#
you are using singularity containers
you need jupyter notebooks
What we already have?#
For single jupyter notebooks on Mistral, we have the start-jupyter script. This script makes it possible starting jupyter notebooks by providing some parameters and without strugling with ssh tunneling issues.
% ./start-jupyter --help Usage: start-jupyter [OPTION] Available values for OPTION include: -A acctcode start a job with acctcode -c command invoke jupyter with command -d check for presence of jupyter -i file source file prior to running jupyter -n ntasks request ntasks tasks for job -p partition run job on partition -t time job runtime -u username use username for login
What is missing?#
The script does not support singularity, it just looks for the
jupyter binary in the Mistral host and use it to start the notebook.
In order to use another path (e.g. from a container), this must be
specified. So, the idea is simple: instead of using the remote host
jupyter, I will use
jupyter from the singularity container. This
page explains how to use Singularity containers on Mistral.
I modified the original script to support singularity containers. Now,
if you specify a singularity image with the
-s flag, the script will
use it to start the notebook.
% ./start-jupyter --help Usage: start-jupyter [OPTION] Available values for OPTION include: -A acctcode start a job with acctcode ... -u username use username for login -s image singularity image
The script needs the
Singularity module loaded, so I just use the
jupyter_preload file for this purpose.
module load python3/unstable module load singularity
jupyterinstalled, so I did create it and push it to the hub.
This is how I call the script:
./start-jupyter -u xxxxxxx -i jupyter_preload -s jupyter_mistral_latest.sif
The new script#
The modified script can be found here. These modifications can be merged with the original script later.
download/pull the image if not available
create further customized images
Depending on your workflow and the required softwares/packages,
additional steps might be necessary, thus the
to be adapted accordingly.