Was ist 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.
apt upgrade hält Sie immer auf der neuesten Version.
📦 Installation von deb.griffo.io
Schritt 1: Repository hinzufügen
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Es gibt einen für immer kostenlosen Spiegel. deb-free.griffo.io liefert Pakete für immer kostenlos — ohne Konto, ohne Abo, höchstens 2 Monate hinter Upstream, Sicherheitsfixes sofort. Derzeit enthält er cliamp, Ghostty, lazydocker, Oh My Posh und Zed; Unregistry ist nicht dabei, deshalb führt heute nur das Repository oben dorthin — auf Anfrage kann es aufgenommen werden.
🧩 Zur extrepo-Option. extrepo ist Debians eigenes Werkzeug für externe Repositories: Es legt die Sources-Datei an und installiert den Signaturschlüssel für dich, nachdem es ihn gegen signierte Metadaten geprüft hat. Dieses Repository ist dort als griffo registriert, der für immer kostenlose Spiegel als griffo-free. Unter Debian (bookworm, trixie, forky und sid) sind die Befehle oben damit die gesamte Einrichtung.
extrepo richtet nur die Sources-Datei und den Schlüssel ein; die Zugangsdaten eines Abos gehören weiterhin in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu wird nicht abgedeckt, denn extrepo veröffentlicht Metadaten nur für Debian-Suites: dort nimmst du die Befehle mit sudo oder als root.
Schritt 2: Installieren unregistry
# Install unregistry and docker-pussh
sudo apt install unregistry docker-pussh
# Installation überprüfen
docker pussh --version# Install unregistry and docker-pussh
apt install unregistry docker-pussh
# Installation überprüfen
docker pussh --version🎯 Grundlegende Verwendungsbeispiele
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 serverAdvanced 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:$VERSIONCI/CD integration:
# GitHub Actions example
- name: Build and deploy
run: |
docker build -t myapp:${{ github.sha }} .
docker pussh myapp:${{ github.sha }} deploy@staging-server🚀 Warum deb.griffo.io wählen?
- Official Debian: Not available in official repositories
- Manual Script: Requires manual updates and dependency management
- Homebrew: Limited to specific platforms
- deb.griffo.io: Latest version 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
📦 Paket-Build-Repository
Die Debian-Pakete werden automatisch in diesem GitHub-Repository erstellt und gepflegt:
- 📠 unregistry-debian - Latest release builds
- 📡 docker-pussh-debian - Latest release builds
🔗 Verwandte Pakete
Auch verfügbar von deb.griffo.io:
- lazydocker - Terminal UI for Docker management
- uncloud - Multi-server container deployment
- fzf Fuzzy Finder - Enhanced command searching