Hey @yuvipanda thank you for pinging me! I hadn’t seen the updates to this thread yet!
@choldgraf mentioned a way to use regex (clarified by @sgibson91) to achieve a similar result with a fork of littlest-binderhub. I believe the use case they mention regarding the lack of resources on mybinder.org is most closely aligned to what I have in mind.
I checked out your link, (also thank you… I had never seen the ipython repo before! It’s so full of useful stuff), and was very happy with how quickly it loaded by comparison to the binder link on their github. I love the next step that @psychemedia asked about wherein a dropdown list is used (I implemented this once in a Jupyterhub so students could poke around and explore the differences between a few environments while maintaining access to the same persistent files).
(I use DockerSpawner and am fairly sure I pulled that code from something I saw @minrk post in an Issue regarding
I think I understand what he mentioned about a solution that relies on re-building images (but that is something I would like to avoid doing manually. If I push to master, I expect the link to just be ready the next time someone visits, the same way binder does now). Problem is, nothing I do right now is popular enough to live in cache, so those load times are great to avoid!
I’m very much interested in helping others publish open source “textbooks” (sites) with interactive examples (like spacy mixed with jupyterbook or the various similar static-site alternatives), and simply want it to be the case that it is easy to set up to scale traffic, so I don’t have to worry about a server I rent going down.
So again, same use case as @sgibson91. If someone visits a link and an ephemeral container is created for them with only a single node but perhaps more memory, that’s already a good start. multi-node/ability to parallelize is much lower priority but firmly in the ‘would be nice’ column. I don’t quite understand the nuances of performance optimizations, but I can already tell that this is fairly close to what I have in mind. I have yet to set up anything on kubernetes that can scale, but from my understanding, using a binder with the whitelist seems to be an appropriate way to handle scaling the computational needs of an online course. I really appreciate your work on this (and more).
My other use-case for this is (building up towards those ambitions) building interactive demonstrations of my thesis work on my website. There, the problem isn’t so much resources as it is lag time for binder to start up. Which this project (and scaling with single-nodes in kube) … most certainly solves. Just to clarify, the link you provided is running on a single-node server and can handle multiple users at once?