JupyterHub(TLJH) on EC2 の各種備忘録
JupyterHubとTLJH
- マルチユーザ利用のJupyterNotebookをサポートするJupyterHub
- セットアップ方法は2種類
- Kubernetes+HELMデプロイ(大規模用)
- TLJH:The Littlest Jupyter Hub on VMデプロイ(小規模用)
- https://jupyter.org/hub
- https://tljh.jupyter.org/en/latest/
TLJH
小規模向け(users ~ 100)簡易実装のThe Littlest Jupyter Hub
セットアップ
- 各種環境のオフィシャルセットアップ方法がある
- Installing on Digital Ocean
- Installing on OVH
- Installing on Jetstream
- Installing on Google Cloud
- Installing on Amazon Web Services
- Installing on Azure
- Installing on your own server
- AWS版は、ubuntuベースのEC2で、セットアップスクリプトを仕掛けて起動するだけ
- https://tljh.jupyter.org/en/latest/install/amazon.html

パスワード変更方法
- 以下URLで変更可能
http://[IP]/hub/auth/change-password
参考)
https://github.com/jupyterhub/the-littlest-jupyterhub/issues/481

ユーザだけTerminalを無効化する方法
-
jupyter_notebook_config.py
ファイルで制御できる -
手順
- ①
jupyter notebook --generate-config
でjupyter_notebook_config.py
作成 - ②adminユーザの~home/.jupyter/に
jupyter_notebook_config.py
が作成されるので、# c.NotebookApp.terminals_enabled = True
の#
を削除して有効化 - ③このファイルを
/opt/tljh/user/etc/jupyter/
にコピーして、コピー先の方だけc.NotebookApp.terminals_enabled = False
に変更(元の方はそのまま) - ④Jupyterのサーバを再起動(コントロールパネルから Stop My Server → Start My Serverする)
- ①
-
再起動されたユーザ用Notebookは、最新のconfigが読み込まれて、下記のように「Terminals Unavailable」となる
-
adminなど個別設定にしたい場合は、個々のホームにファイルを置いて
~/.jupyter/jupyter_notebook_config.py
の設定で上書きされる

参考)
https://github.com/jupyterhub/the-littlest-jupyterhub/issues/373