Jupyterhub

From Nuclear Physics Group Documentation Pages
Jump to navigationJump to search

JupyterHub

The JupyterHub system allows you to serve up jupyter notebooks over the web.

Installation

We do not use the Anaconda install, because that does not play nice with ROOT. We would want to use the default python3 in /bin/python3 but that is a 3.4 python, and we need a >=3.5. Yuck! See: Jupyterhub quick start

Python3

First install python3.6 See: Install Python3.6

 yum install https://centos7.iuscommunity.org/ius-release.rpm
 yum install python36u
 yum install python36u-pip
 yum install python36u-devel
 pip3.6 install scipy numpy ipython pandas 
 pip3.6 install jupyter

Jupyter Hub

 yum install npm nodejs
 pip3.6 install jupyterhub 
 npm install -g configurable-http-proxy

Create the /etc/jupyterhub directory for the configs. Copied starting point from roentgen. Read the docs...

Create new cookie:

 cd /etc/jupyterhub
 openssl rand -hex 32 > jupyterhub_cookie_secret

Secure Setup With SudoSpawner

Install sudospawner:

  pip3.6 install git+https://github.com/jupyter/sudospawner

Create the "jupy" user that will run things, and setup sudo for this user.

 useradd jupy
 # edit /etc/passwd to so jupy has shell /sbin/nologin

Use visudo to add the following at the bottom:

   # 
   # For Jupyterhub use with Sudospawner
   #
   # the command(s) the Hub can run on behalf of users in jupyter group  without needing a password
   # the exact path may differ, depending on how sudospawner was installed
   Cmnd_Alias JUPYTER_CMD = /bin/sudospawner
   
   # actually give the Hub user permission to run the above command on behalf
   # of the above users without prompting for a password
   jupy ALL=(%jupyter) NOPASSWD:JUPYTER_CMD
   #