This repository contains my personally used configuration to handle my JupyterLab instances. It uses JupyterHub with a dockerspawner to handle the JupyterLab instances via Docker.
For JupyterLab a set of configurations for extensions can be found. Additionally, some Dockerfile including JupyterLab and a preset of dependencies.
- Check out and understand jupyerhub_config.py
- Adjust the volume mappings.
- Adjust the device mappings.
- Adjust the allowed images.
- Create a directory for the users' work and home directory (
user-data
per default)- Handling of host and docker userids is not setup. JupyterLab containers do start with userid
1000
. - You have to handle / setup permissions for folders by yourself.
- Handling of host and docker userids is not setup. JupyterLab containers do start with userid
- Build the repos docker images.
make build-"fileextension"
, i.e.make build-cuda118-2204
- Start the JupyterHub instance
docker compose up
, daemondocker compose up -d
- Handling work and home directory for users
- Simple dummyauthenticator (only use in personal networks!)
- Using dockerspawner and images to spawn instance
- jupyterlab-lsp does currently not support formatting.
- jupyterlab-lsp does currently not support the configuration of python-lsp-ruff
- jupyterlab-code-formatter does currently not support the loading of config files
- jupyterlab has problems with default viewers, there should be a more stable version with 4.0
- jupyter-code-formatter does not support on save formatting in Jupytext Notebook, might be mitigated with 4.0
- tensorflow
- pytorch
- matplotlib
- scikit-learn
- opencv-contrib-python
- black
- isort
- pylint
Dependencies for development can be found in (requirements)[requirements/]
Add packages to JupyterHub and JupyterLab to there corresponding *.in
file.
make pip-compile-jupyterhub
make pip-compile-jupyterlab
Rebuild the images.