Jupyterhub/singleuser shared volume

I’m trying to setup a Jupyterhub server on Ubuntu 16.04, much along the lines of https://github.com/minrk/jupyterhub-demo.

I changed the jupyterhub_config.py to support persistent storage using the tips given here https://github.com/jupyterhub/dockerspawner#data-persistence-and-dockerspawner:

  • What is the difference between using Docker Machine with Swarm and using Swarm through the Docker daemon?
  • insufficient_scope error with docker registry v2 and curl
  • Install yarn in a docker container says missing dependency
  • Docker container with Angular2 app and NodeJs does not respond
  • Get Docker Container Names
  • “docker run swarm create” failed with error “503 Service Unavailable”
  • notebook_dir = os.environ.get('DOCKER_NOTEBOOK_DIR') or '/home/jovyan/work'
    c.DockerSpawner.notebook_dir = notebook_dir
    c.DockerSpawner.volumes = { 'jupyterhub-user-{username}': notebook_dir }
    

    However, I would like to add a shared “team” volume for teams of users. I have a dictionary with usernames (keys) and teamnames (values) to map users to teams.

    Ideally I would state something like:

    c.DockerSpawner.volumes = { 
        'jupyterhub-user-{username}': notebook_dir, 
        'jupyterhub-team-{teamname}': os.path.join(notebook_dir, 'shared' 
    }
    

    But I have no clue as to how to pass another {name} mapping to dockerspawner.

    I tried fiddling with these, but so far to no avail:

    c.DockerSpawner. ...
    extra_create_kwargs = Dict(config=True, help="Additional args to pass for container create")
    extra_start_kwargs = Dict(config=True, help="Additional args to pass for container start")
    extra_host_config = Dict(config=True, help="Additional args to create_host_config for container create")
    

    Any ideas?

    P.S.: This question is somewhat related to Shared, writable folders in jupyterhub

  • Populating Docker containers with sensitive information using kubernetes
  • Unable to start docker container from arquillian cube on windows 10
  • Having a custom catalina.sh when using a tomcat image from Docker
  • Custom nginx container exits immediately when part of docker-compose
  • Salt: 'dockerng' __virtual__ returned False
  • How can I access internet in docker build?
  • Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.