Peluncur Aplikasi JupyterHub adalah peluncur server umum. Tujuan dari proyek ini adalah untuk mendukung peluncuran apa pun seperti Server Flask, server FastAPI, atau Dasbor Panel melalui perintah yang diberikan pengguna. Saat ini, kerangka kerja berikut ini didukung:
pip install jhub-apps
atau melalui conda
conda install -c conda-forge jhub-apps
conda env create -f environment-dev.yml
conda activate jhub-apps-dev
pip install -e .
Untuk mengembangkan frontend React UI, jalankan juga:
cd ui
npm install
cd -
Tetapkan variabel lingkungan berikut:
export JHUB_APP_JWT_SECRET_KEY= $( openssl rand -hex 32 )
Mulai JupyterHub:
jupyterhub -f jupyterhub_config.py
Sekarang buka http://127.0.0.1:8000/hub/home untuk mengakses JHub Apps Launcher
Layanan Hub diekspos melalui titik akhir FastAPI. Dokumentasinya dapat diakses di: http://127.0.0.1:10202/services/japps/docs
Untuk mencoba titik akhir yang diautentikasi, klik tombol Otorisasi di kanan atas url di atas dan pilih OAuth2AuthorizationCodeBearer
dan klik Otorisasi.
Catatan: Untuk mengembangkan secara lokal, backend JupyterHub dan frontend React UI harus berjalan.
jupyterhub -f jupyterhub_config.py
ui
: npm run watch
pytest jhub_apps/tests
pytest jhub_apps/tests/tests_e2e -vvv -s --headed
Aplikasi JHub telah diuji dengan JupyterHub lokal menggunakan SimpleLocalProcessSpawner
dan dengan JupyterHub Terkecil menggunakan SystemdSpawner
.
pip install git + https : // github . com / nebari - dev / jhub - apps . git
jupyterhub_config.py
The Littlest JupyterHub from tljh . user_creating_spawner import UserCreatingSpawner
from jhub_apps . configuration import install_jhub_apps
c . JupyterHub . bind_url = "<YOUR_JUPYTERHUB_URL>"
c . SystemdSpawner . unit_name_template = 'jupyter-{USERNAME}{JHUBSERVERNAME}'
c . JAppsConfig . apps_auth_type = "oauth" # or none (if you don't want authentication on apps)
c . JAppsConfig . python_exec = "python3"
# Pass in the path to jupyterhub config
c . JAppsConfig . jupyterhub_config_path = "jupyterhub_config.py"
# Either a static list of conda environments to show in the
# create panel apps form or a callable to fetch conda enviornments
# dynamically, e.g. from conda-store API
c . JAppsConfig . conda_envs = []
c = install_jhub_apps ( c , UserCreatingSpawner )