JupyterHub

Stable v1.86p1

Многопользовательская среда для Jupyter Notebooks

📖 Описание

JupyterHub — это многопользовательская платформа для работы с Jupyter Notebooks. Данный бандл предоставляет готовое решение для развертывания JupyterHub с аутентификацией через PAM (login) и поддержкой JupyterLab по умолчанию.

Установка производится в изолированное Python виртуальное окружение (venv), что обеспечивает независимость от системных пакетов и упрощает управление зависимостями.

✨ Основные возможности

  • ✅ Установка в изолированное Python venv
  • ✅ Аутентификация через PAM (использование системных пользователей)
  • ✅ JupyterLab включен по умолчанию
  • ✅ Интеграция с systemd для управления сервисом
  • ✅ Гибкая настройка URL-префиксов
  • ✅ Управление правами администратора
  • ✅ Поддержка работы от имени root или custom user

⚙️ Параметры конфигурации

Параметр По умолчанию Описание
venv_dir /opt/jupyterhub/venv Директория виртуального окружения
root_dir /opt/jupyterhub Корневая директория для конфигурации
data_dir /var/lib/jupyterhub Директория для данных (cookies, sqlite)
bind_host 0.0.0.0 IP адрес для привязки
bind_port 8000 Порт для HTTP сервера
base_url /jupyter Базовый URL префикс
admin_users root Администраторы (через пробел/запятую)

🚀 Использование

После установки JupyterHub доступен по адресу:

http://<host>:8000/jupyter/hub/

Вход осуществляется с использованием учетных данных системных пользователей Linux. Пользователи, указанные в параметре admin_users, получают права администратора.

🎯 Сценарии применения

  • 📊 Data Science проекты — совместная работа над анализом данных
  • 🎓 Образование — проведение занятий по Python, ML, Data Science
  • 🔬 Исследования — воспроизводимые научные вычисления
  • 💼 Корпоративная аналитика — централизованная среда для аналитиков

📋 Требования

  • ADCM версия: ≥ 2.6.0
  • ОС: Linux (протестировано на Ubuntu, CentOS)
  • Python: 3.6+
  • Node.js: для Configurable HTTP Proxy
  • Свободный порт: 8000 (или настраиваемый)

💡 Дополнительные возможности

Бандл включает множество интересных решений:

  • 🔧 Поддержка кастомных spawner commands
  • 🌐 Настройка PATH для single-user процессов
  • 🔐 Гибкая настройка PAM сервисов
  • 👥 Управление доступом пользователей (allow_all)
  • ⚡ Оптимизированная конфигурация для production
  • 📝 Подробная документация по настройке