O que é o unregistry?
unregistry é um registro leve de imagens de containers criado por Pasha Sviderski que armazena e serve imagens diretamente do armazenamento do daemon Docker. O comando docker pussh incluído permite enviar imagens diretamente para servidores Docker remotos via SSH, transferindo apenas as camadas ausentes para máxima eficiência.
- Docker Hub/GHCR: Seu código fica público ou você paga por repositórios privados
- Registro auto-hospedado: Mais um serviço para manter, proteger e pagar
- Save/Load: Transfere a imagem inteira mesmo que 90% já exista no servidor
- Rebuild remoto: Desperdiça tempo e recursos do servidor, depurando builds de produção
docker pussh myapp:latest user@server - É só isso! Sua imagem está no servidor remoto sem configuração de registro, sem assinatura, sem armazenamento intermediário, apenas transferência direta das camadas ausentes via SSH.
⚡ Principais Recursos do unregistry
🚀 Transferência Direta
Envie imagens diretamente para servidores remotos via SSH. Sem registro intermediário, sem portas expostas, apenas transferência eficiente ponto a ponto.
📦 Deduplicação de Camadas
Transfere apenas as camadas ausentes, como rsync para imagens Docker. Se 90% da sua imagem já existe remotamente, apenas 10% é transferido.
🔒 Seguro por Design
Usa SSH para autenticação e transporte. Sem portas de registro expostas, sem configuração de segurança adicional necessária.
⚡ Configuração Zero
Sem infraestrutura de registro para manter. Funciona com qualquer servidor que tenha Docker e acesso SSH.
🏗️ Pronto para CI/CD
Perfeito para pipelines de implantação. Construa localmente ou no CI, envie diretamente para servidores de produção sem a complexidade de um registro.
🌐 Multi-Plataforma
Suporta imagens multi-plataforma com o armazenamento de imagens containerd. Implante imagens ARM e x86 de forma eficiente.
apt upgrade mantém você sempre na versão mais recente.
📦 Instalação a partir do deb.griffo.io
Passo 1: Adicionar repositório
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 update🆓 Existe um espelho grátis para sempre. deb-free.griffo.io distribui pacotes grátis para sempre — sem conta, sem assinatura, no máximo 2 meses atrás do upstream, correções de segurança imediatas. Hoje ele traz Ghostty, Oh My Posh e Zed; Unregistry não está entre elas, então o repositório acima é a única forma de instalar hoje — peça e ela pode ser adicionada.
Passo 2: Instalar unregistry
# Install unregistry and docker-pussh
sudo apt install unregistry docker-pussh
# Verificar instalação
docker pussh --version# Install unregistry and docker-pussh
apt install unregistry docker-pussh
# Verificar instalação
docker pussh --version🎯 Exemplos de uso básico
Envio simples de imagem:
# 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 serverUso avançado:
# 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:$VERSIONIntegração com CI/CD:
# GitHub Actions example
- name: Build and deploy
run: |
docker build -t myapp:${{ github.sha }} .
docker pussh myapp:${{ github.sha }} deploy@staging-server🚀 Por que escolher o deb.griffo.io?
- Debian Oficial: Não disponível nos repositórios oficiais
- Script Manual: Requer atualizações manuais e gerenciamento de dependências
- Homebrew: Limitado a plataformas específicas
- deb.griffo.io: Última versão com atualizações automáticas
- ✅ Últimos Recursos: Obtenha as mais novas melhorias de integração Docker e SSH
- ✅ Pacote Completo: unregistry e docker-pussh incluídos
- ✅ Atualizações Automáticas: Pacotes atualizados em horas após lançamentos upstream
- ✅ Integração Correta: Configurado corretamente como plugin da CLI Docker
- ✅ Multi-Distribuição: Funciona no Bookworm, Trixie e Sid
- ✅ Fácil Manutenção: Comandos apt padrão para atualizações
📦 Repositório de construção de pacotes
Os pacotes do Debian são construídos e mantidos automaticamente nestes repositórios do GitHub:
- 📠 unregistry-debian - Latest release builds
- 📡 docker-pussh-debian - Latest release builds
🔗 Pacotes relacionados
Também disponível no deb.griffo.io:
- lazydocker - Interface de terminal para gerenciamento Docker
- uncloud - Implantação de containers em múltiplos servidores
- fzf Fuzzy Finder - Busca aprimorada de comandos