技術概要|インストール|構成|ドッカー|貢献する|ライセンス|ヘルプとリソース
JupyterHub を使用すると、シングルユーザー Jupyter ノートブック サーバーの複数のインスタンスを生成、管理、プロキシするマルチユーザー ハブを作成できます。
Project Jupyter は、多くのユーザーをサポートするために JupyterHub を作成しました。ハブは、学生のクラス、企業のデータ サイエンス ワークグループ、科学研究プロジェクト、またはハイ パフォーマンス コンピューティング グループにノートブック サーバーを提供できます。
JupyterHub を構成する 3 つの主な主体は次のとおりです。
動作の基本原則は次のとおりです。
JupyterHub は、ハブとそのユーザーを管理するための REST API も提供します。
Linux/Unix ベースのシステム
Python 3.8 以降
ノードjs/npm
conda
使用している場合、nodejs と npm の依存関係は conda によってインストールされます。
pip
を使用している場合は、nodejs/npm の最新バージョン (少なくとも 12.0) をインストールします。
デフォルトの PAM Authenticator であるプラグ可能認証モジュール (PAM) を使用している場合。
HTTPS通信用のTLS証明書とキー
ドメイン名
conda
の使用JupyterHub をその依存関係 (nodejs/npm など) とともにインストールするには:
conda install -c conda-forge jupyterhub
ノートブック サーバーをローカルで実行する予定がある場合は、JupyterLab または Jupyter Notebook をインストールします。
conda install jupyterlab
conda install notebook
pip
の使用JupyterHub はpip
でインストールでき、プロキシはnpm
でインストールできます。
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
ノートブック サーバーをローカルで実行する予定がある場合は、JupyterLab または Jupyter ノートブックをインストールする必要があります。
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
Hub サーバーを起動するには、次のコマンドを実行します。
jupyterhub
ブラウザでhttp://localhost:8000
にアクセスし、システムのユーザー名とパスワードを使用してサインインします。
注: 複数のユーザーがサーバーにサインインできるようにするには、root などの特権ユーザーとしてjupyterhub
コマンドを実行する必要があります。 Wiki では、より権限の低いユーザーとしてサーバーを実行する方法について説明していますが、これにはシステムの追加の構成が必要です。
ドキュメントの「はじめに」セクションでは、JupyterHub をセットアップする一般的な手順について説明しています。
JupyterHub チュートリアルでは、 JupyterHub の詳細なビデオとサンプル構成を提供します。
設定と説明を含むデフォルトの構成ファイルを生成するには、次の手順を実行します。
jupyterhub --generate-config
特定の URL とポート10.0.1.2:443
でhttpsを使用してハブを起動するには、次のようにします。
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
認証者 | 説明 |
---|---|
PAM認証者 | デフォルトの組み込み認証システム |
O認証者 | OAuth + JupyterHub Authenticator = OAuthenticator |
ldapauthenticator | JupyterHub 用のシンプルな LDAP 認証プラグイン |
ケルベロ認証者 | JupyterHub 用の Kerberos 認証プラグイン |
スポナー | 説明 |
---|---|
ローカルプロセススポナー | デフォルトの組み込みスポナーは、シングルユーザーサーバーをローカルプロセスとして起動します |
ドッカースポナー | Dockerコンテナ内にシングルユーザーサーバーを生成する |
キューブスポナー | JupyterHub 用の Kubernetes スポナー |
sudospawner | root にならずにシングルユーザーサーバーを生成する |
システムスポナー | systemd を使用してシングルユーザー ノートブック サーバーを生成する |
バッチスポナー | バッチ スケジューリング ソフトウェアを使用したクラスター向けに設計 |
ヤーンスポナー | Hadoop クラスター上に分散されたシングルユーザー ノートブック サーバーを生成する |
ラップスポナー | WrapSpawner と ProfilesSpawner により、スポナーのランタイム構成が可能になります |
JupyterHub のスターター Docker イメージは、 Docker を使用した JupyterHub のベースライン デプロイメントを提供します。
重要:このquay.io/jupyterhub/jupyterhub
イメージにはハブ自体のみが含まれており、構成は含まれていません。一般に、少なくともjupyterhub_config.py
で Authenticator や Spawner を設定して、派生イメージを作成する必要があります。シングルユーザー サーバーを実行するには、ハブと同じシステム上にあるかどうかに関係なく、Jupyter Notebook バージョン 4 以降がインストールされている必要があります。
JupyterHub Docker イメージは、次のコマンドで起動できます。
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
このコマンドはdocker stop/start
で停止および再開できるjupyterhub
という名前のコンテナーを作成します。
Hub サービスはポート 8000 ですべてのインターフェイスをリッスンするため、これはデスクトップまたはラップトップで JupyterHub をテストする場合に適しています。
パブリック IP を持つコンピューター上で docker を実行したい場合は、docker 構成に ssl オプションを追加するか、ssl 対応プロキシを使用して、(「MUST」のように) ssl でセキュリティを保護する必要があります。
ボリュームをマウントすると、Docker イメージ (ホスト システム) の外部にデータを保存できるため、新しいイメージを開始した場合でもデータが永続化されます。
コマンドdocker exec -it jupyterhub bash
Docker コンテナー内に root シェルを生成します。 root シェルを使用して、コンテナ内にシステム ユーザーを作成できます。これらのアカウントは、JupyterHub のデフォルト構成での認証に使用されます。
プロジェクトに貢献したい場合は、貢献者ドキュメントとCONTRIBUTING.md
お読みください。 CONTRIBUTING.md
ファイルには、開発インストールのセットアップ方法、テスト スイートの実行方法、およびドキュメントへの貢献方法が説明されています。
プロジェクトのビジョンと次の方向性の概要については、JupyterHub コミュニティ ロードマップをご覧ください。
JupyterHub は、Linux/Unix ベースのシステムでサポートされています。
JupyterHub は正式には Windows をサポートしていません。 Windows で動作する Spawner と Authenticator を使用している場合は、Windows で JupyterHub を使用できる可能性がありますが、JupyterHub のデフォルトでは使用できません。 Windows 上で報告されたバグは受け入れられず、テスト スイートは Windows 上では実行されません。ただし、Windows の軽微な互換性問題 (基本インストールなど) を修正する小さなパッチは受け入れられる場合があります。 Windows ベースのシステムの場合は、Docker コンテナーまたは Linux VM で JupyterHub を実行することをお勧めします。
追加参考資料: Windows プラットフォームのサポートに関する Tornado のドキュメント
私たちは、すべての投稿者が自分の投稿の著作権を維持できる共有著作権モデルを使用しています。
すべてのコードは、改訂された BSD ライセンスの条件に基づいてライセンスされています。
Jupyter コミュニティ フォーラムで質問したり、アイデアを共有したりすることをお勧めします。 JupyterHub Gitter チャンネルでお話しすることもできます。
JupyterHub は Jupyter コミュニティ ガイドに従います。
技術概要|インストール|構成|ドッカー|貢献する|ライセンス|ヘルプとリソース