#!/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 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}