This repo contains solutions for accessing user files stored in EFSS from Jupyter ecosystem.
To this end, two issues, independent to some extent, are covered:
- How to actually access user files from Jupyter
- How to authorize Jupyter to access the files
By the Jupyter ecosystem, we mean specifically the following single-user components:
- JupyterLab UI
- JupyterLab Terminal
- Jupyter kernels, i.e. kernels that are local to JupyterLab, as well as remote Jupyter Enterprise Gateway's kernels (in the future)
As EFSS, we use Nextcloud (hereinafter as NC), tested with NC v. 16 and 17. The ultimate goal is to make this work independent from EFSS vendor.
Alternative solutions for accessing files are:
Solutions for authorizing Jupyter components to access Nextcloud:
- authorization/#-flow-v2 - JupyterHub implementing Nextcloud's Login Flow v2
Some comprehensive usage examples:
- examples/z2jh-sync - the sync and login-flow-v2 approaches implemented within Zero To JupyterHub
- examples/z2jh-cs3api4lab-sync - the sync and login-flow-v2 approaches implemented within Zero To JupyterHub together with the cs3api4lab plugin
Docker images defined in this repo are automatically built and published in GitHub Packages registry.
The Docker images are:
docker.pkg.github.com/sciencemesh/filesystem-for-jupyter/jupyterhub
docker.pkg.github.com/sciencemesh/filesystem-for-jupyter/sync
Read here how to access the registry.
Docker containers has been tested with both Docker Engine and CRI-O.