jupyterhub.rottigni.tech

Repo #48225761 | |
---|---|
Author | Lorenzo Rottigni |
Created At | 2023-08-03 |
Updated At | 2025-05-16 |
Pushed At | 2024-04-19 |
Size | null MB |
Main Language | bash |
Star count | 0 |
Default branch | main |
Docker
Git
Bash Scripting
README.md
jupyterhub.rottigni.tech
Welcome to jupyterhub.rottigni.tech, Lorenzo Rottigni's personal JupyterHub service.
Getting Started
To initiate the JupyterHub service on the HTTPS port 443, execute the following command:
docker-compose build
docker-compose up jupyterhub backup_runner --remove-orphans -d
Please note that it's essential to build the "jupyternb" image before launching the hub; otherwise, it won't be discoverable in the local registry.
Authentication
This JupyterHub instance employs the jupyterhub.auth.DummyAuthenticator
, allowing any user to authenticate using the same password (defined in jupyterhub_config.py
).
As this serves as a personal notebook, the username for personal use should be set as "lorenzo": this allows the synchronization of user files within the repository.
Once authenticated, the JupyterHub container will generate a child container named jupyter-<username>
. It utilizes a custom image named "jupyternb," constructed from the Dockerfile.jupyternb
(configured via c.DockerSpawner.image
).
This feature, referred to as "user-specified subcontainers," offers benefits such as isolation, resource efficiency, scalability, and simplified cleanup.
Each authenticated user will have their container, containing their personal documents stored as internal Docker volumes.
Backup
The jupyterhub.rottigni.tech service provides an exposed service known as `backup_runner," which serves the purpose of synchronizing data generated by the user "lorenzo" with a designated Git repository.
Enclosed within an Alpine container, this service incorporates a cron job that runs every 30 minutes.
Its function is to synchronize the Docker volume of the "lorenzo" user with the repository hosted at https://gitlab.com/LorenzoRottigni/jupyterhub-storage.