mirror of
https://github.com/jupyterhub/the-littlest-jupyterhub.git
synced 2025-12-18 21:54:05 +08:00
60 lines
2.0 KiB
ReStructuredText
60 lines
2.0 KiB
ReStructuredText
|
|
.. _howto/share-data:
|
||
|
|
|
||
|
|
==========================
|
||
|
|
Share data with your users
|
||
|
|
==========================
|
||
|
|
|
||
|
|
There are a few options for sharing data with your users, this page covers
|
||
|
|
a few useful patterns.
|
||
|
|
|
||
|
|
Distributing data with `nbgitpuller`
|
||
|
|
====================================
|
||
|
|
|
||
|
|
For small datasets, the simplest way to share data with your users is via
|
||
|
|
``nbgitpuller`` links. In this case, users click on your link and the dataset
|
||
|
|
contained in the link's target repository is downloaded to the user's home
|
||
|
|
directory. Note that a copy of the dataset will be made for each user.
|
||
|
|
|
||
|
|
For information on creating and sharing ``nbgitpuller`` links, see
|
||
|
|
:ref:`_tutorials/nbgitpuller`.
|
||
|
|
|
||
|
|
Distributing data with a read-only shared folder
|
||
|
|
================================================
|
||
|
|
|
||
|
|
If your data is large or you don't want copies of it to exist, you can create
|
||
|
|
a read-only shared folder that users have access to. To do this, follow these
|
||
|
|
steps:
|
||
|
|
|
||
|
|
#. Log in to your JupyterHub as an **administrator user**.
|
||
|
|
#. Create a terminal session within your JupyterHub interface.
|
||
|
|
#. Create a folder where your data will live:
|
||
|
|
|
||
|
|
```
|
||
|
|
mkdir /srv/data/mydatafolder
|
||
|
|
```
|
||
|
|
#. Download the data into this folder. For example, using `curl` or by running
|
||
|
|
a `python` script that downloads the data.
|
||
|
|
|
||
|
|
#. All users now have read access to the data in this folder.
|
||
|
|
|
||
|
|
Optionally, you may also **create a symbolic link to the data folder** in each
|
||
|
|
new user's home directory. To do this, you can use the VM's "skeleton"
|
||
|
|
directory (`/etc/skel`). Anything that is placed in this directory will also
|
||
|
|
show up in a new user's home directory. To create a link to the dataset,
|
||
|
|
follow these steps:
|
||
|
|
|
||
|
|
#. Change into the skeleton directory:
|
||
|
|
|
||
|
|
```
|
||
|
|
cd /etc/skel
|
||
|
|
```
|
||
|
|
#. Create a symbolic link to the data folder
|
||
|
|
|
||
|
|
```
|
||
|
|
ln -s /src/data/mydatafolder mydatafolder
|
||
|
|
```
|
||
|
|
|
||
|
|
From now on, when a new user account is created, their home directory will
|
||
|
|
have this symbolic link (and any other files in `/etc/skel`) in their home
|
||
|
|
directory.
|