{"id":13479884,"url":"https://github.com/NilsIrl/dockerc","last_synced_at":"2025-03-27T10:30:51.402Z","repository":{"id":223153595,"uuid":"759159073","full_name":"NilsIrl/dockerc","owner":"NilsIrl","description":"container image to single executable compiler","archived":false,"fork":false,"pushed_at":"2025-01-02T03:13:33.000Z","size":23678,"stargazers_count":4354,"open_issues_count":25,"forks_count":87,"subscribers_count":15,"default_branch":"trunk","last_synced_at":"2025-03-26T22:03:56.592Z","etag":null,"topics":["containers","docker","oci","oci-image"],"latest_commit_sha":null,"homepage":"","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NilsIrl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-17T20:07:31.000Z","updated_at":"2025-03-26T04:51:08.000Z","dependencies_parsed_at":"2024-06-09T00:01:59.969Z","dependency_job_id":"4ab76023-a030-4184-b4d4-0a7ca3a44d3f","html_url":"https://github.com/NilsIrl/dockerc","commit_stats":null,"previous_names":["nilsirl/dockerc"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilsIrl%2Fdockerc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilsIrl%2Fdockerc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilsIrl%2Fdockerc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilsIrl%2Fdockerc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NilsIrl","download_url":"https://codeload.github.com/NilsIrl/dockerc/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245826731,"owners_count":20678849,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containers","docker","oci","oci-image"],"created_at":"2024-07-31T16:02:24.793Z","updated_at":"2025-03-27T10:30:51.384Z","avatar_url":"https://github.com/NilsIrl.png","language":"Zig","readme":"# dockerc - compile docker images to standalone portable binaries\n\nNo more [![Tweet](./assets/post.png)][4]\n\nNo more `docker run`, no more `pip install`, no more `npm i`, just give your users executables they can run!\n\n\n## Usage\n\nInstall dockerc from the [latest release](https://github.com/NilsIrl/dockerc/releases).\n\n\n```\n# Image from docker hub\n$ dockerc --image docker://oven/bun --output bun\n# Image in local docker daemon storage\n$ dockerc --image docker-daemon:mysherlock-image:latest --output sherlock_bin\n# Specify target instruction set architecture\n$ dockerc --image docker://hello-world --arch arm64 --output hello\n```\n\nThe output binary can then be called as you would with usual binaries. You can\nalso specify `-e`, and `-v` in the same way you would when using `docker run`.\nNetworked services running inside the container can be accessed directly without\nhaving to specify `-p`.\n\nSkopeo is used for loading images, for other locations refer to [its documentation][1].\n\n## Build from source\n\nPlease note that this project uses Git submodules. If you clone this repository, you may need to run the following commands to initialize and update the submodules:\n\n```\n$ git submodule init\n$ git submodule update\n```\n\nThis will ensure that you download and update all relevant submodule contents.\n\ndockerc uses a patched version of the zig compiler than can be found on the\n[nils-dockerc-version branch][5] of the NilsIrl/zig repository. There is an\n[open PR][6] for the patch to be included in upstream zig.\n\nTo compile dockerc use the following commands:\n\n```\n$ zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-linux-musl\n$ zig build -Doptimize=ReleaseSafe -Dtarget=aarch64-linux-musl\n```\n\n## Features\n\n- [X] Compile docker images into portable binaries\n- [X] Rootless containers\n- [ ] MacOS and Windows support (using QEMU)\n- [X] x86_64 support\n- [X] arm64 support\n- [X] Supports arguments\n- [X] [Supports specifying environment variables using `-e`][2]\n- [X] [Supports specifying volumes using `-v`][3]\n- [ ] Support other [arguments][0]...\n\n[0]: https://docs.docker.com/engine/reference/commandline/container_run/\n[1]: https://github.com/containers/skopeo/blob/main/docs/skopeo.1.md#image-names\n[2]: https://docs.docker.com/reference/cli/docker/container/run/#env\n[3]: https://docs.docker.com/reference/cli/docker/container/run/#volume\n[4]: https://www.reddit.com/r/github/comments/1at9br4/i_am_new_to_github_and_i_have_lots_to_say/\n[5]: https://github.com/NilsIrl/zig/tree/nils-dockerc-version\n[6]: https://github.com/ziglang/zig/pull/21092\n","funding_links":[],"categories":["Zig","Fundamentals","docker"],"sub_categories":["Utility"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNilsIrl%2Fdockerc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNilsIrl%2Fdockerc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNilsIrl%2Fdockerc/lists"}