ncar-xdev / repo2apptainer Goto Github PK
View Code? Open in Web Editor NEWRepo2apptainer: Wrapper around repo2docker producing Jupyter enabled Apptainer/Singularity images.
License: BSD 3-Clause "New" or "Revised" License
Repo2apptainer: Wrapper around repo2docker producing Jupyter enabled Apptainer/Singularity images.
License: BSD 3-Clause "New" or "Revised" License
Currrently, repo2singularity
relies on repo2docker
to create a docker image that repo2singularity
converts into a singularity image file (SIF). I was thinking that we could use the output of repo2docker --no-build
to generate a singularity definition file. This would allows us to bypass the intermediary step of creating a docker image.
$ jupyter-repo2docker --no-build --debug --ref 9ced85dd9a84859d0767369e58f33912a214a3cf https://github.com/norvig/pytudes 2> dockerfile.tmp
$ sed -n -e '/FROM/,$p' dockerfile.tmp > Dockerfile
$ spython recipe Dockerfile >> Singularity
$ sudo singularity build myimage.sif Singularity
Or build the singularity container on a remote builder (https://cloud.sylabs.io/builder) (does not require sudo)
singularity --remote build myimage.sif Singularity
Unfortunately, as it is pointed out in the documentation, this output is present for debugging purposes only :(. There are things that are hard coded because they are being copied from the local environment. So, this option of bypassing docker images seems to be out of scope for repo2singularity
. I am just opening this issue for future reference.
Xref:
This is an awesome project!
Recently, @manics has done a lot of work in allowing alternative backends to repo2docker. https://github.com/manics/repo2podman is the canonical second implementation, using podman. Would love for this to also use that interface, and fix issues we need to upstream.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.