Como baixar repositórios de imagens do Bitnami
Informação extraída do ChatGPT
O endereço que você passou:
https://github.com/bitnami/containers/tree/main/bitnami/suitecrm/8/debian-12
...é uma página de diretório no GitHub, não um servidor de arquivos direto. Portanto, você não pode usar wget
ou curl
para baixar o diretório diretamente.
Mas há duas formas corretas de baixar esse conteúdo:
✅ Opção 1: Clonar apenas esse diretório com git sparse-checkout
(recomendado)
Se você não quiser baixar o repositório todo, mas apenas esse diretório, use git sparse-checkout
.
Passos:
# 1. Clone o repositório, mas sem o conteúdo
git clone --depth 1 --filter=blob:none --sparse https://github.com/bitnami/containers.git
# 2. Vá para a pasta clonada
cd containers
# 3. Ative sparse-checkout para baixar só o diretório desejado
git sparse-checkout set bitnami/suitecrm/8/debian-12
Resultado:
Você terá somente a pasta bitnami/suitecrm/8/debian-12
localmente, sem baixar o repositório completo (~centenas de MB normalmente).
✅ Opção 2: Baixar o repositório inteiro (caso aceite o tamanho maior)
Se preferir baixar tudo (incluindo outras imagens), use:
git clone https://github.com/bitnami/containers.git
cd containers/bitnami/suitecrm/8/debian-12
❌ Por que wget
ou curl
não funciona?
-
GitHub não oferece diretórios como arquivos ZIP automaticamente via URL de pasta.
-
wget
baixaria o HTML da página, não os arquivos reais do diretório.
Shell Script para baixar aplicativos pelo caminho no Bitnami
#!/bin/bash
echo "🔧 Exemplo de caminho: bitnami/suitecrm/8/debian-12"
read -p "Digite o caminho completo do diretório no repositório Bitnami Containers: " TARGET_DIR
# Repositório Bitnami Containers
REPO_URL="https://github.com/bitnami/containers.git"
REPO_DIR="bitnami-containers"
# Limpar se pasta já existir
if [ -d "$REPO_DIR" ]; then
echo "Removendo pasta existente: $REPO_DIR"
rm -rf "$REPO_DIR"
fi
echo -e "\n📦 Iniciando download do diretório '$TARGET_DIR'...\n"
# Clonar com sparse-checkout
git clone --depth 1 --filter=blob:none --sparse "$REPO_URL" "$REPO_DIR" || {
echo "❌ Falha ao clonar repositório."
exit 1
}
cd "$REPO_DIR" || {
echo "❌ Erro ao acessar diretório $REPO_DIR"
exit 1
}
# Baixar apenas o diretório informado
if git sparse-checkout set "$TARGET_DIR"; then
echo -e "\n✅ Diretório '$TARGET_DIR' baixado com sucesso!"
echo "📁 Caminho local: $REPO_DIR/$TARGET_DIR"
else
echo -e "\n❌ Diretório '$TARGET_DIR' não encontrado no repositório."
exit 1
fi
No Comments