Descripción técnica | Instalación | Configuración | acoplador | Contribuyendo | Licencia | Ayuda y recursos
Con JupyterHub puede crear un centro multiusuario que genere, administre y represente múltiples instancias del servidor portátil Jupyter de un solo usuario.
Project Jupyter creó JupyterHub para admitir a muchos usuarios. El Hub puede ofrecer servidores portátiles a una clase de estudiantes, un grupo de trabajo corporativo de ciencia de datos, un proyecto de investigación científica o un grupo de informática de alto rendimiento.
Tres actores principales componen JupyterHub:
Los principios básicos de funcionamiento son:
JupyterHub también proporciona una API REST para la administración del Hub y sus usuarios.
Un sistema basado en Linux/Unix
Python 3.8 o superior
nodejs/npm
Si está utilizando conda
, conda instalará las dependencias de nodejs y npm.
Si está utilizando pip
, instale una versión reciente (al menos 12.0) de nodejs/npm.
Si utiliza el autenticador PAM predeterminado, un módulo de autenticación conectable (PAM).
Certificado TLS y clave para comunicación HTTPS
Nombre de dominio
conda
Para instalar JupyterHub junto con sus dependencias, incluido nodejs/npm:
conda install -c conda-forge jupyterhub
Si planea ejecutar servidores portátiles localmente, instale JupyterLab o Jupyter notebook:
conda install jupyterlab
conda install notebook
pip
JupyterHub se puede instalar con pip
y el proxy con npm
:
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
Si planea ejecutar servidores portátiles localmente, necesitará instalar JupyterLab o Jupyter notebook:
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
Para iniciar el servidor Hub, ejecute el comando:
jupyterhub
Visite http://localhost:8000
en su navegador e inicie sesión con su nombre de usuario y contraseña del sistema.
Nota : Para permitir que varios usuarios inicien sesión en el servidor, deberá ejecutar el comando jupyterhub
como usuario privilegiado , como root. La wiki describe cómo ejecutar el servidor como un usuario con menos privilegios , lo que requiere más configuración del sistema.
La sección Introducción de la documentación explica los pasos comunes para configurar JupyterHub.
El tutorial de JupyterHub proporciona un vídeo detallado y configuraciones de muestra de JupyterHub.
Para generar un archivo de configuración predeterminado con configuraciones y descripciones:
jupyterhub --generate-config
Para iniciar el Hub en una URL específica y en el puerto 10.0.1.2:443
con https :
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
Autenticador | Descripción |
---|---|
PAMAautenticador | Autenticador predeterminado integrado |
OAuthenticator | Autenticador OAuth + JupyterHub = OAuthenticator |
autenticador | Complemento de autenticación LDAP simple para JupyterHub |
autenticador kerberosa | Complemento de autenticación Kerberos para JupyterHub |
generador | Descripción |
---|---|
Generador de procesos locales | El generador integrado predeterminado inicia servidores de usuario único como procesos locales |
dockerspawner | Generar servidores de usuario único en contenedores Docker |
kubegenerador | Generador de Kubernetes para JupyterHub |
generador de sudo | Generar servidores de usuario único sin ser root |
sistemagenerador | Genere servidores portátiles de un solo usuario usando systemd |
generador de lotes | Diseñado para clústeres que utilizan software de programación por lotes |
generador de hilo | Generar servidores portátiles de un solo usuario distribuidos en un clúster de Hadoop |
envolturagenerador | WrapSpawner y ProfilesSpawner permiten la configuración en tiempo de ejecución de los generadores |
Una imagen inicial de Docker para JupyterHub proporciona una implementación básica de JupyterHub mediante Docker.
Importante: Esta imagen quay.io/jupyterhub/jupyterhub
contiene solo el Hub en sí, sin configuración. En general, es necesario crear una imagen derivada, con al menos jupyterhub_config.py
configurando un Autenticador y/o un Generador. Para ejecutar los servidores de usuario único, que pueden estar en el mismo sistema que el Hub o no, se debe instalar Jupyter Notebook versión 4 o superior.
La imagen acoplable de JupyterHub se puede iniciar con el siguiente comando:
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
Este comando creará un contenedor llamado jupyterhub
que puede detener y reanudar con docker stop/start
.
El servicio Hub escuchará en todas las interfaces en el puerto 8000, lo que lo convierte en una buena opción para probar JupyterHub en su computadora de escritorio o portátil .
Si desea ejecutar Docker en una computadora que tiene una IP pública, entonces debe (como DEBE) protegerla con SSL agregando opciones SSL a la configuración de su Docker o usando un proxy habilitado para SSL.
Montar volúmenes le permitirá almacenar datos fuera de la imagen de la ventana acoplable (sistema host) para que sean persistentes , incluso cuando inicie una nueva imagen.
El comando docker exec -it jupyterhub bash
generará un shell raíz en su contenedor Docker. Puede utilizar el shell raíz para crear usuarios del sistema en el contenedor . Estas cuentas se utilizarán para la autenticación en la configuración predeterminada de JupyterHub.
Si desea contribuir al proyecto, lea nuestra documentación para contribuyentes y CONTRIBUTING.md
. El archivo CONTRIBUTING.md
explica cómo configurar una instalación de desarrollo, cómo ejecutar el conjunto de pruebas y cómo contribuir a la documentación.
Para obtener una vista de alto nivel de la visión y las próximas direcciones del proyecto, consulte la hoja de ruta de la comunidad JupyterHub.
JupyterHub es compatible con sistemas basados en Linux/Unix.
JupyterHub oficialmente no es compatible con Windows. Es posible que pueda utilizar JupyterHub en Windows si utiliza un Spawner y un Autenticador que funcionan en Windows, pero los valores predeterminados de JupyterHub no lo harán. Los errores informados en Windows no se aceptarán y el conjunto de pruebas no se ejecutará en Windows. Sin embargo, se pueden aceptar pequeños parches que solucionen problemas menores de compatibilidad con Windows (como la instalación básica). Para sistemas basados en Windows, recomendamos ejecutar JupyterHub en un contenedor acoplable o en una máquina virtual Linux.
Referencia adicional: documentación de Tornado sobre soporte de plataforma Windows
Utilizamos un modelo de derechos de autor compartido que permite a todos los contribuyentes mantener los derechos de autor de sus contribuciones.
Todo el código tiene licencia según los términos de la licencia BSD revisada.
Le recomendamos que haga preguntas y comparta ideas en el foro de la comunidad de Jupyter. También puedes hablar con nosotros en nuestro canal JupyterHub Gitter.
JupyterHub sigue las guías de la comunidad de Jupyter.
Descripción técnica | Instalación | Configuración | acoplador | Contribuyendo | Licencia | Ayuda y recursos