Decentralized Storage

IPDRStoring Docker Images on IPFS

An open-source Docker Registry that stores images on IPFS. Here is what it does, how to set it up on Windows, and who should try it.

Free Open source Windows: Likely v0.1.7 Updated 26 Dec 2022
8 min read Last update 26 Dec 2022 github.com/miguelmota/ipdr

IPDR is an open-source tool that turns IPFS into a Docker Registry, letting developers push and pull container images through a decentralized network instead of a single central server. It is aimed at developers and infrastructure enthusiasts who want to experiment with distributed storage for container workflows, or who simply prefer a registry that does not depend on one provider.

The project is small and fairly specialized. Its latest release is v0.1.7, and the last code update was in late 2022, so it should be treated as an experimental tool rather than a production-grade registry. Its underlying technology, IPFS, is actively developed, which means the building blocks are mature even if this particular wrapper is not.

02

What Is a Decentralized Docker Registry?

A Docker Registry is the service that stores container images and serves them to machines that need to run them. Most registries are centralized: a company or cloud provider hosts the files and controls access to them.

A decentralized registry takes a different approach. Images are split into content-addressed blocks and distributed across a peer-to-peer network. Any node holding a block can serve it, and the address of each block is derived from its content, so tampering is easy to detect.

IPDR is one attempt to bridge these two worlds, letting standard Docker tooling talk to an IPFS-backed store.

03

Who Should Consider IPDR?

IPDR is most relevant to developers who are already familiar with IPFS and Docker and want to explore how container images behave on a content-addressed network. It is also a reasonable choice for researchers studying decentralized infrastructure, or for teams that want a local sandbox to test distribution patterns before committing to a production design.

It is less suitable for teams that need guaranteed uptime, formal support, or a mature ecosystem of access controls. Because the project has not seen code updates since 2022, you should expect to read the source, troubleshoot issues yourself, and possibly patch things you need.

If your goal is simply to share files over IPFS without Docker, a general-purpose IPFS client may serve you better.

04

How Content Addressing Changes Storage

In a traditional registry, an image is identified by a name and tag, such as an application name plus a version label. Those labels can be moved to point at different content, which is one reason image provenance is hard to guarantee.

IPFS identifies data by a Content Identifier (CID), a hash computed from the data itself. If a single byte changes, the CID changes. This makes it much harder to silently swap out a layer, and it lets any node verify that the bytes it received are exactly the bytes that were requested.

For container images this property is attractive, but it also means that updates produce new identifiers and that you need a clear process for mapping human-readable tags to CIDs.

05

Practical Scenarios Where IPDR Fits

Consider a small team that wants to distribute a set of internal tools to developers spread across several offices. Instead of running a central registry that every office must reach over the internet, they could experiment with an IPFS-backed registry so that machines close to each other fetch blocks from one another.

Another scenario is a classroom or workshop. Instructors can demonstrate how container layers are stored and retrieved, using a registry that is easy to inspect and that does not require cloud accounts.

In both cases the value lies in understanding the mechanics rather than in raw performance. Expect experimentation, not a drop-in replacement for enterprise registries.

06

Key features

IPFS-backed registry

IPDR stores image data on the InterPlanetary File System instead of a conventional server disk. Content is addressed by its hash, so the same layer is identified the same way wherever it is stored.

Local IPFS daemon integration

The tool works with a running IPFS daemon on your machine. Once the daemon reports that it is ready, it exposes an API server and a read-only gateway that IPDR can use.

Local hostname mapping

The setup process asks you to map a local hostname, docker.local, in your hosts file so that Docker clients can reach the registry by name on your own computer.

Open source under MIT

The source code is available on GitHub under the permissive MIT license, so you can read it, modify it, or adapt it to your own needs.

Written in Go

The project is built with Go, which compiles to standalone binaries and keeps the runtime footprint relatively small.
07

How to install IPDR on Windows

  1. 1

    Install and start IPFS

    Install an IPFS implementation on your Windows machine. The most common choice is Kubo, the reference IPFS node, which you can download from the official IPFS website or from its GitHub Releases page. Download only from the official website or the official GitHub repository. After installing, initialize the repository and start the daemon with the command ipfs daemon. Leave the window open while IPDR is running.

  2. 2

    Get IPDR

    Obtain IPDR from its GitHub repository at github.com/miguelmota/ipdr. Open the Releases section and download the Windows build if one is provided for the version you want, currently v0.1.7. If no Windows binary is listed, you can build the program from source with the Go toolchain, which is a build-time requirement and not needed to run the finished binary. Always compare the file against the SHA-256 checksum published with the release, if one is available.

  3. 3

    Map the local hostname

    IPDR expects Docker clients to reach the registry at docker.local. Open Notepad as administrator, edit the file at C:\Windows\System32\drivers\etc\hosts, and add a line that points docker.local to 127.0.0.1. Save the file, then flush the local DNS cache by running ipconfig /flushdns in an administrator Command Prompt.

  4. Start the registry and verify

    With the IPFS daemon running, start IPDR from a terminal. Once it is up, check that the API and gateway endpoints respond in your browser. You can then tag a small test image and push it to docker.local to confirm that the full round trip works.

08

How to use IPDR

IPDR works best when you already have a basic understanding of Docker and IPFS. The workflow below assumes that your IPFS daemon is running and that the hostname mapping is in place.

  1. Confirm that the IPFS daemon is running and shows that it is ready.
  2. Start IPDR from a terminal window so you can read its log output.
  3. Build or pull a small test image, such as a simple hello-world container.
  4. Tag the image so that its name includes docker.local, for example docker.local/test:latest.
  5. Push the image to the registry with the standard docker push command.
  6. Remove the local copy of the image and pull it again from docker.local to verify the round trip.
  7. Inspect the IPFS daemon output or use the IPFS command line to confirm that blocks are being stored.
  8. Stop IPDR and the daemon when you are finished, and keep your hosts file change in mind if you later reuse the name for something else.
09

Pros & cons

Pros
  • Open source under the permissive MIT license
  • Uses content addressing, which makes stored data easy to verify
  • Lets you experiment with Docker workflows on a decentralized network
  • Written in Go, so the binaries are self-contained
  • Simple setup on a single machine
Cons
  • Last code update was in late 2022
  • Very small project with a low version number
  • Requires familiarity with both IPFS and Docker
  • Needs manual hosts file editing for the local hostname
  • Not designed for production workloads or formal support
10

Is IPDR safe?

Treat IPDR as experimental software. Download it only from the official GitHub repository, and prefer the release assets rather than a copy from a third-party site. Where a SHA-256 checksum is published, compute the hash of your downloaded file in PowerShell with Get-FileHash and compare it before running anything. Because IPDR interacts with your IPFS node and edits your hosts file, run it with the least privilege you need and review the source if you plan to use it on an important machine. Since the code has not been updated since 2022, consider checking the latest version and open issues on the official website before you rely on it.

  • Official source only. Download from github.com/miguelmota/ipdr. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
11

Alternatives

IPDR sits in a narrow niche. Its closest relatives are general IPFS tools such as Kubo, the reference node, and IPFS Desktop, which provides a tray-based interface for running a node. Those programs are about storing and sharing arbitrary files on IPFS, while IPDR specifically targets the Docker image workflow.

Other projects on this catalog take broader approaches. Storj focuses on a commercial-style decentralized cloud storage network, and Peergos emphasizes end-to-end encrypted file sharing. Pinner CLI is useful if your main need is pinning content to IPFS from the command line. If your goal is to learn how content addressing works in practice, start with Kubo and then consider IPDR as a specialized layer on top of it.

12

Specifications

Price
Free
Type
Open source
License
MIT
Latest version
v0.1.7
Last update
26 Dec 2022
Windows support
Likely (builds for Windows; check releases)
Source code
github.com/miguelmota/ipdr
13

Frequently asked questions

No. IPDR is a small, open-source project at version v0.1.7, and its last code update was in late 2022. It is best treated as an experiment or learning tool. For production container distribution, most teams rely on established registry software with formal support and access controls.

Yes. IPDR works with a running IPFS daemon, so you need an IPFS implementation such as Kubo installed and started on your machine. Start the daemon first, wait until it reports that it is ready, and then launch IPDR.

The registry is reached at the local name docker.local, and Docker clients need that name to resolve to your own computer. Adding a line to the hosts file makes the mapping. You should remove or revert that line when you no longer need the local registry.

Yes. The project is free and released as open source under the MIT license, so you can use, modify and redistribute it under the terms of that license.

The project documentation lists macOS, Linux and Docker as supported platforms. Windows support is likely, since the code can be built for Windows, but you should check the releases page to confirm that a suitable build is available for your version.

Not in a practical sense for most users. Docker Hub offers a large public library, reliable hosting and an established ecosystem. IPDR is a local experiment that stores images on IPFS, and it does not provide the same catalog or uptime guarantees.

IPFS is the general-purpose peer-to-peer file system that stores and retrieves content by its hash. IPDR is a tool built on top of IPFS that exposes a Docker Registry interface, so that Docker clients can push and pull images through it.

Compatibility depends on how recent your Docker and IPFS installations are, because the project has not been updated since 2022. Test with a small image first, and check the repository issues for known problems before relying on it.

14

Verdict

IPDR is a focused, open-source experiment that shows how Docker images can be stored on a content-addressed network. It suits developers and researchers who want to learn about IPFS-backed container distribution, and who are comfortable reading source code and troubleshooting on their own. It is not a substitute for a maintained production registry. If you proceed, start with a test image on a non-critical machine and keep your IPFS node and Docker installation up to date.

Download now