Spaces:
Paused
Paused
| # ============================================================================== | |
| # 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} |