Este tutorial actualiza el anterior de 2022.
1. Instalación de JupyterLab
Paso 1: Instalar Miniconda
Si aún no tienes Conda instalado, sigue estos pasos:
- Descarga el instalador de Miniconda:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh - Ejecuta el instalador interactivo:
bash miniconda.sh - Sigue las instrucciones y acepta los términos de la licencia. Por defecto, Miniconda se instalará en
~/miniconda3. - Agrega Miniconda al
PATH:echo "export PATH=$HOME/miniconda3/bin:\$PATH" >> ~/.bashrc source ~/.bashrc
Paso 2: Crear un entorno Conda para JupyterLab
- Crea un entorno para JupyterLab:
conda create -n jupyter_env python=3.12 -y - Activa el entorno:
conda activate jupyter_env - Instala JupyterLab:
conda install -c conda-forge jupyterlab nodejs - Verifica la instalación:
jupyter-lab --version
2. Configuración de JupyterLab
Paso 1: Generar un archivo de configuración
Crea un archivo de configuración para JupyterLab:
jupyter-lab --generate-config
Esto creará el archivo ~/.jupyter/jupyter_lab_config.py.
Paso 2: Generar un certificado SSL
- Crea un directorio para los certificados SSL:
mkdir -p ~/.jupyter/ssl - Genera un certificado autofirmado usando OpenSSL:
openssl req -x509 -nodes -days 365 -newkey rsa:4096\ -keyout ~/.jupyter/ssl/mykey.key \ -out ~/.jupyter/ssl/mycert.pemCompleta la información solicitada, como el nombre del dominio o la IP del servidor.
Paso 3: Configurar SSL en JupyterLab
Edita el archivo ~/.jupyter/jupyter_lab_config.py y añade lo siguiente:
c.ServerApp.certfile = '/home/usuario/.jupyter/ssl/mycert.pem'
c.ServerApp.keyfile = '/home/usuario/.jupyter/ssl/mykey.key'
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.port = 8888
c.ServerApp.open_browser = False
3. Configurar una Contraseña
Paso 1: Generar el hash de la contraseña
- Abre un intérprete de Python desde el entorno
jupyter_env:python3 - Usa el siguiente código para generar el hash de tu contraseña:
python3 -c "from jupyter_server.auth import passwd; print(passwd())" - Ingresar y confirmar la contraseña cuando te la solicite
- Copia el hash generado, que será algo como:
sha1:abc123def456ghi789:somehashedpasswordvalue
Paso 2: Configurar el hash en JupyterLab
Edita el archivo ~/.jupyter/jupyter_lab_config.py y añade:
from jupyter_server.serverapp import PasswordIdentityProvider
c.PasswordIdentityProvider.hashed_password = 'sha1:abc123def456ghi789:somehashedpasswordvalue'
c.PasswordIdentityProvider.password_required = True
4. Configurar JupyterLab como un servicio
Paso 1: Crear un archivo de servicio para systemd
Crea un archivo de servicio en /etc/systemd/system/jupyterlab.service:
sudo nano /etc/systemd/system/jupyterlab.service
Contenido del archivo:
[Unit]
Description=JupyterLab Server
After=network.target
[Service]
Type=simple
User=usuario
Group=usuario
WorkingDirectory=/home/usuario
ExecStart=/home/usuario/miniconda3/envs/jupyter_env/bin/jupyter-lab --config=/home/usuario/.jupyter/jupyter_lab_config.py
Restart=always
Environment=PATH=/home/usuario/miniconda3/envs/jupyter_env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Environment="LANG=en_US.UTF-8"
[Install]
WantedBy=multi-user.target
💡 TIP:
Si no estás seguro de qué usuario usar:
- Reemplaza
usuariocon el nombre del usuario que configuró Miniconda y JupyterLab. - Verifica tu usuario actual con el comando:
whoami - Si necesitas usar un usuario diferente, crea uno nuevo:
sudo adduser --system --shell /bin/bash --home /home/nuevo_usuario nuevo_usuario sudo mkdir -p /home/nuevo_usuario/.jupyter sudo chown -R nuevo_usuario:nuevo_usuario /home/nuevo_usuario
Paso 2: Recargar y habilitar el servicio
- Recarga la configuración de
systemd:sudo systemctl daemon-reload - Habilita el servicio para que inicie automáticamente:
sudo systemctl enable jupyterlab.service - Inicia el servicio:
sudo systemctl start jupyterlab.service - Verifica que el servicio esté corriendo:
sudo systemctl status jupyterlab.service
5. Acceder a JupyterLab
- Túnel SSH (si no usas un proxy inverso):
- Establece un túnel SSH desde tu máquina local:
ssh -L 8888:localhost:8888 usuario@IP_SERVIDOR - Accede a JupyterLab desde tu navegador:
https://localhost:8888
- Establece un túnel SSH desde tu máquina local:
- Navegador directo (si tienes el puerto 8888 accesible públicamente y SSL configurado):
- Abre tu navegador y accede a:
https://<IP_SERVIDOR>:8888
- Abre tu navegador y accede a:
6. Tips y errores comunes
- Certificados autofirmados: Si usas certificados autofirmados, el navegador mostrará un aviso de «Conexión no segura». Acepta el certificado para continuar.
- Error de permisos: Asegúrate de que el usuario que ejecuta JupyterLab tiene permisos sobre los archivos de configuración y los certificados SSL:
sudo chown -R usuario:usuario ~/.jupyter - Logs útiles: Revisa los logs del servicio para diagnosticar problemas:
sudo journalctl -u jupyterlab.service -f - Cambio de puertos: Si el puerto 8888 está ocupado, cámbialo en la configuración (
jupyter_lab_config.py) y el archivo del servicio.
Espero que te sea de ayuda!
Deja una respuesta