Singularity User Guide

Welcome to the Singularity User Guide!

This guide aims to give an introduction to Singularity, brief installation instructions, and cover topics relevant to users building and running containers.

For a detailed guide to installation and configuration, please see the separate Admin Guide for this version of Singularity at https://singularity.hpcng.org/admin-docs/3.8.

Getting Started & Background Information

Building Containers

Learn how to write a definition file that can be used to build a container. Understand the environment within a build, how to perform remote builds, and how to use the --fakeroot feature to build as a non-root user.

Container Signing & Encryption

Singularity allows containers to be signed using a PGP key. The signature travels with the container image, allowing you to verify that the image is unmodified at any time. Encryption of containers using LUKS2 is also supported. Encrypted containers can be run without decrypting them to disk first.

Sharing & Online Services

Advanced Usage

Once you’ve understood the basics, explore all the options which Singularity provides for accessing data, running persistent services in containers, manipulating the container environment, and applying networking and security configuration.

Compatibility

Singularity has unique benefits and supports easy access to GPUs and other hardware. It also strives for compatibility with Docker/OCI container formats. Understand the differences between Singularity and Docker, as well as how to use containerized MPI and GPU applications.

Get Involved

We’d love you to get involved in the Singularity community! Whether through contributing feature and fixes, helping to answer questions from other users, or simply testing new releases.

Reference