🐳 Install Latest unregistry on Debian

Push Docker images directly to remote servers without external registry

Latest Version: 0.2.1+ (July 2025)
← Back to home

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 Deployment Pain Points:
  • 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
✅ The unregistry Solution: 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.
🚀 Why Latest Versions Matter: unregistry is actively developed with frequent releases containing performance improvements, enhanced SSH handling, better containerd integration, and new deployment features. The latest versions include improved layer deduplication and enhanced multi-platform support.

⚡ 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+

📦 Installation from debian.griffo.io

Step 1: Add Repository

curl -sS https://debian.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg echo "deb https://debian.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/debian.griffo.io.list sudo apt update
curl -sS https://debian.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg echo "deb https://debian.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/debian.griffo.io.list apt update

Step 2: Install unregistry

# Install unregistry and docker-pussh sudo apt install unregistry docker-pussh # Verify installation docker pussh --version
# Install unregistry and docker-pussh apt install unregistry docker-pussh # Verify installation docker pussh --version

🎯 Basic Usage Examples

Simple image push:

# Build image locally docker build -t myapp:latest . # Push directly to remote server docker pussh myapp:latest user@server.example.com # That's it! Image is now available on remote server

Advanced usage:

# Push with SSH key docker pussh myapp:latest ubuntu@192.168.1.100 -i ~/.ssh/id_rsa # Custom SSH port docker pussh myapp:latest user@server:2222 # Specific platform for multi-arch images docker pussh myapp:latest user@server --platform linux/amd64 # Use in deployment script docker pussh myapp:$VERSION deploy@prod-server ssh deploy@prod-server docker run -d myapp:$VERSION

CI/CD integration:

# GitHub Actions example - name: Build and deploy run: | docker build -t myapp:${{ github.sha }} . docker pussh myapp:${{ github.sha }} deploy@staging-server

🚀 Why Choose debian.griffo.io?

📊 Installation Comparison:
  • 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

📦 Package Build Repository

The Debian packages are automatically built and maintained in this GitHub repository:

🔗 Related Packages

Also available from debian.griffo.io:

🎯 Perfect for: DevOps engineers deploying containers, developers who want simple image distribution, teams avoiding registry complexity, homelab enthusiasts, and anyone needing efficient Docker image transfers.