5 ms·
Did anybody succeed in deploying Jupyter into a multi-user environment? I know there is jupyterhub and some people deployed it for selected trustworthy users (e
by zeptomu 10y ago
Did anybody succeed in deploying Jupyter into a multi-user environment? I know there is jupyterhub and some people deployed it for selected trustworthy users (e.g. in a university course context or a company's intranet), but AFAIK it hasn't been deployed in production to potential untrustworthy users. Current approaches seem to rely on the idea to sandbox you in a Docker environment, but mostly these are work-in-progress solutions and I am not sure how much more secure they are, beside the fact that also authentication and persistent storage issues have to be solved.
The obvious problem is that accessing Jupyter is technically similar to allowing full shell-access and you have to deal with local privilege escalation, but I wonder if there has been any progress. I evaluated to use it as a UI for domain-specific applications that give users some kind of graphical shell, but in the end I decided against it, because of security concerns.
- makmanalp 10y agotry.jupyter.org is something like this, and I think it uses this: https://github.com/jupyter/tmpnb https://github.com/jupyter/tmpnb
- takluyver 10y agoYou're right, it does use that. The security against untrusted users is whatever you get from docker - each user's code runs in an individual container. In the case of try.jupyter.org a breakout would not be catastrophic, though, because those servers shouldn't be holding any sensitive data.
- carreau 10y agohttp://mybinder.org/ http://mybinder.org/ does that, as well as https://notebooks.azure.com/ https://notebooks.azure.com/ – well this one is authenticated, but it's easy to get a microsoft live account, and it does not even needs to be validated so that count (for me) as non trustworthy users. Technically giving access to Jupyter does not give full shell access. Only if the installed kernel give full shell access (which the default Python one does). The terminal feature can be deactivated as well.
- jhoechtl 10y agoDid you ever tried bootstraping an R kernel on mybinder?
- anc84 10y agoTry adapting the Julia via Dockerfile example: https://github.com/binder-project/example-dockerfile https://github.com/binder-project/example-dockerfile Or https://github.com/jupyter/docker-stacks/blob/master/r-notebook/Dockerfile https://github.com/jupyter/docker-stacks/blob/master/r-noteb...
- dwrensha 10y agoThe IPython Sandstorm app is a step in this direction: https://apps.sandstorm.io/app/rprqf3t2h3vd3swfkhwk076qrennh9msreyjv70g7sgw5hkdxjph https://apps.sandstorm.io/app/rprqf3t2h3vd3swfkhwk076qrennh9...
- yuvipanda 10y agoYou can use systemd or docker with JupyterHub, and make it as protected (or not) as you want. We could also write a spawner that spawns full fledged VMs, which would give you 'real' untrusted isolation - would that be something interesting to you?
- ianhowson 10y agoHere's one I made earlier: https://rnotebook.io https://rnotebook.io Unauthenticated, sandboxed notebooks in Docker containers. There are various limits. If you manage to break it, please let me know! (Regret incoming in 3... 2...)
- carreau 10y agoYou should get in contact with the mybinder.org crowd, they are low on manpower and are still looking for improvements.
- williamstein 10y agohttps://cloud.sagemath.com https://cloud.sagemath.com deploys Jupyter into a multi-user environment. It's used by hundreds of courses for teaching across the world. Our Jupyter deployment also supports realtime synchronization (multiple people editing at once like Google docs) and recording of the complete history of the document. I've also spent the last few weeks on a complete rewrite of Jupyter from scratch using React to provide more robust realtime sync support, faster startup, and better integration with the rest of our platform; this rewrite is of course not live yet.
- sandGorgon 10y agoThis is incredible. I have been wondering what a react port of jupyter would look like. Is this opensource ? Any learning from multi-user deployment ? We are trying to do this internally inside our company and jupyter hub is a little hard to grok. I know of a lot of people who would pay for a faster jupyter that can also be run as a standalone dashboard/script - without the heavy duty interactive kernels. Basically reduce the prototype-deploy loop. Check some of the comments here - https://news.ycombinator.com/item?id=14033129 https://news.ycombinator.com/item?id=14033129
- hasch 10y agoYes, that jupyter+react implementation will be open source. It's not clear though how the feature parity will be. At least the document is exactly the same.
- zeptomu 10y agoI know sage math - in fact it was the first platform I found many years ago that provided an open alternative to Maple and Mathematica back in the days when Jupyter was still in its infancy. It convinced me that there really exist viable open alternatives to the proprietary closed systems and I am extremely thankful for your efforts - I will definitely check out sagemathcloud.
- lacksconfidence 10y agohttps://paws.wmflabs.org/paws/hub/login https://paws.wmflabs.org/paws/hub/login is available to anyone with a wikimedia account
- int_19h 10y ago> accessing Jupyter is technically similar to allowing full shell-access and you have to deal with local privilege escalation Some form of isolation - be it containers, or jails, or VMs - is going to be part of any solution precisely because of this. I would actually dare say that FreeBSD jails are probably the best (most stable and secure) candidate of those available currently.