In order to distribute the Singularity image among different users, there should be an option to explicitly run the %runscript section of the elephant.def description file that copies the content of /var to the users .elephant_binds folder.
Right now this is only done in the make singularity-build option:
singularity-build:
singularity build --fakeroot elephant.sif elephant.def
singularity run --fakeroot elephant.sif
However, if the image is already available, the user (one that hasn't run the build) executes the "make singularity-launch" instruction which lacks the runscript setup. If the runscript section is not executed, the user will be missing the .elephant_binds content and thus the server services (e.g.: RabbitMQ) fail to start.
I'd suggest adding another option in the Makefile such as "make singularity-setup" that explicitly runs the runscript section
In order to distribute the Singularity image among different users, there should be an option to explicitly run the %runscript section of the elephant.def description file that copies the content of /var to the users .elephant_binds folder.
Right now this is only done in the make singularity-build option:
However, if the image is already available, the user (one that hasn't run the build) executes the "make singularity-launch" instruction which lacks the runscript setup. If the runscript section is not executed, the user will be missing the .elephant_binds content and thus the server services (e.g.: RabbitMQ) fail to start.
I'd suggest adding another option in the Makefile such as "make singularity-setup" that explicitly runs the runscript section