jupyter / jupyter/docker-stacks
Support a workflow for extending the base environment in a reproducible fashion
- Dominant language
- Python
- Stars
- 8.5k
- Forks
- 3k
- Avg merge
- 20h 6m
- Merged PRs (30d)
- 9
Description
### What docker image(s) is this feature applicable to?
minimal-notebook
### What change(s) are you proposing?
Currently, the `base` conda environment is not extensible in a reproducible fashion. Users who need to install additional packages in it have no good workflow for e.g. maintaining a conda-lock lockfile for a custom `base` env that has as one input file the packages that their docker-stacks base image installs in it, and has another input file containing their additional customizations.
### How does this affect the user?
Users have to suffer with longer Docker build times due to not being able to bypass the solver (shout out to https://github.com/conda/conda/issues/8372 defeating https://conda.github.io/conda-lock/pip/ and https://conda.github.io/conda-lock/output/#explicit-lockfile) and builds that may create a non-reproducible `base` env.
### Anything else?
Thanks for maintaining docker-stacks!
Contributor guide
Research direction
Start with the minimal-notebook image's build inputs and the workflow for its base conda environment; the issue does not name specific files or tests. Establish how a custom base environment can consume the image's packages and user additions reproducibly, with lockfile-based builds that avoid unnecessary solver work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- build-system, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100