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.