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 | |
| # Define o nome do pacote para facilitar a leitura | |
| PACKAGE_NAME="diffusers-aduc-sdr" | |
| GIT_REPO_URL="git+https://github.com/carlex22/diffusers-aduc-sdr.git" | |
| echo "======================================================================" | |
| echo "ADUC-SDR: Verificando e atualizando o fork $PACKAGE_NAME..." | |
| echo "======================================================================" | |
| # Força a desinstalação de qualquer versão existente para evitar conflitos | |
| pip uninstall -y $PACKAGE_NAME | |
| # Instala a versão mais recente diretamente do branch 'main' do seu repositório | |
| # --no-cache-dir: Garante que o pip não use pacotes em cache | |
| # --upgrade: Garante que está pegando a versão mais recente | |
| pip -q install --no-cache-dir --upgrade $GIT_REPO_URL | |
| echo "" | |
| echo "======================================================================" | |
| echo "$PACKAGE_NAME instalado/atualizado com sucesso." | |
| echo "Iniciando a aplicação Gradio..." | |
| echo "======================================================================" | |
| echo "" | |
| 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 -d /app/app_wan.py --listen --port ${PORT:-7860} |