Aperçu technique | Installation | Configuration | Docker | Contribuer | Licence | Aide et ressources
Avec JupyterHub, vous pouvez créer un hub multi-utilisateurs qui génère, gère et proxy plusieurs instances du serveur de notebook Jupyter mono-utilisateur.
Le projet Jupyter a créé JupyterHub pour prendre en charge de nombreux utilisateurs. Le Hub peut proposer des serveurs notebook à une classe d'étudiants, à un groupe de travail de science des données d'entreprise, à un projet de recherche scientifique ou à un groupe de calcul haute performance.
Trois acteurs principaux composent JupyterHub :
Les principes de base de fonctionnement sont les suivants :
JupyterHub fournit également une API REST pour l'administration du Hub et de ses utilisateurs.
Un système basé sur Linux/Unix
Python 3.8 ou supérieur
noeudjs/npm
Si vous utilisez conda
, les dépendances nodejs et npm seront installées pour vous par conda.
Si vous utilisez pip
, installez une version récente (au moins 12.0) de nodejs/npm.
Si vous utilisez l'authentificateur PAM par défaut, un module d'authentification enfichable (PAM).
Certificat TLS et clé pour la communication HTTPS
Nom de domaine
conda
Pour installer JupyterHub avec ses dépendances, notamment nodejs/npm :
conda install -c conda-forge jupyterhub
Si vous envisagez d'exécuter des serveurs de notebook localement, installez JupyterLab ou Jupyter notebook :
conda install jupyterlab
conda install notebook
pip
JupyterHub peut être installé avec pip
, et le proxy avec npm
:
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
Si vous envisagez d'exécuter des serveurs de notebook localement, vous devrez installer JupyterLab ou Jupyter notebook :
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
Pour démarrer le serveur Hub, exécutez la commande :
jupyterhub
Visitez http://localhost:8000
dans votre navigateur et connectez-vous avec votre nom d'utilisateur et votre mot de passe système.
Remarque : Pour permettre à plusieurs utilisateurs de se connecter au serveur, vous devrez exécuter la commande jupyterhub
en tant qu'utilisateur privilégié , tel que root. Le wiki décrit comment exécuter le serveur en tant qu'utilisateur moins privilégié , ce qui nécessite davantage de configuration du système.
La section Mise en route de la documentation explique les étapes courantes de configuration de JupyterHub.
Le didacticiel JupyterHub fournit une vidéo détaillée et des exemples de configurations de JupyterHub.
Pour générer un fichier de configuration par défaut avec des paramètres et des descriptions :
jupyterhub --generate-config
Pour démarrer le Hub sur une url et un port spécifiques 10.0.1.2:443
avec https :
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
Authentificateur | Description |
---|---|
PAMAauthentificateur | Authentificateur intégré par défaut |
OAuthentificateur | OAuth + Authentificateur JupyterHub = OAuthenticator |
ldapauthenticator | Plugin d'authentification LDAP simple pour JupyterHub |
kerberosauthenticator | Plugin d'authentification Kerberos pour JupyterHub |
Générateur | Description |
---|---|
LocalProcessSpawner | Le générateur intégré par défaut démarre les serveurs mono-utilisateur en tant que processus locaux |
dockerspawner | Générer des serveurs mono-utilisateur dans des conteneurs Docker |
Kubespawner | Générateur Kubernetes pour JupyterHub |
sudospawner | Générer des serveurs mono-utilisateur sans être root |
systèmedspawner | Générer des serveurs de notebook mono-utilisateur à l'aide de systemd |
générateur par lots | Conçu pour les clusters utilisant un logiciel de planification par lots |
générateur de fils | Générer des serveurs de notebooks mono-utilisateur distribués sur un cluster Hadoop |
générateur d'emballage | WrapSpawner et ProfilesSpawner permettant la configuration d'exécution des générateurs |
Une image Docker de démarrage pour JupyterHub donne un déploiement de base de JupyterHub à l'aide de Docker.
Important : Cette image quay.io/jupyterhub/jupyterhub
contient uniquement le Hub lui-même, sans configuration. En général, il faut créer une image dérivée, avec au moins un jupyterhub_config.py
configurant un Authenticator et/ou un Spawner. Pour exécuter les serveurs mono-utilisateur, qui peuvent ou non se trouver sur le même système que le Hub, Jupyter Notebook version 4 ou supérieure doit être installé.
L'image Docker JupyterHub peut être démarrée avec la commande suivante :
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
Cette commande créera un conteneur nommé jupyterhub
que vous pourrez arrêter et reprendre avec docker stop/start
.
Le service Hub écoutera sur toutes les interfaces du port 8000, ce qui en fait un bon choix pour tester JupyterHub sur votre ordinateur de bureau ou portable .
Si vous souhaitez exécuter Docker sur un ordinateur doté d'une adresse IP publique, vous devez (comme dans DOIT) le sécuriser avec SSL en ajoutant des options SSL à votre configuration Docker ou en utilisant un proxy activé SSL.
Le montage de volumes vous permettra de stocker des données en dehors de l'image Docker (système hôte) afin qu'elles soient persistantes , même lorsque vous démarrez une nouvelle image.
La commande docker exec -it jupyterhub bash
générera un shell racine dans votre conteneur Docker. Vous pouvez utiliser le shell racine pour créer des utilisateurs système dans le conteneur . Ces comptes seront utilisés pour l'authentification dans la configuration par défaut de JupyterHub.
Si vous souhaitez contribuer au projet, veuillez lire notre documentation pour les contributeurs et le CONTRIBUTING.md
. Le fichier CONTRIBUTING.md
explique comment configurer une installation de développement, comment exécuter la suite de tests et comment contribuer à la documentation.
Pour une vue d'ensemble de la vision et des prochaines orientations du projet, consultez la feuille de route de la communauté JupyterHub.
JupyterHub est pris en charge sur les systèmes basés sur Linux/Unix.
JupyterHub ne prend officiellement pas en charge Windows. Vous pourrez peut-être utiliser JupyterHub sous Windows si vous utilisez un Spawner et un Authenticator qui fonctionnent sous Windows, mais pas les valeurs par défaut de JupyterHub. Les bogues signalés sous Windows ne seront pas acceptés et la suite de tests ne fonctionnera pas sous Windows. De petits correctifs résolvant des problèmes mineurs de compatibilité Windows (tels que l'installation de base) peuvent toutefois être acceptés. Pour les systèmes basés sur Windows, nous vous recommandons d'exécuter JupyterHub dans un conteneur Docker ou une machine virtuelle Linux.
Référence supplémentaire : documentation de Tornado sur la prise en charge de la plate-forme Windows
Nous utilisons un modèle de droit d'auteur partagé qui permet à tous les contributeurs de conserver les droits d'auteur sur leurs contributions.
Tout le code est sous licence selon les termes de la licence BSD révisée.
Nous vous encourageons à poser des questions et à partager des idées sur le forum de la communauté Jupyter. Vous pouvez également parler avec nous sur notre chaîne JupyterHub Gitter.
JupyterHub suit les guides de la communauté Jupyter.
Aperçu technique | Installation | Configuration | Docker | Contribuer | Licence | Aide et ressources