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 /etc/singularity or /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 singularity.

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.

Warning

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.

Note

The singularity configuration directory at the prefix corresponding to your apptainer configuration directory (e.g. /etc/singularity or /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.