JupyterLabとJupyterHubでマルチユーザ環境を作成する

https://www.nttpc.co.jp/gpu/article/technical12.html

を参考に少し改変。


sudo apt -y install curl &&
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -&&\
sudo apt install -y nodejs

 

http proxyのインストール

 

sudo npm install -g configurable-http-proxy

 

アップデート

 

sudo apt -y update
sudo apt -y upgrade

 

必要なディレクトリの作成

 

sudo mkdir /opt/jupyter 
mkdir ~/notebook

 

hub/labのインストール

 

cd /opt/jupyter

sudo pip install jupyterlab jupyterhub

 

インストール確認

jupyterhub --version
jupyter lab --version

sudo jupyterhub --generate-config

 

sudo vim jupyterhub_config.py

 

#マシンのIPアドレス
c.JupyterHub.ip = '192.168.1.200'
#下記も設定する
c.JupyterHub.bind_url = 'http://127.0.0.1:8000/hub'
#SSLは使わない
c.JupyterHub.confirm_no_ssl = True
#adminユーザの指定
c.Authenticator.admin_users ={'admin'}
#JupyterHubユーザの一覧
c.Authenticator.allowed_users = {'admin', 'user1', 'user2'}
#Linuxユーザであればだれでも許可する場合は上記をコメント、下記をコメントアウト#c.Authenticator.allow_all = True
#各ユーザのNotebookディレクトリの指定
c.Spawner.notebook_dir = '~/notebook'

 

ユーザを追加する前に、

sudo mkdir -p /etc/skel/notebook

としておく。こうしておけば

sudo adduser user1

でユーザを追加したときに自動的にuser1のホームディレクトリにnotebookディレクトリが作成される