An open-source entry in TopGit's GitHub warehouse: containers/crun, 4.2k stars, C. A fast and lightweight fully featured OCI runtime and C library for running containers
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
While most of the tools used in the Linux containers ecosystem are
written in Go, I believe C is a better fit for a lower level tool like a
container runtime. runc, the most used implementation of the OCI runtime
specs written in Go, re-execs itself and use a module written in C for
setting up the environment before the container process starts.
crun aims to be also usable as a library that can be easily included in
programs without requiring an external process for managing OCI
containers.
Performance
crun is faster than runc and has a much lower memory footprint.
This is the elapsed time on my machine for running sequentially 100
containers, the containers run /bin/true:
crun
runc
%
100 /bin/true
0:01.69
0:3.34
-49.4%
crun requires fewer resources, so it is also possible to set stricter
limits on the memory allowed in the container:
# podman --runtime /usr/bin/runc run --rm --memory 4M fedora echo it works
Error: container_linux.go:346: starting container process caused "process_linux.go:327: getting pipe fds for pid 13859 caused \"readlink /proc/13859/fd/0: no such file or directory\"": OCI runtime command not found error
# podman --runtime /usr/bin/crun run --rm --memory 512k fedora echo it works
it works
Note that Tumbleweed requires you to specify libseccomp's header file location
as a compiler flag.
# ./autogen.sh
# ./configure CFLAGS='-I/usr/include/libseccomp'
# make
Build
Unless you are also building the Python bindings, Python is needed only
by libocispec to generate the C parser at build time, it won't be used
afterwards.
Once all the dependencies are installed:
$ ./autogen.sh
$ ./configure
$ make
To install into default PREFIX (/usr/local):
$ sudo make install
Shared Libraries
The previous build instructions do not enable shared libraries, therefore you will be unable to use libcrun. If you wish to build the shared libraries you can change the previous ./configure statement to ./configure --enable-shared.
Static build
It is possible to build a statically linked binary of crun by using the
officially provided
nix
package and the derivation of it within this repository. The
builds are completely reproducible and will create a x86_64/amd64
stripped ELF binary for glibc.
Nix
To build the binaries by locally installing the nix package manager:
No homepage URL was recorded for containers/crun in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How active is development on containers/crun?
The most recent commit recorded on containers/crun was 6 days ago, based on the GitHub push timestamp. The repository has 461 forks — one of the better signals of community interest.
How many stars does containers/crun have?
containers/crun has 4.2k GitHub stars — refresh the page for the live number, or check github.com/containers/crun. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is containers/crun written in?
containers/crun is written primarily in C. GitHub's language field is based on the largest share of bytes in the default branch.
What license does containers/crun use?
containers/crun is released under the GPL-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
What topics is containers/crun associated with?
GitHub's repository topics for containers/crun: "containers", "iot", "iot-cloud", "linux", "oci", "oci-runtime", "runc", "runtime", "wasm-oci". TopGit's editorial category is open-source.
Where do I read more about containers/crun?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/containers/crun is the definitive source.
Read full README in the tab above.
Curious whether crun is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about crun.