Jupyterhub: Share notebooks and data access between jupyterhub users

Created on 20 Feb 2017  路  4Comments  路  Source: jupyterhub/jupyterhub

I have a system with an increasing number of users analysing huge amounts of file based data within a set of jupyter notebooks. The data is located in the users home directories and is tracked with an Postgresql database, which basically acts as a global file system index for our data structure. Now the users want to collaborate and share their notebooks and data without the need of duplicating the data.

On the file system level we plan to use access control lists and within the database we want to use row based policies[1]. Finally this solution should be integrated within the jupyterhub environment.

The questions:

  • Are there any approaches in the direction of sharing notebooks with other users on the same jupyterhub server? Or are there plans to develop something similar?
  • Where can I integrate such a sharing feature? I thought about the control panel page, but most likely it would be more intuitive for the user to just select a folder in the file browser and then be able to share this specific folder with other users - so this would be a jupyter extension.
  • In the long term it would be interesting to mark these folders in a different color and maybe even have an notification or at least a summary page of projects shared with the current user.
question reference

Most helpful comment

I see a simple way to share notebooks that create a soft link for other users
e.g.: ln -s /home/user_1/sharefolder /home/user_2/sharefolder
all files in the user_1 folder will be shared to user_2

All 4 comments

Are there any approaches in the direction of sharing notebooks with other users on the same jupyterhub server? Or are there plans to develop something similar?

Yes, hubshare is aiming for something along those lines, but it's still in planning stages.

Where can I integrate such a sharing feature?

services would be the place to start. JupyterHub has facilities for building and integrating additional web services for doing this kind of thing.

In the long term it would be interesting to mark these folders in a different color and maybe even have an notification or at least a summary page of projects shared with the current user.

This could be provided at the single-user server level as a custom ContentsManager (the object that handles talking to storage) and a javascript extension for rendering the extra info.

Thanks @kwotuveang3k4bk for the feedback and @minrk for the responses.

I'm going to go ahead and close this issue as resolved, but I'm going to tag as reference.

I see a simple way to share notebooks that create a soft link for other users
e.g.: ln -s /home/user_1/sharefolder /home/user_2/sharefolder
all files in the user_1 folder will be shared to user_2

I am planning to try and created a shared folder owned by the usergroup and symlink it into every user's home directory; I don't know if this makes sense but I cannot see why this shouldn't work if the permissions are set correctly.

Was this page helpful?
0 / 5 - 0 ratings