parmentelat / nbhosting

nginx + django + docker architecture to host notebooks embedded from open-edx hosted MOOCs
Other
77 stars 8 forks source link

add vscode to generic image ? #157

Open parmentelat opened 1 year ago

parmentelat commented 1 year ago

get inspiration from this Dockerfile to add vs-code the jupyterlab's launchers

https://gitlab.inria.fr/dsi-sesi/jupyterhub/-/blob/master/images/jupyterlab-vscode/Dockerfile

mahendrapaipuri commented 1 year ago

Hello, using jupyter-server-proxy we can proxy any arbritrary web servers via jupyter_server. Here are bunch of entry points that we made for our JupyterHub deployment on JeanZay. Maybe they can help you as well. We have VSCode running on unix socket and spawn via JupyterHub to the users.

PS: If you are using Jupyter projects a lot, there is a lot of potential of knowledge sharing.

parmentelat commented 1 year ago

hey apologies for having mentioned a page behind an authorization wall :(

so in a nutshell in case you can't reach it, the recipe I was referring to reads like this

so I take it we're on the same page here ?

mahendrapaipuri commented 1 year ago

No, dont be!

Yes, exactly! jupyter-vscode-proxy uses TCP port for proxying and our entry point uses unix socket. But I guess that is not very relevant for you as your deployment uses OCI containers. As a HPC platform, we dont have the "privilege" of using OCI containers and get network isolation. So, we made our own proxy entry point with unix socket.

mahendrapaipuri commented 1 year ago

Btw, my comment about knowledge sharing was a more generic one. Not about the dockerfile behind the auth wall. We are also developing few things within Jupyter ecosystem for our JupyterHub deployment on Jean Zay platform and I guess we can benefit from work of each other.

A question out of curiosity: why developing and maintaining nbhosting and why not use JupyterHub? I see a lot of organizations use JupyterHub for training purposes as well.

Cheers!

parmentelat commented 1 year ago

good question !

historically this all began in 2014, when we published our MOOC on python on the FUN platform we had opted for notebooks, and our IT team had provided a quick and dirty php app to host them that was fine but came without support and ran only python2

so in 2017 when we went for python3, we had to find a replacement I did try jupyterhub at the time, but found it very rough and I did not feel comfortable in operating that full scale I was running into a thousand small issues, and each one took ages to get around to...

so that's how I came up with this nbhosting thing, which in the meantime may have grown a little too much: it also provides for a few small-scale deployments like MOOCs by École Polytechnique, onesite courses at Université de Poitiers, it also hosts notebooks for m@agistere; at some point I have used it for my own onsite courses at École Mines Paris PSL, although on that front I have backpedaled and am now having the students install jupyter on their own computer, which is much more in line with the objective of having them gain autonomy with their own resources

moreover, generally speaking I tend to try and not become too dependant on the jupyter tools

now, if some other entity was willing to take over and offer the same interface (a git repo, and the /notebookLazyCopy entrypoint) it would mean we could start to plan for a - well deserved - retirement of nbhosting :)