MinIO Community foi descontinuado: instale o Garage no Ubuntu
|

MinIO Community foi descontinuado: instale o Garage no Ubuntu

O MinIO Community Edition, o object storage S3-compatível mais usado em home lab e infraestrutura de pequenas e médias empresas, chegou ao fim. Desde outubro de 2025 a versão comunitária não recebe mais binários pré-compilados, em dezembro a empresa colocou o projeto em modo de manutenção e em 25 de abril de 2026 o repositório oficial no GitHub foi arquivado — read-only, sem mais commits. Quem ainda usa MinIO para backup ou storage interno precisa de um plano de saída, e o Garage, mantido pelo coletivo francês Deuxfleurs, é a alternativa mais direta para substituir.

O que exatamente mudou no MinIO

A mudança veio em três etapas. Em outubro de 2025 o MinIO parou de publicar binários e imagens Docker prontas para a edição community — a partir daí, instalar a versão livre passou a exigir compilar do código-fonte com go install github.com/minio/minio@latest. Poucas semanas depois o projeto entrou em modo de manutenção, sem novas features. A confirmação final veio em abril de 2026: o GitHub do minio/minio foi arquivado pelo próprio mantenedor, com uma nota recomendando migrar para o AIStor Free ou o AIStor Enterprise — os produtos comerciais da MinIO, Inc.

Isso não significa que os binários antigos parem de funcionar da noite para o dia. Significa que eles não recebem mais correção de segurança, e que qualquer ambiente novo depende de compilar em Go — uma barreira que a maioria dos times de infraestrutura não tem motivo para aceitar quando existe alternativa mais simples e ativamente mantida.

Por que isso importa para quem já usa MinIO em produção

Se o MinIO está rodando como storage de backup (como em fluxos de rclone + S3 ou como destino de vzdump no Proxmox), o risco não é o serviço parar — é ficar preso numa versão sem patch enquanto o AGPLv3 empurra qualquer uso comercial para a “própria conta e risco”, nas palavras do próprio README do projeto. Builds a partir do código-fonte em produção também não têm nenhuma garantia de suporte da MinIO, Inc. Trocar de object storage é trabalho, mas adiar a decisão só aumenta a distância entre a versão instalada e as correções que ela nunca mais vai receber.

Por que o Garage é a substituição mais direta

Existem várias alternativas de object storage self-hosted — Ceph com RGW, SeaweedFS, o próprio AIStor Free. Para o cenário mais comum do leitor deste site (um servidor único ou poucos nós, sem equipe dedicada de storage), o Garage se destaca por três motivos concretos:

  • Binário único, sem dependência externa. Escrito em Rust, roda até em hardware modesto como um Raspberry Pi, sem runtime, sem driver de kernel.
  • Licença permissiva. Apache 2.0, sem letra miúda equivalente ao AGPLv3 e sem edição “enterprise” escondendo funções básicas.
  • Compatibilidade S3 real. Qualquer ferramenta que já fala com S3 — aws s3, rclone, s3cmd, SDKs — funciona sem alteração, então a migração não exige trocar o resto do pipeline de backup.

O trade-off: o Garage assume um modelo de consistência mais fraco, pensado para clusters geodistribuídos. Para um único nó local isso não pesa, mas vale saber antes de escalar para múltiplos data centers.

Passo a passo: instalando o Garage no Ubuntu Server

Requisitos: Ubuntu 22.04 ou 24.04, no mínimo 1 GB de RAM (2 GB ou mais é o recomendado), e um volume de disco já montado para os dados.

1. Baixar o binário

wget https://garagehq.deuxfleurs.fr/_releases/v1.0.1/x86_64-unknown-linux-musl/garage -O /tmp/garage
sudo mv /tmp/garage /usr/local/bin/garage
sudo chmod +x /usr/local/bin/garage
garage --version

2. Criar usuário de sistema e diretórios

Rodar o serviço com um usuário dedicado, sem shell e sem home, limita o estrago se o processo for comprometido.

sudo useradd --system --no-create-home --shell /bin/false garage
sudo mkdir -p /data/garage/data /data/garage/meta /etc/garage
sudo chown -R garage:garage /data/garage /etc/garage

3. Configurar o garage.toml

Gere primeiro um segredo aleatório para autenticação entre nós do cluster:

openssl rand -hex 32

Crie /etc/garage/garage.toml com o valor gerado no lugar de rpc_secret:

rpc_bind_addr = "0.0.0.0:3901"
rpc_secret = "COLE_AQUI_O_HEX_GERADO"

metadata_dir = "/data/garage/meta"
data_dir = "/data/garage/data"

[s3_api]
api_bind_addr = "0.0.0.0:3900"
s3_region = "us-east-1"

[admin]
api_bind_addr = "0.0.0.0:3903"

4. Criar o serviço systemd

O hardening abaixo (ProtectSystem=strict, NoNewPrivileges) restringe o processo ao diretório de dados — segue o mesmo princípio de mínimo privilégio que vale para qualquer serviço exposto em rede.

sudo tee /etc/systemd/system/garage.service > /dev/null << 'UNIT'
[Unit]
Description=Garage S3-compatible object storage
After=network.target

[Service]
Type=simple
User=garage
Group=garage
ExecStart=/usr/local/bin/garage -c /etc/garage/garage.toml server
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ReadWritePaths=/data/garage

[Install]
WantedBy=multi-user.target
UNIT

sudo systemctl daemon-reload
sudo systemctl enable --now garage
sudo systemctl status garage

5. Configurar o layout do cluster

Mesmo com um nó só, o Garage exige atribuir zona e capacidade antes de aceitar dados — é assim que ele calcula onde replicar cada objeto.

sudo -u garage garage -c /etc/garage/garage.toml node id
# anote o ID (a parte antes do @)

sudo -u garage garage -c /etc/garage/garage.toml layout assign NODE_ID --zone dc1 --capacity 100G
sudo -u garage garage -c /etc/garage/garage.toml layout show
sudo -u garage garage -c /etc/garage/garage.toml layout apply --version 1

6. Criar bucket e chave de acesso

sudo -u garage garage -c /etc/garage/garage.toml bucket create backups
sudo -u garage garage -c /etc/garage/garage.toml key create backup-key
sudo -u garage garage -c /etc/garage/garage.toml bucket allow backups --read --write --key backup-key

O comando key create imprime o Access Key ID e a Secret Key uma única vez — guarde os dois antes de sair do terminal.

7. Testar com a AWS CLI ou rclone

aws configure set aws_access_key_id GK...
aws configure set aws_secret_access_key ...
aws s3 cp /etc/hostname s3://backups/teste.txt --endpoint-url http://127.0.0.1:3900
aws s3 ls s3://backups/ --endpoint-url http://127.0.0.1:3900

8. Restringir o firewall

A porta 3900 (API S3) só deve ficar acessível para quem realmente envia backup; a porta 3901 (RPC entre nós) não precisa estar exposta num cluster de nó único.

sudo ufw allow from 10.0.0.0/8 to any port 3900 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 3903 proto tcp

Migrando os dados que já estão no MinIO

Como os dois falam a mesma API S3, a migração é uma sincronização entre dois remotes do rclone, sem downtime forçado no destino:

rclone config create minio-antigo s3 provider Other access_key_id SEU_KEY_MINIO secret_access_key SEU_SECRET_MINIO endpoint http://IP_DO_MINIO:9000

rclone config create garage-novo s3 provider Other access_key_id SEU_KEY_GARAGE secret_access_key SEU_SECRET_GARAGE endpoint http://127.0.0.1:3900

rclone sync minio-antigo:bucket-antigo garage-novo:backups --progress

Rode a sincronização, aponte os jobs de backup para o novo endpoint, valide por uma semana com os dois ativos e só então desligue o MinIO.

Perguntas frequentes

O MinIO que já está instalado vai parar de funcionar?
Não imediatamente. O binário continua rodando, mas não recebe mais atualização de segurança nem correção de bug — é uma questão de tempo até uma CVE não corrigida se tornar um problema real.

Preciso migrar tudo de uma vez?
Não. O rclone sync é incremental: rode em paralelo com o MinIO por um período, valide a integridade e só depois aponte as aplicações e os jobs de backup para o Garage.

O Garage substitui o MinIO em cluster multi-nó?
Sim, e é justamente para isso que ele foi desenhado — geodistribuição e tolerância a falha de nó são o caso de uso principal do projeto, não um extra.

Dá para usar o Garage com o console web, como no MinIO?
O Garage não tem console gráfico embutido. Para navegar buckets visualmente é preciso um cliente S3 de terceiros (como o próprio rclone browse ou ferramentas como o Cyberduck).

O AIStor Free da MinIO não seria mais simples?
É uma opção, mas é um produto comercial da MinIO, Inc., com conta e termos próprios — não é uma continuação direta do projeto open source que foi arquivado.

Conclusão

O fim dos binários prontos do MinIO Community não é um detalhe: é o fim do ciclo de vida da versão que grande parte dos home labs e pequenas empresas roda hoje. Quem depende dele para backup ou storage interno ganha mais ao migrar com calma para uma alternativa mantida do que ao esperar uma CVE forçar a decisão. O Garage cobre o caso de uso mais comum — um ou poucos nós, sem equipe dedicada de storage — com uma instalação que cabe em uma tarde de trabalho.

Gostou? Compartilhe.

Posts Similares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *