FZJ-JSC / jupyter-jsc-share

Jupyter-JSC JupyterHub templates and static files
0 stars 1 forks source link

Add repo2docker frontend feature #3

Open kreuzert opened 3 months ago

kreuzert commented 3 months ago

"repo2docker fetches a git repository and builds a container image based on the configuration files found in the repository." ( https://github.com/jupyterhub/repo2docker )

In the backend, we will build a DockerImage from this and start it on the chosen system.

yuvipanda commented 3 months ago

This is pretty cool to see!

For a couple of related projects (https://github.com/yuvipanda/jupyterhub-fancy-profiles and https://github.com/plasmabio/tljh-repo2docker), binderhub is used purely as a 'build backend'. While traditionally binderhub builds and launches from a UI, since this PR (via work funded by GESIS), there is a supported option to just build, and give you a built docker image - and you can start it on your chosen system as you wish.

The primary advantage of using this with repo2docker is that all the 'repo providers' in repo2docker are supported already via the binderhub api, and future additions to repo2docker will continue to be supported in the binderhub api. The API also makes sure to build only when needed, doing caching based on resolved immutable references where appropriate. BinderHub used to support only kubernetes as a build backend, but now it also supports podman and plain docker as well. There's also a frontend client (also on npm) you can use to talk to the API, and WIP on rewriting the whole existing frontend so you can reuse components from there to be compatible with existing mybinder.org style URLs in the new system.

And personally I'd also love more upstream involvement in the binderhub project itself, so you can also help shape it to meet your needs in places it already does not :)

Happy to chat more about this, or hear your existing plans!

Thanks to @arnim for pointing me to this!

yuvipanda commented 3 months ago

oh, and here are two blog posts about those two related projects I mentioned

kreuzert commented 3 months ago

Thanks for your feedback and the helpful links @yuvipanda . I'm looking forward to work on this issue in the next few weeks / months. Once I have something meaningful, I will let you know.