Singularity is available on Viking.  Due to security issues it is not possible to build containers on Viking.  We have detailed below some alternative options.

To load Singularity on Viking run

module load tools/Singularity/3.5.3

Using the remote Builder (recommended).

You will need to create an account here

There are two ways to remote build.  You can upload or write the recipes on the main page.  Or you can build remotely using the following commands on Viking.  Below we can use an example to test the remote builder.

singularity build --remote hello-world.simg shub://vsoch/hello-world

At this point you will need to set up an API token if you have not already.  You should see this error

FATAL:   Unable to submit build job: no authentication token, log in with `singularity remote login`

To setup an API token.  Login to the remote builder webpage here.  On the main page click access tokens in the top right corner.

Once there create an access token.

On Viking run

singularity remote login

Paste the API token when requested.

Test by running

singularity build --remote hello-world.simg shub://vsoch/hello-world

Be aware that you only have an 11GB quota on Sylabs Cloud.

Installing Singularity on your local system

If you are running Linux and would like to install Singularity locally on your system, Singularity provide the free, open source Singularity Community Edition. You will need to install various dependencies on your system and then build Singularity from source code.

If you have Linux systems knowledge and would like to attempt a local install of Singularity, you can find details in the file within the Singularity repository that explains how to install the prerequisites and build and install the software. Singularity is written in the Go programming language and Go is the main dependency that you’ll need to install on your system. The process of installing Go and any other requirements is detailed in the file.

If you do not have access to a Linux system where you can build and install Singularity but you have administrative privileges on another system, you could look at installing a virtualisation tool such as VirtualBox on which you could run a Linux Virtual Machine (VM) image. Within the Linux VM image, you will be able to install Singularity.

If you have a Mac system, you can also try the beta release of Singularity Desktop for macOS.

  • No labels