{"id":15754874,"url":"https://github.com/gregdhill/ipfs-oci","last_synced_at":"2026-03-10T20:32:22.270Z","repository":{"id":109211602,"uuid":"186500359","full_name":"gregdhill/ipfs-oci","owner":"gregdhill","description":"OCI \u003c-\u003e IPFS","archived":false,"fork":false,"pushed_at":"2019-06-12T09:01:35.000Z","size":522,"stargazers_count":8,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-19T02:55:09.194Z","etag":null,"topics":["docker","ipfs","oci-image"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gregdhill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-05-13T21:48:46.000Z","updated_at":"2024-09-11T13:16:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9fccca7-c1e7-4f99-8812-bc47673b47c3","html_url":"https://github.com/gregdhill/ipfs-oci","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gregdhill/ipfs-oci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregdhill%2Fipfs-oci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregdhill%2Fipfs-oci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregdhill%2Fipfs-oci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregdhill%2Fipfs-oci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gregdhill","download_url":"https://codeload.github.com/gregdhill/ipfs-oci/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregdhill%2Fipfs-oci/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30352877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","ipfs","oci-image"],"created_at":"2024-10-04T08:05:24.468Z","updated_at":"2026-03-10T20:32:22.213Z","avatar_url":"https://github.com/gregdhill.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gantry\n\nMove container images to and from [IPFS](https://ipfs.io/).\n\n\u003e A container crane (also container handling gantry crane or ship-to-shore crane) is a type of large dockside gantry crane found at container terminals for loading and unloading intermodal containers from container ships.\n\nAlso...\n\n\u003e A tall framework supporting a space rocket prior to launching.\n\nThe [Open Container Initiative](https://www.opencontainers.org/) currently maintains specifications for [images](https://github.com/opencontainers/image-spec)\nand [runtimes](https://github.com/opencontainers/runtime-spec) which have been implemented by the [containers organization](https://github.com/containers) - \nspecifically libraries such as [this](https://github.com/containers/storage) and tools such as [Buildah](https://github.com/containers/buildah) and \n[Podman](https://github.com/containers/libpod). Gantry adapts some of these interfaces to further leverage IPFS as a storage backend to host all layers that \ncomprise an image, located at the Content Identifier (CID) of it's manifest. This allows anyone with knowledge of the manifest to pull the whole image from \nanywhere in the world. \n\n![Gantry](./gantry.jpg)\n\n## Getting Started\n\nRequirements:\n - [go-ipfs](https://github.com/ipfs/go-ipfs)\n - [buildah](https://github.com/containers/buildah)\n\nDownload any image to your local store:\n\n```bash\nbuildah from alpine\n```\n\nThe only way to publish an image is to run a local IPFS node.\nYou can then push the image to your local repo, and clear the local image store:\n\n```bash\nimage=$(gantry push -o alpine)\nbuildah rmi --all\n```\n\nFinally, re-download the image from IPFS and check it exists:\n\n```bash\ngantry pull -o $image -t alpine\nbuildah images\n```\n\n## Troubleshooting\n\nYou may need to enable user namespace cloning in the kernel:\n\n```bash\nsysctl -w kernel.unprivileged_userns_clone=1\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregdhill%2Fipfs-oci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgregdhill%2Fipfs-oci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregdhill%2Fipfs-oci/lists"}