Computing : gitlab as a singularity registry

Using docker images

Singularity images have certain advantages, but singularity can handle docker images, so if your application is container-agnostic you can just use the docker registry, for example:

singularity shell -e docker://gitlab.desy.de:5555/frank.schluenzen/crystfel:master


Using singularity images with gitlab

The workaround via build artifacts is not needed anymore with apptainer and the OCI compatibility of Gitlab's Container Registry. [Docs](https://docs.gitlab.com/ee/user/packages/container_registry/#supported-image-types).
The following example uses a project access token with maximal scope and a definition file provided by ILL.

singularity remote login --username user.name --password $TOKEN oras://gitlab.desy.de:5555/user.name/sif-reg
singularity build fiji.sif fiji.def
singularity push fiji.sif oras://gitlab.desy.de:5555/user.name/sif-reg/fiji.sif
rm fiji.sif 
singularity shell  oras://gitlab.desy.de:5555/user.name/sif-reg/fiji.sif:latest

Just works and integrates with Gitlab's WebGUI.