öffentliche Seite coworking:jupyterhub
Eigene Beispiel Installation https://mojolab.starconnect.ch/hub/spawn
pythonhubstefan http://jhub.itbs.selfhost.co/
ibex https://multiuserhub.ibwa.synology.me/hub/signup
https://www.docker.com/blog/getting-started-with-jupyterlab-as-a-docker-extension/
JupyterLab folgt einer Client-Server-Architektur (Abbildung 2), bei der der in TypeScript und React implementierte Client im Webbrowser des Benutzers ausgeführt wird. Es nutzt den Webpack-Modul-Bundler, um seinen Code in eine einzige JavaScript-Datei zu packen und über WebSockets mit dem Server zu kommunizieren. .Andererseits ist der Server eine Python-Anwendung, die das Tornado-Webframework nutzt, um den Client zu bedienen und verschiedene Funktionalitäten zu verwalten, darunter Kernel, Dateiverwaltung, Authentifizierung und Autorisierung. .Kernel, die für die Ausführung des im JupyterLab-Client eingegebenen Codes verantwortlich sind, können in jeder Programmiersprache geschrieben werden, obwohl Python häufig verwendet wird.
Der Client und der Server tauschen Daten und Befehle über das WebSockets-Protokoll aus. .Der Client sendet Anfragen an den Server, z. B. Codeausführung oder Notebook-Laden, während der Server auf diese Anfragen antwortet und Daten an den Client zurückgibt.
.Kernel sind eigenständige Prozesse, die vom JupyterLab-Server verwaltet werden und es ihnen ermöglichen, Code auszuführen und Ergebnisse – einschließlich Text, Bilder und Diagramme – an den Client zu senden. .Darüber hinaus zeigt sich die Flexibilität und Erweiterbarkeit von JupyterLab durch die Unterstützung von Erweiterungen, die es Benutzern ermöglichen, neue Features und Funktionalitäten wie benutzerdefinierte Kernel, Dateibetrachter und Editor-Plugins einzuführen, um ihr JupyterLab-Erlebnis zu verbessern .
Das Ausführen von JupyterLab als Docker-Erweiterung bietet Benutzern, die bereits mit Docker Desktop vertraut sind, ein optimiertes Erlebnis und vereinfacht die Bereitstellung und Verwaltung des JupyterLab-Notebooks.
Docker bietet eine ideale Umgebung zum Bündeln, Versenden und Ausführen von JupyterLab in einem schlanken, isolierten Setup. Diese Kapselung fördert eine konsistente Leistung über verschiedene Systeme hinweg und vereinfacht den Einrichtungsprozess.
Darüber hinaus ist Docker Desktop die einzige Voraussetzung für die Ausführung von JupyterLabs als Erweiterung. Sobald Sie Docker installiert haben, können Sie JupyterLab ganz einfach einrichten und verwenden, sodass keine zusätzlichen Softwareinstallationen oder komplexen Konfigurationsschritte erforderlich sind.
Wenn Sie mit anderen Sprachen als Python3 (Standard) arbeiten müssen, können Sie einen Schritt nach der Installation durchführen. Um beispielsweise den iJava-Kernel hinzuzufügen, starten Sie ein Terminal und führen Sie Folgendes aus:
~ % docker exec -ti --user root jupyter_embedded_dd_vm /bin/sh -c "curl -s https://raw.githubusercontent.com/marcelo-ochoa/jupyter-docker-extension/main/addJava.sh | bash"
Wenn Sie ein Notebook direkt aus dem Internet importieren möchten, können Sie die Option Datei > URL öffnen verwenden. https://raw.githubusercontent.com/SpencerPark/ijava-binder/master/3rdPartyDependency.ipynb