{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Welcome to the Jupyter-JSC Virtual Machine JupyterLab"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Where is this JupyterLab running?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" This JupyterLab instance is running on a [virtual machine](https://www.techopedia.com/definition/4805/virtual-machine-vm) on the [HDF-Cloud](https://www.fz-juelich.de/ias/jsc/EN/Expertise/SciCloudServices/HDFCloud/_node.html). It is started as a [Docker Container](https://www.docker.com/resources/what-container)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## How do I stop this JupyterLab?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" You can stop this JupyterLab in the Control Panel of Jupyter-JSC. \n",
" You can reach the Control Panel [here](https://jupyter-jsc.fz-juelich.de/hub/start) or in the menu File -> Hub Control Panel. \n",
" The JupyterLabs will be terminated after 30 days, so make sure your data is backed up."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## How can I upload files to JupyterLab?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" You can use git or you upload files with this button in the top left corner: \n",
" \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## How can I download a file from JupyterLab?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Just right click on a file and click \"Download\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What kind of Docker Images do we support?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" You can select between [these eight](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-base-notebook) Images. \n",
" We installed additionally a few JupyterLab extensions. \n",
" If you want to add your own Docker Image to Jupyter-JSC please contact the Jupyter-JSC support."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## How much memory do I have?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" The amount of memory for each JupyterLab is limited to 4GB. If you try to use more, your kernel will die."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## How much disk space do I have?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" You can store 10 GB of data in /home/jovyan/work. \n",
" All files in the ~/work directory will be stored persistently. \n",
" All files in the ~/work directory will be accessible in all of your HDF-Cloud JupyterLabs. \n",
" Any other files or directories will be deleted if you stop this JupyterLab. \n",
" Under no circumstances are we liable for any lost data. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Collaborative work\n",
" We offer four different solutions to share your work with your colleagues. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### GIT\n",
" You can use the git command in a terminal to work on any git repositories. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Projects\n",
" Projects are the best way, if you just want to share a few files (or notebooks) with your colleague, that is also using Jupyter-JSC. \n",
" Projects are directories, that are generated on the [virtual machine](https://www.techopedia.com/definition/4805/virtual-machine-vm) where your JupyterLab is running. \n",
" If you add another user to your project this directory will be mounted into their [Docker Container](https://www.docker.com/resources/what-container) . \n",
" You can manage your projects with the following command:\n",
" \n",
"```\n",
" $ bash /home/jovyan/manage_projects.sh \n",
"```\n",
" \n",
" You can store up to 10 GB of data on all your projects combined. \n",
" If you want to add users to your project you need their email address. It must be the same email address, that is connected to their [JSC webservice credentials](https://judoor.fz-juelich.de/login) . "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### B2DROP"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" You can easily mount your [B2DROP](https://b2drop.eudat.eu) files into this JupyterLab. \n",
" Just run the command `mount B2DROP` in a terminal and insert your [application credentials](https://eudat.eu/services/userdoc/b2drop#UserDocumentation-B2DROPUsage-WebDavclient)\\. \n",
" If you want to store your [application credentials](https://eudat.eu/services/userdoc/b2drop#UserDocumentation-B2DROPUsage-WebDavclient) add the following line to /home/jovyan/work/.davfs2/secrets: \n",
" https://b2drop.eudat.eu/remote.php/webdav \\ \\ \n",
" To unmount it run `umount B2DROP`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### HPCMOUNT"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" You can mount your files on the HPC system with [sshfs](https://en.wikipedia.org/wiki/SSHFS) . \n",
" For this we created the script at /home/jovyan/mount_hpc.sh . \n",
" To mount your HPC files just execute \n",
"\n",
"```\n",
"$ bash /home/jovyan/mount_hpc.sh \n",
"```\n",
"\n",
"### What will the script do?\n",
" If you run it for the first time, it will create a private/public key pair for you. For your safety, a passphrase is required for this key. \n",
" Afterward, it will upload the public key to your [JUDAC](https://www.fz-juelich.de/ias/jsc/EN/Expertise/Datamanagement/JUDAC/JUDAC_node.html) ~/.ssh/authorized_keys file. This will be done with [UNICORE](https://www.unicore.eu) and the [credentials](https://judoor.fz-juelich.de/login) you used to log in to Jupyter-JSC. \n",
" If your key is uploaded (or you have already used this script before) it will run the sshfs command to mount your HPC files. \n",
" You have to enter your passphrase, that you chose in the first run, to use your generated private key.\n",
"### How can I unmount it?\n",
" Just run the command \n",
" ```$ fusermount -u /home/jovyan/HPCMOUNT``` \n",
"\n",
" The folder will be automatically unmounted if you stop this JupyterLab. \n",
"### Where is my private key stored?\n",
" The private key will be stored, like your other files, in the /home/jovyan/work directory, on a [virtual machine](https://www.techopedia.com/definition/4805/virtual-machine-vm) on the [HDF-Cloud](https://www.fz-juelich.de/ias/jsc/EN/Expertise/SciCloudServices/HDFCloud/_node.html) . \n",
" The access to this virtual machine is limited to the administrators of Jupyter-JSC. \n",
" Since your private key is encrypted with a passphrase, even an administrator is not able to use your private key to connect to any HPC system. \n",
"### I want to mount another account\n",
" If you have multiple accounts (connected to your [JSC webservice credentials](https://judoor.fz-juelich.de/login)) you can tell the script which one it should use. \n",
" ```$ bash /home/jovyan/mount_hpc.sh ``` \n",
"\n",
" \\ is the HPC system that is used to upload your public key. Please use one of these: JURECA, JUWELS, JURON. Your account must have an active project on the chosen system. \n",
" \\ is your HPC account on this system ( and on [JUDAC](https://www.fz-juelich.de/ias/jsc/EN/Expertise/Datamanagement/JUDAC/JUDAC_node.html)) . \n",
"### I want to delete the public key from my HPC account\n",
" Jupyter-JSC does not delete anything from your authorized_keys file. So if you want to remove the public key you have to log in to JUDAC and remove it manually. "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}