-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add profile for Charliecloud container engine to template #824
Comments
Sounds all good to me. Multiple environments are normally not an issue I guess. Most people will not be affected by this, though it might make sense to also provide CI tests for running with CharlieCloud then at some point. Something we should also do with podman, which is supported since a while now too... Multiple environments = meaning in the same docker image or per process having different ones? |
Both actually, we need to pass every location that contains dependencies to the container. For biocontainers, it is much easier because their environment is always installed to |
We do have multiple Dockerfile for specific processes in Sarek, but they do contain annotation database, which we can't get in conda, so path should still be the same actually. |
Thanks for the clarification @phue :-) |
But aren't there specific conda environments in the containers for Therefore, running Sarek with Charliecloud would require this config:
|
I've been toying around with this, for podman it should be piece of cake as the Github Actions Runner has it installed. So I guess we just need to add a
For
Should be similar for |
All sounds good - only comment would be that all other container engines have profiles in the main pipeline template, instead of in nf-core/configs. I wonder if we should wait for this to be in a stable Nextflow release and then do the same? Whilst we're at it, might also be worth implementing Shifter? Then I think we have explicit support for all container engines supported by Nextflow.. |
The idea is to add the profile to each pipeline repo in an upcoming template sync, see #826
Agreed, I think it will land in
This is probably a oneliner, we just need to find somebody with access to a shifter system to test it |
as suggested by @ewels in nf-core#824 (comment)
Thanks for supporting Charliecloud! Project lead here. Please let us know how we can help make your job easier; we've merged many changes over time that help packagers. FWIW, we do now support |
Thanks for reaching out @reidpr ! |
Charliecloud is an alternative container engine that runs completely in user space.
Nextflow supports it since v20.12.0-edge, thus it would also be a useful addition to nf-core, as some research institutions do not allow singularity because of strict security policies.
My proposal would be to add
conf/charliecloud.config
with the following content to the template:Note that the
env
part is necessary because Charliecloud does not honorENV
layers in Docker containers, meaning the path to the conda env within the docker container has to be passed to the container explicitly.This should work for most pipelines. Unfortunately, for pipelines that have multiple environments, the PATH would need to be appended manually in the respective pipeline repository.
Once all nf-core pipelines use biocontainers this can be simplified to:
The text was updated successfully, but these errors were encountered: