Skip to content
This repository has been archived by the owner on Jun 21, 2021. It is now read-only.

yuvipanda/repo2charliecloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

repo2charliecloud

Wrapper around repo2docker producing charliecloud compatible tarballs

What is repo2docker?

repo2docker takes a repository as input, and applies some heuristics to build a docker image that runs from it. It doesn't require a Dockerfile - instead it looks for language standard files (such as requirements.txt, environment.yml, REQUIRE, etc) and automatically sets up appropriate environment for it. It has built in support for Python, R, Julia, NixOS, etc.

The popular mybinder.org services uses repo2docker to build images and launch them interactively for users. Click the link below to try out a sample

Binder

What is Charliecloud?

Charliecloud is a lightweight container runtime targeted at HPC systems. It is an open source project from the Los Alamos National Lab>

What is repo2charliecloud?

It's a wrapper around repo2docker that produces tarballs that can be run by charliecloud.

Demo

Building the container image

Building images still requires docker, so you'd do it on your laptop.

asciicast

Running the container image

Running the image doesn't require docker, and has very minimal dependencies.

asciicast

Installation

You can install repo2charliecloud with:

pip install repo2charliecloud

This will automatically install charliecloud with the charliecloud-bin project.

Usage

Once installed, it can be invoked with

repo2charliecloud <git-url> --ref <optional-ref>

<git-url> is the required parameter, and should point to a cloneable git repository. Local directories are also supported, and we can support non-git local directories.

--ref points to an optional git ref to build. It defaults to master but you can specify a branch, tag or commit hash for better reproducibility.

Running this will output a .tar.gz file in the current directory.

You can then transfer, unpack and run the image as you would any other image with charliecloud.

What's next?

Lots, but first this needs a few more Weird Al references.

About

Wrapper around repo2docker producing charliecloud compatible tarballs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages