We run classes using JupyterHub where I work.
Unfortunately to do this at classroom scale takes significant memory resources. The smallest one can really get away with is 1GB of server ram per user. This means if you have even a small class of 15 students, you really need a 16GB server minimum to host a JupyterHub environment.
This is well beyond the free tier offerings of any cloud provider.
If you are only concerned about sharing the notebooks themselves, I would suggest continuing to have each user run their own Jupyter server using Docker and have the base image include git or wget so the users can download your notebooks from the free hosting options that do exist.
If you do have local or cloud hosted resources(or budget) with sufficient memory available then you are just looking at Docker and network configuration to expose the hub to the local network or internet. You would then need to obtain a certificate for https which is pretty much required, but can be obtained for free from a few good sources.
I hope this helps put things in perspective.
Jason
To unsubscribe from this group and stop receiving emails from it, send an email to jupyter+unsubscribe@googlegroups.com.
To post to this group, send email to jup...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/f0f75208-7bc2-4733-b39c-7b1fbde310da%40googlegroups.com.