I’ve been searching online and I can’t seem to find one. In particular I’m interested if there’s a public free JupyterHub that has NbGrader support.
I think the closest you can get is mybinder.org which is a JupyterHub under the hood, we “just” added automatically building environments on top.
Not aware of any other options, so would be great to learn about them.
Thanks for your reply @betatim. As I understand, MyBinder.org launches notebooks from a git repository, but that’s a bit different than “standard” JupyterHub where you log in and have your own files and environment that you can return to.
I know there’s Google CoLab, which is free and is similar to JupyterHub, but I prefer the “standard” JupyterLab feel (CoLab added a bunch of CSS that makes it feel less familiar), and Colab doesn’t support the growing number of JupyterLab extensions, and doesn’t have NbGrader support, etc.
That is correct. This is why I said “closest you can get” I don’t know of a public, vanilla JupyterHub that is free to use.
Is the “free” a hard requirement? Depending on what you want to do you can rent a server for (very) little money and either setup a hub yourself or pay someone to set it up for you.
We might be able to help with that. I have been thinking it would be nice to have a free version for jupyterhub like there is for notebooks. Any other special requirements (auth, infrastructure, backup, etc.) other than nbgrader?
Just another quick thought here - you can always try requesting something like this from Google, Microsoft, etc. There’s no reason that Colab has to use a custom proprietary UI, and if enough people ask for more “open source” or “standard” UIs, then it’ll make companies more likely to choose these when they decide what services to offer for free.
The challenge w/ creating a free JupyterHub is the question “who will pay for it?”. Colab runs because Google has a boatload of money. Jupyter doesn’t have any kind of company or organization behind it, it’s just an open source community, so somebody would need to volunteer the compute time (or give money for it). That somebody could be the tech companies, but they tend to use “free compute” to highlight their own products
Given this discussion I actually just put together a rough draft publicly available JupyterHub if you’d like to check it out!
It’s called StudyHub, at https://StudyHub.co
I haven’t added ads yet, but I’ll need to because my free Google Cloud credit has already decreased by $12 over the last few days, which seems like a lot to me. I can already see that unless it can attract a lot of users (that see a lot of ads), it will be hard to break even.
I tried decreasing the resource usage by switching to the f1-micro machine type, but it wouldn’t run, so now I’m back to the n2-standard-2.
For what it is worth, there’s also the cocalc.com alternative; it clearly must come with its own shortcomings, and I don’t know for example how well nbgrader fits into this if at all, bit it feels like it should not be ruled out without a fair trial
I am curious about your goals for the free hub. I checked out StudyHub… seems like a nice setup and easy to login and use with oauth installed. As @choldgraf pointed out the hosting fees and storage could get a bit crazy, and I agree with your assessment that it could be tough to support with ads only. Perhaps a sponsor could be found with an interest in the general topic.
- Generally how many users would you be looking to support (would you want to have it eventually scale to something that could support thousands of users)?
- If it is targeted at education, would there be two classes of users? (e.g. Teachers and TAs, vs. students) with different access rights and privledges?
- Somewhat related to question 2, would you eventually want some sort of domain construct? e.g. users from the same class would have some sort of shared space so they could collaborate and share folders and data?
You might not have all the answers to these questions, as I imagine you may be just exploring the idea, but that would be helpful for making the design choices.
The idea of a free jupyterHub to at least help people get started working together in a shared space using jupyter could be very useful.
As I mentioned earlier, I would be willing to support something (although I don’t have pockets ad deep as GOOG or MSFT of course), but would be important to understand what users might be looking for first.
Hi Leonard, I’d be happy to discuss this with you more.
To respond to your questions:
Just to add to the cost estimate, right now it’s costing $3/day. I applied for Google Ads but was denied for not having enough content, so now I need to figure out how to add more content to the site!
I was also thinking I could leverage the existing relationship I have with AWS to ask if they could help support StudyHub. The thing is right now GKE is much cheaper than AWS, which you can see some people discussing here https://news.ycombinator.com/item?id=17240369.
Thanks for the detailed response Nicolas. I also think there could be a lot more facilitated learning and exploration from people with diverse backgrounds if a lot of the sysadmin stuff was automated to some extent. That is what held me back from doing more dev work early in my career.
Let me think through the cost implications. The server time is one part of it, but the instance storage also adds up pretty quickly. I think there could be a couple ways around this… the free tier of git LFS, for example, could allow users to pull down when they are live on the server, rather than persisting all the storage across all class members in an education setting (including during the 95% of the time they aren’t online working with it).
Let me think about this a bit more, it’s a worthwhile endeavor.
A bit of googling turned up
which claims to let Jupyter read/write directly to S3, without needing fuse or some other virtual file system. Since you’re using google OAuth perhaps it’s possible to write a similar plugin for Google Drive, so the user is responsible for their storage?
Using S3 like that would cut down on costs quite a bit. Nice find!
I was wrong, there is actually a free, no ads JupyterHub!!
Visit https://notebooks.gesis.org/binder/ and click “Hub”. Sign up for an account and start hub’ing.
By the way how did you solve https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/1375 to get up and running?
Haha jackpot! They give you 72 cores and 755G of RAM? At least for a while…supercomputers for the masses, I like it Thanks @betatim.
No, I didn’t resolve that issue yet and I still really want to find a solution. I responded on the GitHub issue now.
glad you like it Yet, bare metal specs are actually not our main goal with GESIS Notebooks.
We hope to turn this public JupyterHub actually into a binder with persistent storage allowing each user to have a free instance according to their specific needs.
If you have any feedback/suggestions … let us know
@arnim, just curious, how is it sustained, and what is the plan for future sustainability? Surely those resources are costing someone money.
Edit: In other words, who should we be grateful for here for their generosity?
Many thanks to them! (and presumably to you too!)