JupyterHub - Jupyter Notebooks für mehrere Nutzer bereitstellen

JupyterHub - Jupyter Notebooks für mehrere Nutzer bereitstellen

JupyterHub ermöglicht es, Jupyter Notebooks zentral zu betreiben und mehreren Nutzern gleichzeitig zugänglich zu machen.

Was ist JupyterHub?

JupyterHub ist die Mehrbenutzer-Variante des bekannten Jupyter Notebook Projekts. Statt dass jeder Nutzer eine lokale Installation benötigt, stellt ein zentraler Server jedem Benutzer eine isolierte Notebook-Umgebung bereit. Das macht JupyterHub besonders attraktiv für Schulen, Universitäten, Forschungsteams und Data-Science-Abteilungen. Jeder Nutzer meldet sich über einen Browser an und arbeitet in seiner eigenen Session – ohne gegenseitige Beeinflussung.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • Mindestens 2 GB RAM (mehr empfohlen bei vielen Nutzern)
  • Optional: Reverse Proxy (Nginx, Caddy) für HTTPS

Compose-Beispiel

services:
  jupyterhub:
    image: jupyterhub/jupyterhub:latest
    container_name: jupyterhub
    restart: unless-stopped
    ports:
      - "8000:8000"
    volumes:
      - ./jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py
      - ./data:/data
    environment:
      - DOCKER_NETWORK_NAME=jupyterhub-net

Hinweise

  • Die Standardkonfiguration nutzt PAM-Authentifizierung gegen lokale Systembenutzer – für einfachere Setups bietet sich der DummyAuthenticator mit festen Passwörtern an.
  • Für produktive Umgebungen sollte JupyterHub hinter einem Reverse Proxy mit TLS betrieben werden.
  • Mit dem DockerSpawner kann JupyterHub für jeden Nutzer einen eigenen Container starten – ideal für vollständige Isolation.
  • Nutzer-Daten sollten in gemounteten Volumes persistiert werden, damit sie Container-Neustarts überleben.