Skip to content

NIH-HPC/singularity-def-files

Repository files navigation

NIH HPC Singularity Definition Files

These definition files and wrapper scripts are used by the NIH HPC (Biowulf) staff to install containerized applications using Singularity. Each app is installed in a self-contained directory and access to the app is controlled through a module system (Lmod). This strategy allows users to transparently access apps that are installed within containers as though they were installed directly on the host system. More details can be found here.

Typically, apps are installed under in a directory structure like so:

$ tree appname/ver
appname/ver
|-- bin
|   |-- cmd1 -> ../libexec/wrapper.sh
|   |-- cmd2 -> ../libexec/wrapper.sh
|   `-- cmd3 -> ../libexec/wrapper.sh
`-- libexec
    |-- app.sif
    `-- wrapper.sh

Because wrapper.sh is written to be introspective, any command symlinked to it will be carried through and executed within the associated container. The wrapper script is also sufficiently generic that it can be reused across apps with little or no modification.

Each app has its own README.md that contains:

  • a link to the NIH HPC app page or developer's documentation
  • a list of symlinks that should be created to the wrapper script to expose executables within the container
  • any app specific installation notes

Finally, please note that these definition files are not guaranteed to reproduce the same container, or even to produce any container at all. The internet, upon which these definition files are based, is subject to change without notice. These definition files are therefore intended to be treated as (potentially) helpful suggestions.

About

definition files and wrapper scripts used by NIH HPC staff to install user-facing apps on the Biowulf cluster

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages