singularityhub / shpc-registry

A remote registry for Singularity Registry HPC 🖊️
https://singularityhub.github.io/shpc-registry/
Mozilla Public License 2.0
13 stars 18 forks source link

[Feature request] To allow the use of local containers #113

Open dipietrantonio opened 1 year ago

dipietrantonio commented 1 year ago

Hi, I would like to create a container module from a container I have developed that is unavailable on Docker Hub. It would be great for SHPC to allow pulling containers from a local path. I could not find this feature documented so I assume it does not exist. If this is already supported, would you point me to the relevant bit of the documentation?

Thank you!

EDIT: I have just realised I have opened this issue in the wrong repo, shpc-registry instead of shpc. Sorry for the confusion :)

vsoch commented 1 year ago

No worries! To install from a local container you likely want to use shpc add. Check out the docs here and let me know if you have questions - but I’m going to bed so likely will respond tomorrow!

https://singularity-hpc.readthedocs.io/en/latest/getting_started/user-guide.html#add

dipietrantonio commented 1 year ago

Hi @vsoch , that is exactly what I would like to do. What I do not understand is how to specify the location on the local filesystem. For containers on DockerHub we have the docker keyword. What keyword should I add at the top to point to the local container? It would be nice to have it specified in the generated container.yaml.

vsoch commented 1 year ago

The instructions are in the documentation I linked for how to use add. When you specify the path with it, it will be moved into your registry.

dipietrantonio commented 1 year ago

After investigating a bit and mostly thanks to @marcodelapierre I managed to figure out what was happening for me. Bear with me while I explain. I indeed followed the instructions in your documentation but when I opened the generated recipe I was a bit puzzled about not finding a reference to the full path I passed as an argument at the top. Just now I realise what you were referring to when you said " it will be moved into your registry". You meant the container image is copied! Indeed, looking at the last uncommented lines, we have a path property pointing to a sif file (with a mangled name).

I had not understood that also due to my inexperience with the software. I suggest extending the documentation with one sentence on how the container file is copied within the registry together with the recipe. Otherwise, I (and possibly others) would expect the recipe to point to the original sif, in a similar way we point to a container hosted online on DockerHub.

Thanks for the amazing software and hope this feedback has been useful to you!

vsoch commented 1 year ago

Definitely! Would you care to open a PR to tweak the docs with this extra line that would have made it easier for you to understand?