🍺 BREW Explorer

← all formulae

crun

brew install crun v1.28 GPL-2.0-or-later OR LGPL-2.1-or-later

Fast, low-memory OCI container runtime and C library for running Linux containers per the OCI specification.

Why you might care

crun is significantly faster and leaner than runc (the Go reference implementation), making it ideal for resource-constrained environments like embedded systems and IoT. Unlike runc, it's written entirely in C and can be embedded as a library without spawning external processes, useful for container orchestrators and tools that need tight integration with OCI runtime semantics.

Categories

Alternatives

runc cri-o containerd
2.1k
30-day installs · #948
13.9k
90-day · #676
49.4k
365-day · #699
4.0k
★ GitHub stars · updated 3d ago

Runtime dependencies

Build dependencies

GitHub topics

containers iot iot-cloud linux oci oci-runtime runc runtime wasm-oci

Links

Blurb generated by claude-haiku-4-5 on today.

Raw metadata
{
  "aliases": [],
  "alternatives": [
    "runc",
    "cri-o",
    "containerd"
  ],
  "build_dependencies": [
    "autoconf",
    "automake",
    "go-md2man",
    "libtool",
    "pkgconf",
    "python@3.14"
  ],
  "categories": [
    "container-runtime",
    "library"
  ],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [
    "json-c",
    "libcap",
    "libseccomp",
    "systemd",
    "yajl"
  ],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Fast and lightweight fully featured OCI runtime and C library",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:36:42+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "crun",
  "github_default_branch": "main",
  "github_last_commit_at": "2026-06-17T09:22:01Z",
  "github_readme_excerpt": "\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/crun.svg\" width=\"450\" height=\"450\"\u003e\n\u003c/p\u003e\n\n[![Coverity Status](https://scan.coverity.com/projects/17787/badge.svg)](https://scan.coverity.com/projects/giuseppe-crun)\n[![CodeQL](https://github.com/containers/crun/workflows/CodeQL/badge.svg)](https://github.com/containers/crun/actions?query=workflow%3ACodeQL)\n\nA fast and low-memory footprint OCI Container Runtime fully written in\nC.\n\ncrun conforms to the OCI Container Runtime specifications\n(\u003chttps://github.com/opencontainers/runtime-spec\u003e).\n\n## Documentation\n\nThe user documentation is available [here](crun.1.md).\n\n## Why another implementation?\n\nWhile most of the tools used in the Linux containers ecosystem are\nwritten in Go, I believe C is a better fit for a lower level tool like a\ncontainer runtime. runc, the most used implementation of the OCI runtime\nspecs written in Go, re-execs itself and use a module written in C for\nsetting up the environment before the container process starts.\n\ncrun aims to be also usable as a library that can be easily included in\nprograms without requiring an external process for managing OCI\ncontainers.\n\n## Performance\n\ncrun is faster than runc and has a much lower memory footprint.\n\nThis is the elapsed time on my machine for running sequentially 100\ncontainers, the containers run `/bin/true`:\n\n|               |    crun |   runc |       % |\n| ------------- | ------: | -----: | ------: |\n| 100 /bin/true | 0:01.69 | 0:3.34 | \\-49.4% |\n\ncrun requires fewer resources, so it is also possible to set stricter\nlimits on the memory allowed in the container:\n\n```console\n# podman --runtime /usr/bin/runc run --rm --memory 4M fedora echo it works\nError: 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\n\n# podman --runtime /usr/bin/crun run --rm --memory 512k fedora echo it works\nit works\n```\n\n## Dependenc",
  "github_repo": "containers/crun",
  "github_stars": 3968,
  "github_topics": [
    "containers",
    "iot",
    "iot-cloud",
    "linux",
    "oci",
    "oci-runtime",
    "runc",
    "runtime",
    "wasm-oci"
  ],
  "homepage": "https://github.com/containers/crun",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 2123,
  "installs_365d": 49376,
  "installs_90d": 13922,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "GPL-2.0-or-later OR LGPL-2.1-or-later",
  "llm_generated_at": "2026-06-20T23:48:02+00:00",
  "llm_model": "claude-haiku-4-5",
  "name": "crun",
  "oldnames": [],
  "one_liner": "Fast, low-memory OCI container runtime and C library for running Linux containers per the OCI specification.",
  "optional_dependencies": [],
  "rank_30d": 948,
  "rank_365d": 699,
  "rank_90d": 676,
  "raw_hash": "6144a9440b2b09e4",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/c/crun.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": null,
  "version_stable": "1.28",
  "versioned_formulae": [],
  "why_use_this": "crun is significantly faster and leaner than runc (the Go reference implementation), making it ideal for resource-constrained environments like embedded systems and IoT. Unlike runc, it\u0027s written entirely in C and can be embedded as a library without spawning external processes, useful for container orchestrators and tools that need tight integration with OCI runtime semantics."
}