Aduc-sdr-2_5 / start.sh
x2XcarleX2x's picture
Update start.sh
a2f1e88 verified
raw
history blame
2.98 kB
#!/bin/bash
# ==============================================================================
# start.sh v4.0 - Verificador de Integridade e Orquestrador de Inicialização
# ==============================================================================
#
# Este script verifica se os repositórios essenciais, instalados durante o build
# do Docker, existem e são válidos. Somente após a verificação, ele prossegue
# para o download dos modelos e a inicialização da aplicação.
#
# ==============================================================================
set -e
echo "🚀 Iniciando ADUC-SDR (Ambiente Pré-compilado)..."
# --- Etapa 1: Verificação da Integridade dos Repositórios ---
echo "----------------------------------------------------------------------"
echo "🔍 Verificando a integridade das instalações do Docker..."
# Lista de diretórios dos repositórios que devem existir
REPOS_TO_CHECK=(
"/app/LTX-Video"
"/app/Wan2.2"
"/app/SeedVR"
"/app/MMAudio"
)
# Flag para rastrear se tudo está correto
ALL_REPOS_OK=true
for repo_dir in "${REPOS_TO_CHECK[@]}"; do
# Verifica se o diretório do repositório existe
if [ -d "$repo_dir" ]; then
echo " [✅ OK] Repositório encontrado: $repo_dir"
else
echo " [❌ ERRO] Repositório CRÍTICO não encontrado: $repo_dir"
echo " -> Isso indica uma falha durante o 'docker build'."
ALL_REPOS_OK=false
fi
done
# Se qualquer verificação falhou, o script para com uma mensagem de erro clara.
if [ "$ALL_REPOS_OK" = false ]; then
echo "----------------------------------------------------------------------"
echo "🔥 Falha na verificação de integridade! A aplicação não pode iniciar."
echo " Por favor, verifique os logs de build do Docker para encontrar a causa do erro na instalação."
exit 1
fi
echo "✅ Verificação de integridade concluída com sucesso. Todos os repositórios estão presentes."
echo "----------------------------------------------------------------------"
# --- Etapa 2: Baixar os Modelos Essenciais ---
echo "📦 Verificando e baixando os modelos de IA..."
# O script python cuidará da lógica de verificar se o download é necessário
python3 download_models.py
echo "✅ Modelos prontos."
# --- Etapa 2: Instalação da Versão de Ponta do Diffusers (NOVA ETAPA) ---
echo "🔧 Instalando a versão mais recente do 'diffusers' do GitHub..."
# O --upgrade garante que ele substitua a versão instalada pelo Dockerfile
# O -q (quiet) torna a saída mais limpa
pip install -v -q --upgrade git+https://github.com/huggingface/diffusers.git
echo "✅ 'diffusers' atualizado com sucesso."
echo "----------------------------------------------------------------------"
pip install -v triton
# --- Etapa 3: Iniciar a Aplicação Principal ---
echo "🎬 Iniciando a aplicação ($1)..."
echo "🚀 Iniciando app.py..."
python3 /app/app_wan.py --listen --port ${PORT:-7860}