JupyterHub Apps Launcher เป็นตัวเรียกใช้เซิร์ฟเวอร์ทั่วไป เป้าหมายของโปรเจ็กต์นี้คือการสนับสนุนการเปิดใช้งานอะไรก็ได้เช่น Flask Server, เซิร์ฟเวอร์ FastAPI หรือ Panel Dashboard ผ่านคำสั่งที่ผู้ใช้ระบุ ปัจจุบันรองรับเฟรมเวิร์กต่อไปนี้:
pip install jhub-apps
หรือผ่านทางคอนดา
conda install -c conda-forge jhub-apps
conda env create -f environment-dev.yml
conda activate jhub-apps-dev
pip install -e .
หากต้องการพัฒนาส่วนหน้า React UI ให้เรียกใช้:
cd ui
npm install
cd -
ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้:
export JHUB_APP_JWT_SECRET_KEY= $( openssl rand -hex 32 )
เริ่ม JupyterHub:
jupyterhub -f jupyterhub_config.py
ไปที่ http://127.0.0.1:8000/hub/home เพื่อเข้าถึง JHub Apps Launcher
บริการฮับถูกเปิดเผยผ่านตำแหน่งข้อมูล FastAPI สามารถเข้าถึงเอกสารเดียวกันได้ที่: http://127.0.0.1:10202/services/japps/docs
หากต้องการลองใช้อุปกรณ์ปลายทางที่ได้รับการรับรองความถูกต้อง ให้คลิกที่ปุ่มอนุญาตที่ด้านบนขวาของ URL ด้านบน แล้วเลือก OAuth2AuthorizationCodeBearer
และคลิกที่อนุญาต
หมายเหตุ: เพื่อพัฒนาในพื้นที่ ทั้งแบ็กเอนด์ JupyterHub และฟรอนต์เอนด์ React UI ควรทำงานอยู่
jupyterhub -f jupyterhub_config.py
ui
: npm run watch
pytest jhub_apps/tests
pytest jhub_apps/tests/tests_e2e -vvv -s --headed
แอป JHub ได้รับการทดสอบกับ JupyterHub ในพื้นที่โดยใช้ SimpleLocalProcessSpawner
และกับ The Littlest JupyterHub โดยใช้ 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 )