{"repo":"psviderski/unregistry","free":true,"listed":false,"github":"https://github.com/psviderski/unregistry","clone":"git clone https://github.com/psviderski/unregistry.git","description":"Push docker images directly to remote servers without an external registry","language":"Go","stars":4853,"topics":["containerd","docker","golang","kubernetes","oci","registry"],"license":"Apache-2.0","category":"deployment-docker-iac","readme_excerpt":"▸ Push docker images directly to remote servers without an external registry ◂ Unregistry is a lightweight container image registry that stores and serves images directly from your Docker daemon's storage. The included docker pussh command (extra 's' for SSH) lets you push images straight to remote Docker servers over SSH. It transfers only the missing layers, making it fast and efficient. https://github.com/user-attachments/assets/9d704b87-8e0d-4c8a-9544-17d4c63bd050 The problem You've built a Docker image locally. Now you need it on your server. Your options suck: - Docker Hub / GitHub Container Registry - Your code is now public, or you're paying for private repos - Self-hosted registry - Another service to maintain, secure, and pay for storage - Save/Load - docker save ssh docker load transfers the entire image, even if 90% already exists on the server - Rebuild remotely - Wastes time and server resources. Plus now you're debugging why the build fails in production You just want to move an image from A to B. Why is this so hard? The solution That's it. Your image is on the remote server. No registry setup, no subscription, no intermediate storage, no exposed ports. Just a direct transfer of the missing layers over SSH. Here's what happens under the hood: 1. Establishes SSH tunnel to the remote server 2. Starts a temporary unregistry container on the server 3. Forwards a random localhost port to the unregistry port over the tunnel 4. docker push to unregistry through the f","default_branch":null,"files":null,"tree":[],"storefront":"/r/psviderski","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/psviderski/unregistry/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}