diff --git a/roles/jupyter/tasks/jupyter.yml b/roles/jupyter/tasks/jupyter.yml
index 41903e68b5cb51773187976d7a1cdb1e6c666bde..edba243db3e9d9283ed882acdd4c43f0830f75f9 100644
--- a/roles/jupyter/tasks/jupyter.yml
+++ b/roles/jupyter/tasks/jupyter.yml
@@ -72,7 +72,10 @@
       c.DockerSpawner.notebook_dir = '/home/jovyan/work'
       # This creates a volume for each user to store their notebooks. As an alternative,
       # we could bind-mount local filesystem paths (but something must create them first).
-      c.DockerSpawner.volumes = {'jupyterhub-user-{username}': '/home/jovyan/work'}
+      c.DockerSpawner.volumes = {
+        'jupyterhub-user-{username}': '/home/jovyan/work'
+        'jupyterhub-shared': '/home/jovyan/work/shared'
+      }
       c.DockerSpawner.network_name = 'jupyter'
       c.DockerSpawner.image = 'registry.git.autistici.org/ula/images/jupyter-notebook:main'
       c.DockerSpawner.remove = True