jhub apps
2024.10.1
JupyterHub 앱 실행기는 일반화된 서버 실행기입니다. 이 프로젝트의 목표는 사용자 제공 명령을 통해 Flask 서버, FastAPI 서버 또는 패널 대시보드와 같은 시작을 지원하는 것입니다. 현재 다음 프레임워크가 지원됩니다.
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에 액세스하세요.
Hub 서비스는 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 앱은 SimpleLocalProcessSpawner
사용하는 로컬 JupyterHub와 SystemdSpawner
사용하는 The Littlest JupyterHub에서 테스트되었습니다.
pip install git + https : // github . com / nebari - dev / jhub - apps . git
jupyterhub_config.py
에 다음을 추가합니다. 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 )