What is unregistry?
unregistry is a lightweight container image registry created by Pasha Sviderski that stores and serves images directly from your Docker daemon's storage. The included docker pussh
command lets you push images straight to remote Docker servers over SSH, transferring only missing layers for maximum efficiency.
- Docker Hub/GHCR: Your code becomes public or you pay for private repos
- Self-hosted registry: Another service to maintain, secure, and pay for
- Save/Load: Transfers entire image even if 90% already exists on server
- Remote rebuild: Wastes time and server resources, debugging production builds
docker pussh myapp:latest user@server
- That's it! Your image is on the remote server with no registry setup, no subscription, no intermediate storage, just direct transfer of missing layers over SSH.
⚡ Key Features of unregistry
🚀 Direct Transfer
Push images directly to remote servers over SSH. No intermediate registry, no exposed ports, just efficient point-to-point transfer.
📦 Layer Deduplication
Transfers only missing layers, like rsync for Docker images. If 90% of your image exists remotely, only 10% gets transferred.
🔒 Secure by Design
Uses SSH for authentication and transport. No exposed registry ports, no additional security configuration needed.
⚡ Zero Setup
No registry infrastructure to maintain. Works with any server that has Docker and SSH access.
🏗️ CI/CD Ready
Perfect for deployment pipelines. Build locally or in CI, push directly to production servers without registry complexity.
🌐 Multi-Platform
Supports multi-platform images with containerd image store. Deploy ARM and x86 images efficiently.
🆕 What's New in unregistry 0.2.1+
- Enhanced SSH Handling: Better SSH connection management and error handling
- Improved Performance: Faster layer transfer and reduced overhead
- Containerd Integration: Better containerd image store support and configuration
- Multi-Platform Support: Enhanced support for ARM and x86 architectures
- Error Recovery: Better handling of network interruptions and transfer failures
- Documentation: Improved setup guides and troubleshooting information
📦 Installation from debian.griffo.io
Step 1: Add Repository
Step 2: Install unregistry
🎯 Basic Usage Examples
Simple image push:
Advanced usage:
CI/CD integration:
🚀 Why Choose debian.griffo.io?
- Official Debian: Not available in official repositories
- Manual Script: Requires manual updates and dependency management
- Homebrew: Limited to specific platforms
- debian.griffo.io: Latest version (0.2.1+) with automatic updates
- ✅ Latest Features: Get newest Docker and SSH integration improvements
- ✅ Complete Package: Both unregistry and docker-pussh included
- ✅ Automatic Updates: Packages updated within hours of upstream releases
- ✅ Proper Integration: Correctly configured as Docker CLI plugin
- ✅ Multi-Distribution: Works on Bookworm, Trixie, and Sid
- ✅ Easy Maintenance: Standard apt commands for updates
📦 Package Build Repository
The Debian packages are automatically built and maintained in this GitHub repository:
- 📠 unregistry-debian - Latest release builds
- 📡 docker-pussh-debian - Latest release builds
🔗 Related Packages
Also available from debian.griffo.io:
- lazydocker - Terminal UI for Docker management
- uncloud - Multi-server container deployment
- fzf Fuzzy Finder - Enhanced command searching