Visão Geral Técnica | Instalação | Configuração | Docker | Contribuindo | Licença | Ajuda e recursos
Com o JupyterHub, você pode criar um hub multiusuário que gera, gerencia e faz proxy de várias instâncias do servidor de notebook Jupyter de usuário único.
O Projeto Jupyter criou o JupyterHub para oferecer suporte a muitos usuários. O Hub pode oferecer servidores notebook para uma turma de estudantes, um grupo de trabalho corporativo de ciência de dados, um projeto de pesquisa científica ou um grupo de computação de alto desempenho.
Três atores principais compõem o JupyterHub:
Os princípios básicos para operação são:
JupyterHub também fornece uma API REST para administração do Hub e de seus usuários.
Um sistema baseado em Linux/Unix
Python 3.8 ou superior
nodejs/npm
Se você estiver usando conda
, as dependências nodejs e npm serão instaladas para você por conda.
Se você estiver usando pip
, instale uma versão recente (pelo menos 12.0) do nodejs/npm.
Se estiver usando o Autenticador PAM padrão, um módulo de autenticação conectável (PAM).
Certificado TLS e chave para comunicação HTTPS
Nome de domínio
conda
Para instalar o JupyterHub junto com suas dependências, incluindo nodejs/npm:
conda install -c conda-forge jupyterhub
Se você planeja executar servidores de notebook localmente, instale o JupyterLab ou o Jupyter Notebook:
conda install jupyterlab
conda install notebook
pip
JupyterHub pode ser instalado com pip
e o proxy com npm
:
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
Se você planeja executar servidores de notebook localmente, precisará instalar o JupyterLab ou o Jupyter Notebook:
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
Para iniciar o servidor Hub, execute o comando:
jupyterhub
Visite http://localhost:8000
em seu navegador e faça login com seu nome de usuário e senha do sistema.
Observação : para permitir que vários usuários façam login no servidor, você precisará executar o comando jupyterhub
como um usuário privilegiado , como root. O wiki descreve como executar o servidor como um usuário menos privilegiado , o que requer mais configuração do sistema.
A seção Primeiros passos da documentação explica as etapas comuns na configuração do JupyterHub.
O tutorial do JupyterHub fornece um vídeo detalhado e exemplos de configurações do JupyterHub.
Para gerar um arquivo de configuração padrão com configurações e descrições:
jupyterhub --generate-config
Para iniciar o Hub em uma URL e porta específicas 10.0.1.2:443
com https :
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
Autenticador | Descrição |
---|---|
Autenticador PAMA | Autenticador padrão integrado |
OAutenticador | Autenticador OAuth + JupyterHub = OAuthenticator |
ldapautenticador | Plug-in de autenticação LDAP simples para JupyterHub |
kerberosautenticador | Plug-in de autenticação Kerberos para JupyterHub |
Gerador | Descrição |
---|---|
LocalProcessSpawner | O spawner integrado padrão inicia servidores de usuário único como processos locais |
dockerspawner | Gerar servidores de usuário único em contêineres Docker |
Kubespawner | Gerador de Kubernetes para JupyterHub |
sudospawner | Gerar servidores de usuário único sem ser root |
systemdspawner | Gere servidores de notebook de usuário único usando systemd |
gerador de lote | Projetado para clusters que usam software de agendamento em lote |
gerador de fios | Gerar servidores de notebook de usuário único distribuídos em um cluster Hadoop |
wrapper | WrapSpawner e ProfilesSpawner permitindo configuração de spawners em tempo de execução |
Uma imagem inicial do Docker para JupyterHub fornece uma implantação básica do JupyterHub usando Docker.
Importante: esta imagem quay.io/jupyterhub/jupyterhub
contém apenas o próprio Hub, sem configuração. Em geral, é necessário fazer uma imagem derivada, com pelo menos um jupyterhub_config.py
configurando um autenticador e/ou um gerador. Para executar os servidores monousuário, que podem estar no mesmo sistema do Hub ou não, o Jupyter Notebook versão 4 ou superior deve estar instalado.
A imagem docker JupyterHub pode ser iniciada com o seguinte comando:
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
Este comando criará um contêiner chamado jupyterhub
que você pode parar e retomar com docker stop/start
.
O serviço Hub escutará todas as interfaces na porta 8000, o que o torna uma boa opção para testar o JupyterHub em seu desktop ou laptop .
Se você deseja executar o docker em um computador que possui um IP público, você deve (como DEVE) protegê-lo com SSL adicionando opções de SSL à configuração do docker ou usando um proxy habilitado para SSL.
A montagem de volumes permitirá que você armazene dados fora da imagem do docker (sistema host), para que sejam persistentes , mesmo quando você iniciar uma nova imagem.
O comando docker exec -it jupyterhub bash
gerará um shell raiz em seu contêiner docker. Você pode usar o shell root para criar usuários do sistema no contêiner . Essas contas serão usadas para autenticação na configuração padrão do JupyterHub.
Se você gostaria de contribuir com o projeto, leia nossa documentação do contribuidor e o CONTRIBUTING.md
. O arquivo CONTRIBUTING.md
explica como configurar uma instalação de desenvolvimento, como executar o conjunto de testes e como contribuir com a documentação.
Para uma visão de alto nível da visão e das próximas direções do projeto, consulte o roteiro da comunidade JupyterHub.
JupyterHub é compatível com sistemas baseados em Linux/Unix.
JupyterHub oficialmente não oferece suporte ao Windows. Você poderá usar o JupyterHub no Windows se usar um Spawner e um Authenticator que funcionem no Windows, mas os padrões do JupyterHub não funcionarão. Bugs relatados no Windows não serão aceitos e o conjunto de testes não será executado no Windows. No entanto, pequenos patches que corrigem pequenos problemas de compatibilidade do Windows (como instalação básica) podem ser aceitos. Para sistemas baseados em Windows, recomendamos executar o JupyterHub em um contêiner docker ou em uma VM Linux.
Referência Adicional: Documentação do Tornado sobre suporte à plataforma Windows
Usamos um modelo de direitos autorais compartilhados que permite que todos os colaboradores mantenham os direitos autorais de suas contribuições.
Todo o código é licenciado sob os termos da licença BSD revisada.
Incentivamos você a fazer perguntas e compartilhar ideias no fórum da comunidade Jupyter. Você também pode conversar conosco em nosso canal JupyterHub Gitter.
O JupyterHub segue os Guias da Comunidade Jupyter.
Visão Geral Técnica | Instalação | Configuração | Docker | Contribuindo | Licença | Ajuda e recursos