galaxyproject / galaxyproject/galaxy
Auto-init Apptainer and use it for tool dependency resolution
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 1.2k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 158
Description
The current default config initializes (installs) and uses Conda for dependencies. I believe we are at the point with our container build and distribution architecture that we should be preferring containers instead. This should generally be faster, more reliable, and more reproducible, as well. Apptainer has made great strides in [unprivileged, unpackaged, relocatable, non-setuid installation](https://apptainer.org/docs/admin/1.4/installation.html#install-unprivileged-from-pre-built-binaries), so it would be trivial to get a working Apptainer binary on a fresh install.
For this to work nicely, the `cached_mulled_singularity` resolver ought to be able to fetch from a URL, i.e. https://depot.galaxyproject.org/singularity. As things exist right now your options are to mount CVMFS or convert images from docker (with or without caching).
I guess the caveat is that this only applies to Linux - on macOS or WSL we probably want different defaults.
Contributor guide
Assessment
This issue has not been assessed yet.