Migrating From Singularity
Since the community decided to move the project into the Linux Foundation with the constraint of a name change to the project, it has been a goal of the project to minimize the impact to the user base. If you experience issues making the move, please reach out to the community so we can help you!
When migrating to Apptainer from Singularity, Administrators that have modified the system configurations of their installation and want Apptainer to have identical configuration will need to migrate the configurations they have in place for Singularity to Apptainer either manually or with configuration management tools.
All system configuration files are typically located in
/usr/local/etc/singularity when installed from a RPM/Deb package or source
respectively, but options passed during source installations could cause this to
be in another location. Apptainer will store its configurations in similar
locations, but within a directory named
apptainer directory instead of
All system configuration names, file formats, and parameters for Apptainer are
identical to their Singularity counterparts with the exception of
singularity.conf, which has been renamed to
apptainer.conf as a part of
the project renaming. It is important to note that comments within some of the
configuration files have been changed with the rename as well. So, while you can
copy files around, we recommend applying the same configuration changes to
the new files instead of simply copying contents.
Take care to not wipe out all configuration in the Apptainer config directory as a part of your migration because it will remove configuration files that are new to the project like configurations for checkpointing
If you are migrating from an installation with default configuration, you do not need to perform any configuration migration as Apptainer defaults have not been changed.
singularity configuration directory at the prefix corresponding to
apptainer configuration directory (e.g.
/usr/local/etc/singularity) needs to be removed to prevent Apptainer
from producing a warning at runtime about the migration being incomplete.
However, a big change from Singularity is that Apptainer does not install a setuid-root component by default. That means that either user namespaces needs to be enabled or the setuid-root component needs to be installed separately. See the User Namespaces & Fakeroot section or to find out about how to install the setuid-root component see the Installation section.
Also see the user guide documentation about Singularity compatibility for information about how the migration to Apptainer will impact users.