Deploy a Docker image built on your laptop directly to a remote server without setting up Docker Hub or a private registry.
Speed up repeated deployments by sending only the image layers that changed since the last push.
Transfer private container images securely to a VPS without exposing code to a third-party registry.
Add a simple one-command image deploy step to a small project that does not need a full CI/CD pipeline.
Requires Docker running on both local machine and the remote server, plus SSH access to the remote host.
Unregistry solves a specific problem: you have a Docker container image on your local machine and need to get it onto a remote server without going through an external registry like Docker Hub or GitHub Container Registry. The usual alternatives are painful. Uploading to a public registry exposes your code. Running a private registry costs money and requires maintenance. The built-in save-and-load approach sends the entire image every time, even if most of it is already on the server. The tool adds a command called docker pussh (with an extra 's' for SSH) to your Docker installation. You run it with the image name and the remote server address, and it transfers only the layers that are missing from the destination. Internally it opens an SSH tunnel to the server, starts a temporary registry container there, pushes the image through the tunnel, and then cleans up. The result lands directly in the server's Docker storage without any intermediate storage step and without opening any extra ports on the server. The README describes the behavior as similar to rsync, which is a file-copy tool that skips data already present at the destination. The analogy is accurate: both tools figure out what is missing before transferring anything, which makes repeated updates fast. Installation on macOS or Linux is available through Homebrew or as a direct download. There is also an unofficial Debian package maintained by a community contributor. Windows is not currently supported, though the README suggests using WSL 2 as a workaround. There is one configuration note worth knowing: Docker and its underlying container runtime, called containerd, can maintain separate image stores. If you enable the containerd image store option in Docker (which the README recommends), pushed images are immediately available and stored only once. Without that option, the tool runs an extra pull step after pushing, and images may accumulate in a secondary storage location over time.
← psviderski on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.