Erklärvideo für Studierende zum Übungsprozess
                
            
Der JupyterHub ist an das landesweite Identitätsmanagementsystem bwIDM angeschlossen. Die Anmeldung am JupyterHub erfolgt damit über Ihr Hochschulkonto. Bei der ersten Anmeldung müssen Sie die den Nutzungsbedingungen zustimmen. Anderfalls können Sie den JupyterHub nicht nutzen. Nach der Anmeldung werden Sie automatisch auf den JupyterHub weitergeleitet.
Auf dem JupyterHub sehen Sie oben rechts Ihren internen Anmeldenamen und Ihre E-Mail-Adresse. Beachten Sie, dass der interne Anmeldename nicht Ihrem Hochschulkürzel entspricht.
Nach der ersten Anmeldung wird Ihnen eine Rolle zugewiesen. Basierend auf den Informationen, die in Ihrem Hochschulkonto hinterlegt sind, erhalten sie die Rolle
Im Vergleich zu Studierenden haben Dozierende die Möglichkeit, eigene Profile anzulegen.
Sollte Ihnen eine falsche Rolle oder gar keine Rolle angezeigt werden, schreiben Sie uns bitte eine kurze Mail an support∂bwjupyter.de. Nachdem wir Ihnen die Rolle manuell zugewiesen haben, sollten Sie nach erneuter Anmeldung die korrekte Rolle sehen.
Nachdem Sie sich angemeldet haben, erhalten Sie eine Auswahl verschiedener JupyterHub-Profile (kurz Profile).
Ein Profil bestimmt dabei
Nachdem Sie ein Profil gestartet haben, wird Ihnen eine eigene Umgebung bereitgestellt. Unabhängig vom Profil erhalten Sie einen zentralen Datenspeicher von 2 GB, der an Ihren Account gebunden ist, und 8 GB Arbeitsspeicher (RAM) (siehe "Technischer Rahmen").
bwJupyter stellt bereits vorhandene Profile bereit, die von den Nutzenden ausgewählt und gestartet werden können. Profile unter dem Abschnitt "Jupyter Profiles" werden von dem offiziellen Jupyter-Projekt verwaltet und gewartet. Eine Beschreibung der Profile findet man in der Jupyter-Dokumentation.
Profile unter dem Abschnitt "bwJupyter Profiles" wurden basierend auf einer Bedarfsumfrage erstellt und werden allen Nutzenden zur Verfügung gestellt. Nachfolgend finden Sie die verfügbaren Standard-Profile mit vorinstallierten Paketen, Bibliotheken und Anwendungen.
bwJupyter - Python (v5.2.1-3)
bwJupyter - R (v5.2.1-2)
bwJupyter - Julia (v5.2.1-2)
bwJupyter - C/C++ (v5.2.1-2)
bwJupyter - Java (v5.2.1-1)
bwJupyter - Octave (experimental, v5.2.1-1)
![]()
Konfiguration
Bei der ersten Nutzung des KI-Assistenten müssen Sie die LLMs angeben, die Ihre Anfragen bearbeiten werden. Die Konfiguration wird Profil-übergreifend gespeichert, sodass die Modelle im Idealfall nur ein Mal konfiguriert werden müssen.
Bei der Modellauswahl erhalten Sie eine Liste zahlreicher Anbieter. Die Modelle können Sie nicht einfach auswählen und nutzen. Fast alle Anbieter fragen nach einem API-Key, damit die Nutzung der Modelle entsprechend zugeordnet und abgerechnet werden kann. Da es aktuell keinen Landesdienst gibt, der LLMs zur Verfügung stellt, müssen alle Hochschulen und Nutzenden sich um einen entsprechenden Zugang kümmern.
Falls Sie den KI-Assistenten nur kurz "ausprobieren" möchten, können Sie eins der Modelle "bwJupyter :: [Modell]" auswählen. Die Modelle werden von der GWDG im Rahmen ihrer AI Services kostenlos zur Verfügung gestellt. Für diese LLMs ist kein eigener API-Key notwendig. Eine Liste aller verfügbaren LLMs und deren Fähigkeiten finden Sie in der GWDG-Dokumentation. Bitte beachten Sie hierbei, dass die Nutzung der GWDG-Modelle limitiert ist. Falls Sie auf den Fehler "429 Rate limit reached" stoßen, wurde das Kontingent bereits genutzt. Sie können es nach einer Stunde erneut probieren.
Im Folgenden zeigen wir Ihnen wie Sie verschiedene Anbieter einbinden können. Wenn Sie Zugang zu LLMs haben, aber nicht wissen wie Sie die Modelle bei bwJupyter einbinden können, schreiben Sie uns eine kurze Mail an support∂bwjupyter.de.
	
	Beschreibung
Das Profil basiert auf dem offiziellen Jupyter-Profil Datascience. Daher sind dort bereits gängige Pakete für Python, Julia und R vorinstalliert. Zusätzlich enthält das Profil die Erweiterung jupyter-collaboration, die das kollaborative Entwickeln in Echtzeit ermöglicht. Das Bearbeiten von Zellen und das Ausführen von Code wird synchronisiert, sodass man ideal mit mehreren Personen am gleichen Jupyter Notebook arbeiten kann.
Mitglieder (Members) verwalten
Damit andere Nutzende auf die laufende JupyterLab-Umgebung zugreifen können, müssen sie zunächst als Mittglied (member) hinzugefügt werden. Danach können sie über den bereitgestellten Link auf die JupyterLab-Umgebung zugreifen.
 
Nutzung über die Graphische Oberfläche
Nachdem die graphische Oberfläche gestartet wurde, erscheint ein Fenster mit Status-Informationen. Nachdem MATLAB gestartet wurde, werden Sie automatisch auf die MATLAB-Umgebung weitergeleitet.
 
Wenn Sie MATLAB nicht länger verwenden, bitten wir Sie MATLAB über das Panel "Status Information" wieder zu stoppen. Sie können das Panel über das Werkzeug-Icon in der Navigationsleiste öffnen.
 
Nutzung über den Jupyter-Kernel
Nachdem der Kernel gestartet wurde, können MATLAB-Skript-Anweisungen in den Zellen des Jupyter Notebooks ausgeführt werden. Bei der ersten Ausführung wird MATLAB gestartet. Das kann einige Minuten in Anspruch nehmen.
Wenn Sie MATLAB nicht länger verwenden, bitten wir Sie die JupyterLab-Instanz bzw. den Jupyter-Kernel zu stoppen (siehe Verfügbare Ressourcen).
Laufzeit
Aktuell verwendet MATLAB einen Lizenzserver des KIT, der eine landesweite Lizenz zur Verfügung stellt. Daher wird kein Login und keine Registrierung benötigt.
Bitte beachten Sie, dass die Lizenz am 31. März 2026 ausläuft. Ab diesem Zeitpunkt können wir nicht mehr garantieren, dass alle Hochschulen MATLAB nutzen können. Sollten Sie MATLAB weiterhin verwenden wollen, wenden Sie sich bitte an Ihre Hochschule, um sich über den aktuellen Stand der Lizenzen zu informieren.
personal kopieren. Dozierende haben die Möglichkeit für Ihre Kurse eigene Profile anzulegen. Studierende können Profile von Dozierenden in Ihre Liste an Profilen aufnehmen, indem sie auf den geteilten Profil-Link klicken. Dabei wird automatisch das entsprechende Profil gestartet und in der Profil-Liste gespeichert.
Das Profil kann bei Bedarf wieder entfernt werden. Navigieren Sie dazu auf den Navigationspunkt "Profile Management". Unter den besuchten Profilen ("Visited Profiles") können Profile wieder aus der Liste gelöscht werden.
Im Vergleich zu den Standard-Profilen gibt es für jedes Profil von Dozierenden einen geteilten Ordner namens __shared. Dort können Dozierende Materialen (z.B. Skripte, Übungsaufgaben) ablegen und Studierende können diese Materialien dann in ihren persönlichen Ordner kopieren. Da der Speicherplatz auf 2GB begrenzt ist (siehe "Technischer Rahmen") sollten größere Dateien (z.B. Datensätze, Trainingsdaten) hingegen nicht kopiert werden, um den persönlichen Ordner möglichst klein zu halten und die Daten nicht redundant speichern zu müssen.
Bei der Profilerstellung können Dozierende angeben, ob sie zwei zusätzliche Ordner namens __submission und __correction anlegen möchten. Beide Ordner realisieren ein simples Abgabesystem von Dateien ohne dabei den JupyterHub verlassen zu müssen.
Studierende können ihre Dateien abgeben, indem sie die Dateien in den Ordner __submission kopieren. Der/ Die  Profil-Inhabende und die Profil-Collaborators können automatisch die Abgabe aller Studierenden einsehen. Das Feedback erscheint nach der Korrektur im Ordner __correction.
| 
			 
 Ordner 
  | 
			
			 
 Rolle  | 
			
			 
 Schreibrechte  | 
			
			 
 Leserechte  | 
		
| 
			 
 
 
 
  | 
			
			 
 Studierende 
 Dozierende 
  | 
			
			 
 ✗ 
 ✓  | 
			
			 
 ✓ 
 ✓  | 
		
| 
			 
 
 
 
  | 
			
			 
 Studierende 
 Dozierende  | 
			
			 
 ✓ 
 ✗  | 
			
			 
 ✓ 
 ✓ 
  | 
		
| 
			 
 
 
 
  | 
			
			 
 Studierende 
 Dozierende 
  | 
			
			 
 ✗ 
 ✓  | 
			
			 
 ✓ 
 ✓  | 
		
In der auf dem Profil-basierten gestarteten Umgebung finden Sie in oberen Navigationsleiste den Punkt "File >> Hub Control Panel". Alternativ kommen Sie auch über den Link https://hub.bwjupyter.de/hub/home auf die nachfolgende Seite. Dort können Sie die Umgebung ("server") mit einem Klick auf "Stop My Server" stoppen. Nach einigen Sekunden ist die Umgebung gestoppt und Sie können unter "Start My Server" ein neues Profil auswählen.
Bei der Verwendung einer Grafikkarte wird sowohl die Rechenleistung als auch der Arbeitsspeicher der GPU (vRAM) beansprucht. Die Rechenkapazitäten werden über ein Timeslicing-Verfahren aufgeteilt. Sollten also mehrere Nutzende dieselbe Grafikkarte verwenden, werden die Berechnungen immer noch durchgeführt, je nach Auslastung kann dies aber länger dauern.
Diese Garantie gilt nicht für den Arbeitsspeicher der GPU. Pro Grafikkarte stehen insgesamt 48 GB vRAM bereit. Wenn auf der GPU gerechnet wird (z.B. Matrix-Multiplikationen, LLM-Inferenz, Modell-Training), werden die dafür benötigten Daten in den vRAM der Grafikkarte geschrieben. Wenn der vRAM voll ausgeschöpft ist, kann es zu Out-Of-Memory-Fehlern kommen, die abhängig vom verwendeten Framework als Fehlermeldungen signalisiert werden.
Daher gilt nach unserer Fair-Use-Policy: Erkundigen Sie sich bitte wie viel vRAM Ihre Berechnungen bzw. KI-Modelle benötigen. Insbesondere für KI-Modelle gibt es im Internet meist Benchmarks, die eine grobe Schätzung geben. Im Rahmen der Lehre sollten nicht mehr als 6 GB vRAM nötig sein. Sollten Sie weitere Ressourcen benötigen, wäre die Nutzung eines HPC-Systems denkbar. Um die aktuelle Auslastung der Grafikkarte einzusehen, können Sie den Befehl 'nvidia-smi' innerhalb Ihrer JupyterLab-Umgebung im Terminal ausführen. Wir arbeiten bereits an einer visuellen Übersicht der verfügbaren Ressourcen.
| Hinweis Nachdem Sie Ihre Berechnungen durchgeführt haben, wird der vRAM weiterhin reserviert. Wir bitten Sie daher nach der Nutzung Ihren Server manuell zu stoppen ("File >> Hub Control Panel"), sich auszuloggen oder den verwendeten Jupyter-Kernel innerhalb von JupyterLab zu terminieren ("Kernel >> Shut Down Kernel").  | 
		
In diesem Abschnitt finden Sie Informationen über die Erstellung individueller Jupyter-Profile und deren Verwendung.
Nach dem erfolgreichen Login per bwIDM (siehe oben "Anmeldung") bekommen Sie auf der Startseite im Hub eine Liste an angebotenen Standard-Profilen und den bereits besuchten Profilen angezeigt.
Zum Anlegen eines neuen Profils navigieren Sie in der Kopfzeile des Jupyterhubs zu "Profile Management" und klicken in der Liste der Profile auf die Karte "+".
Die Anzahl an Profilen, die Sie erzeugen können, ist nicht beschränkt. Ein Profil kann sich dabei auf eine Lerneinheit, mehrere Lerneinheiten oder eine gesamte Lehrveranstaltung beziehen.
Wählen Sie einen eindeutigen Profilnamen für Ihre Lerneinheit oder Lehrveranstaltung und vermeiden Sie dabei allgemeine Benennungen, um Überlagerungen in der Profilübersicht von Studierenden zu minimieren.
Beispiele für akzeptable Profilnamen:
Beispiele für nicht akzeptable Profilnamen:
Um eine GPU auf infrastruktureller Ebene in ihrem Jupyter-Profil einzubinden, aktivieren Sie die Checkbox 'GPU required'. Diese Option sichert Ihnen noch keine Bibliotheken, Programmcodes oder Programmiersprachen zu, mit denen Sie die GPU ansprechen können. Diese müssen über eine geeignete Auswahl der Jupyter-Umgebung, und damit der in der Umgebung vorinstallierten Pakete, bereitgestellt oder nachinstalliert werden.
Die Jupyter-Umgebung respektive Docker-Image ist ein essentieller Bestandteil eines Profiles, der vorinstallierte Pakete, Programmiersprachen (Jupyter-Kernel), Bibliotheken, usw. enthält.
Mit der Option "Select from existing profile" können Sie eine Auswahl aus den von uns angebotenen bwJupyter-Images und den Jupyter Standard-Images treffen.
Mit der Option "Provide a custom Docker image" können Sie auf beliebige, öffentlich verfügbare Jupyter-Images verweisen, wie z.B. quay.io/jupyter/pyspark-notebook oder ein eigenes Docker Image bauen und bereitstellen.
Es kann vorkommen, dass die Standard-Profile nicht die Pakete enthalten, die Sie benötigen. Um eigene Pakete in Form eines eigenen Docker Images bereitzustellen, sind die folgenden vier Schritte notwendig:
Docker installieren
Mithilfe von Docker kann man Anwendungen in sog. Containern laufen lassen. Der große Vorteil: Man muss die Anwendung und deren Abhängigkeiten nicht mehr manuell direkt auf der Maschine installieren, sondern kann einen Container starten. Der Container basiert auf einem sog. Docker Image, das bereits die installierte Anwendung enthält.
Profile, die über bwJupyter gestartet werden, werden als Container gestartet. Daher kann man eigene Docker Images nutzen, um die Jupyter-Umgebung anpassen zu können.
Sie können Docker über Docker Desktop verwenden. Die Installationsanweisungen sind abhängig vom verwendeten Betriebssystem. Die konkreten Schritte und Anweisungen finden Sie in der Docker-Dokumentation.
Hinweis: Da es sich um Virtualisierungssoftware handelt, ist die Installation teilweise komplexer und aufwendiger im Vergleich zu herkömmlicher Software.
Dockerfile erstellen
Nachdem Docker erfolgreich installiert wurde, können Sie das Dockerfile erstellen. Das Dockerfile ist eine Datei mit dem Namen Dockerfile ohne Dateiendung. Diese Datei enthält alle Anweisungen für eine ausführbare JupyterLab-Umgebung. Damit Sie die JupyterLab-Software nicht selbst innerhalb Ihres Dockerfiles installieren müssen, können Sie auf ein sog. Base Image aufbauen. Sie finden eine Liste möglicher Base Images in der Jupyter-Dokumentation.
Hinweis: Geben Sie falls vorhanden die aktuelle JupyterHub-Version 5.2.1 in dem Tag des Base Images an.
Im Folgenden nutzen wir das Datascience Image und installieren zusätzlich das Python-Paket cowsay. Dazu legen wir die Datei Dockerfile (ohne Dateiendung) an und fügen den folgenden Inhalt ein.
FROM quay.io/jupyter/datascience-notebook:hub-5.2.1 RUN pip install cowsay==6.1
Wenn Sie komplexere Pakete installieren möchten, die System-Abhängigkeiten benötigen, können Sie im Dockerfile auch Befehle als root-Nutzer ausführen. Wichtig ist nur, dass Sie am Ende wieder zum Nutzer jovyan wechseln. Das folgende Dockerfile installiert den Prozessmanager htop.
FROM quay.io/jupyter/datascience-notebook:hub-5.2.1
USER root
# Install htop
RUN apt-get update --yes && \
    apt-get install --yes --no-install-recommends \
    htop \
    apt-get clean && rm -rf /var/lib/apt/lists/*
USER jovyan
Weiter Informationen zu Dockerfiles finden Sie in der Docker-Dokumentation.
Hinweise:
/home/jovyan/work wird nach dem Start des Containers mit dem persönlichen Verzeichnis der Nutzenden überschrieben. Wenn Sie Dateien mit Studierenden teilen möchten, nutzen Sie hierfür den geteilten Ordner __shared/.Docker Image bauen
Nachdem Sie das Dockerfile angelegt haben, können Sie es zu einem Docker Image bauen. Dafür müssen Sie lediglich den Befehl docker build in dem Verzeichnis des Dockerfiles ausführen. 
docker build -t bwjupyter-profile .
Container Registry auswählen und Docker Image bereitstellen
Im letzten Schritt müssen Sie das Docker Image bereitstellen, sodass bwJupyter es herunterladen und verwenden kann. Dazu müssen Sie sich zunächst eine sog. Container Registry auswählen, die Ihr Image bereitstellen soll. Im Folgenden werden die gängigsten Container Registries aufgelistet.
| Container Registry | Einführung | Bemerkungen | 
|---|---|---|
| Docker Hub | Build and push an image to Docker Hub | DockerHub erlaubt ein kostenloses privates Docker Image. | 
| GHCR (GitHub Container Registry) | Working with the Container registry | Anstelle des Passwort sollte für das Pullen eines privaten Docker Images ein Token (Scope "write:packages") verwendet werden. | 
| quay.io | Getting Started with Quay.io | Quay.io erlaubt keine kostenlose privaten Docker Images. | 
| GitLab CR (GitLab Container Registry) | Build and push container images to the container registry | 
Nachdem Sie eine Container Registry ausgewählt haben, müssen Sie sich mit dem Befehl docker login anmelden. Danach müssen Sie Ihr gebautes Image umbenennen (taggen), sodass die Container Registry enthalten ist (docker tag). Abschließend können Sie das umbenannte Image mit dem Befehl docker push hochladen (pushen).
Weitere Hinweise:
Nach der Erzeugung eines Profils, kann dieses gestartet und die zu teilenden Lehrinhalte bearbeitet werden. Klicken Sie dazu auf den Button "Start ▸" (
). Nach der Initialisierung des JupyterLabs erscheint im Datei-Browser im linken Bereich ein Verzeichnis namens  "__shared". Dieses ist an das jeweilige Profil geknüpft und für Sie mit der Rolle "Lecturer" bearbeitbar (Read-Write-Zugriff). Abhängig von der gewählten Granularität Ihres Profils (Lehreinheit, Kurs, etc.) können Sie im __shared-Verzeichnis Unterverzeichnisse, Jupyter-Notebooks, einzulesende Rohdaten und andere Lehrmaterialien strukturiert erzeugen oder hochladen. Achten Sie bei der Bearbeitung im JupyterLab darauf, die jeweilige Ressource abzuspeichern.
Hinweis: Das Starten oder Beenden einer Jupyter-Umgebung respektive Notebook-Servers beeinflusst nicht den Stand der Dateien im __shared-Verzeichnis.
Hinweis: Die Inhalte des __shared-Verzeichnisses können Ihrerseits auch nach der Veröffentlichung laufend bearbeitet werden. Achten Sie daher darauf, etwaige Testausführungen nach der Veröffentlichung ausserhalb des __shared-Verzeichnisses vorzunehmen.
Nach der Erzeugung eines Profils, kann dieses beispielsweise mit Studierenden geteilt werden. Klicken Sie dazu auf den Button "Share" (
) in der gewünschten Profilkarte aus der Liste. Der entsprechende Share-Link wird in Ihrem Zwischenspeicher abgelegt und kann nun über Ihr verwendetes Learning-Management-System oder andere Kanäle geteilt werden.
Mit dem Aufruf Ihres geteilten Links starten Studierende direkt nach der bwIDM-Anmeldung einen neuen Benutzerserver mit dem spezifizierten Docker-Image und den Inhalten aus dem Profil.
Hinweis: Die Inhalte des _shared-Verzeichnisses werden für die Rolle "Student" im Modus Read-Only eingebunden. Zur Bearbeitung müssen diese von den Studierenden in ihr Home-Verzeichnis (/home/jovyan/work) kopiert werden. Um dies bei einer Vielzahl an Dateien zu vereinfachen, empfehlen wir die Verwendung entsprechender Unterverzeichnisse im __shared-Verzeichnis.
Mit dem integrierten Grader-Service der TU Wien ist es möglich den "Übungsbetrieb" (Aufgaben erstellen, verteilen, bearbeiten, abgeben, korrigieren, Feedback ausgeben) über bwJupyter abzuwickeln. Dozierende können über die Erweiterung Jupyter Notebooks mit Aufgaben und Punkten annotieren. Zu jeder Aufgabe können Tests geschrieben werden: Nur wenn der Test durchläuft, gibt es die volle Punktzahl. Die Tests können öffentlich und versteckt sein. Öffentliche Tests werden den Studierenden angezeigt. Das kann nützlich sein, um die grobe Funktionalität zu testen. Versteckte Tests werden den Studierenden nicht angezeigt. Sie können genutzt werden, um Randfälle der implementierten Lösung zu testen.
Nachdem das "Assignment" veröffentlicht wurde, können Studierende, die den Link zum Profil haben, die Aufgaben herunterladen. Die Lösung und die versteckten Tests sind nicht sichtbar. Nach der Bearbeitung muss das Notebook abgegeben werden.
Mit der Abgabe wird das Notebook automatisch bewertet: Die Tests werden ausgeführt und geben Punkte. Nach der automatischen Korrektur besteht die Möglichkeit die Abgabe nachträglich manuell zu korrigieren (z.B. für Freitext-Felder und Bonus-Punkte). Wenn die Korrektur abgeschlossen wurde, kann Feedback generiert werden. Das Feedback zeigt das Jupyter Notebook mit den Punkten, ggf. Kommentaren und den ausgeführten Tests. Studierende können sich das Feedback automatisch anschauen und herunterladen. Nach der Übung kann man sich eine CSV-Datei mit den erzielten Punkten herunterladen.
Grader-Service aktivieren
Um den Grader-Service in einem Profil nutzen zu können, muss zunächst die Option "Enable Grading Service for Jupyter Notebooks" in den Profil-Einstellungen aktiviert werden. Danach muss unter "JupyterLab Environment" das korrekte Docker Image gesetzt werden.
Damit der Grader-Service funktioniert, müssen die Python-Pakete grader-service und grader-labextension installiert werden. Wir haben bereits ein Image basierend auf dem Datascience-Profil erstellt. Tragen Sie dazu folgendes Image unter "Provide a custom Docker image" ein:
harbor-bwjupyter.apps.bwkube.scc.kit.edu/bwjupyter/bwj-grader-test:latest
Wir halten das Image aktuell, um Bug-Fixes und Änderungen am Grader-Service zu übernehmen. Sollten Sie Ihr eigenes Image verwenden, installieren Sie bitte folgende Pakete. Beachten Sie hierbei aber, dass die Versionen ggf. aktualisiert werden müssen, wenn eine neue Version des Grader-Services von uns verwendet wird.
grader-service==0.8.2
grader-labextension==0.8.2
Nach den Änderungen hat das Profil in der Profil-Übersicht ("Profile Selection") unter "Shared Profiles" das Badge "Grading enabled".
Verwendung
Die Person, die das Profil erstellt hat, sowie alle "Profil-Collaborator", können Aufgaben erstellen, Abgaben einsehen, usw. Alle anderen Nutzende werden als "Studierende" betrachtet - auch dann, wenn sie in bwJupyter die Rolle "Lecturer" haben. Für die konkrete Nutzung verweisen wir auf die offizielle Dokumentation für Dozierende und Studierende.
Für einen leichteren Einstieg stellen wir Dozierenden ein Beispiel-Notebook mit Aufgaben und Tests zur Verfügung.
Feedback, Fragen und Probleme
Melden Sie sich gerne bei uns (support∂bwjupyter.de), wenn Fragen oder Probleme auftreten. Gerne leiten wir auch neue Feature-Anfragen weiter. Bitte beachten Sie aber, dass das Projekt open-source ist und wir den Dienst aus Kapazitätsgründen nicht selbst entwickeln bzw. weiterentwickeln können.



/home/jovyan/work bzw. in Unterordnern befinden, werden gespeichert. Dateien, die sich außerhalb befinden (z.B. direkt in /home/jovyan), werden nicht gespeichert.