{ "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", "      ![Upload files](https://jupyter-jsc.fz-juelich.de/hub/static/images/upload.png \"Upload Files\")" ] }, { "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 }