Skip to content

Could future Docker Stacks be based on pre-defined Software Packs shared across Jupyter? #2565

Description

@krassowski

What docker image(s) is this feature applicable to?

new community stack

What change(s) are you proposing?

In my possibly naive understanding docker-stacks does two things:

  • provides Docker images optimized for (certain) Jupyter use cases
  • curates the set of software available in those images

Around JupyterLab (jupyterlab-contrib/jupyterlab-contrib.github.io#23) and JupyterLab Desktop (jupyterlab/jupyterlab-desktop#213, jupyterlab/jupyterlab-desktop#1072) we independently arrived at a need to specify the set of software that can be easily installed for the user. However, Docker is not a dependency those applications can expect from the user.

From that an idea of a Jupyter software pack was born. See:

How does this affect the user?

If we used the same set of software packs:

  • a user who relies on docker-stacks in an environment someone provisions to them (e.g. in a JupyterHub deployment provided by their uni) could then install JupyterLab Desktop on their laptop and easily start with a similar set of packages without a need to slowly replicate what they had available in the provisioned environment
  • a user who starts their journey with JupyterLab Desktop could ask the admin to provision a new docker image from docker-stacks after trying a similar set of packages locally

Anything else?

A software pack would be:

  • name
  • description
  • maturity label (e.g. beta)
  • set of packages with pinned ranges
  • a lock file specifying a "known good" set of versions that get tested on CI

As implementation detail, I'm looking at backing this with pixi but this is not something that is central to the idea.

For Desktop users this could show up as:

Image

Or when selecting combinations that are less popular:

Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:EnhancementA proposed enhancement to the docker images

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions