Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add repo2docker frontend feature #3

Open
kreuzert opened this issue Jun 5, 2024 · 3 comments
Open

Add repo2docker frontend feature #3

kreuzert opened this issue Jun 5, 2024 · 3 comments

Comments

@kreuzert
Copy link

kreuzert commented Jun 5, 2024

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

  • We would like to have a service on the frontend called "Repo2Docker", where you have to choose a supported system and a textfield underneath it, where you can put the URL to your Git Repo.
  • Optional: credentials / URLs to store the image in a specific place.

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

@yuvipanda
Copy link

yuvipanda commented Jun 6, 2024

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
Copy link

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

@kreuzert
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants