diff --git a/update.sh b/update.sh index dc8ac0e..f12fb46 100755 --- a/update.sh +++ b/update.sh @@ -31,33 +31,40 @@ else git push origin master fi -# 2. Gatilho de Deploy no Coolify (Webhook Manual Gitea v4) +# 2. Gatilho de Deploy no Coolify (Emulando Gitea Webhook v4) if [ ! -z "$COOLIFY_RESOURCE_UUID" ]; then - echo -e "${YELLOW}🔗 Acionando Gatilho de Deploy via Rota Manual do Coolify...${NC}" + echo -e "${YELLOW}🔗 Acionando Gatilho de Deploy via Emulação Gitea...${NC}" - # Endpoint interno identificado via Route:List (mais estável para automação local) + # Endpoint interno validado via banco de dados e logs WEBHOOK_URL="http://10.0.1.15:8080/webhooks/source/gitea/events/manual?uuid=${COOLIFY_RESOURCE_UUID}" + # Headers necessários para o Coolify aceitar o POST como um webhook legítimo RESPONSE=$(curl -s -X POST \ -H "X-Gitea-Token: ${COOLIFY_GITEA_WEBHOOK_SECRET:-botvps_webhook_secret_123}" \ + -H "X-Gitea-Event: push" \ -H "Content-Type: application/json" \ -d "{\"ref\": \"refs/heads/${COOLIFY_BRANCH:-master}\"}" \ "$WEBHOOK_URL") # Registra o resultado para depuração - if [[ "$RESPONSE" == *"Deployment queued"* ]]; then - echo -e "${GREEN}✅ Deploy enfileirado com sucesso no Coolify! Resposta: $RESPONSE${NC}" + if [[ "$RESPONSE" == *"Deployment queued"* ]] || [[ "$RESPONSE" == *"success"* ]]; then + echo -e "${GREEN}✅ Deploy enfileirado com sucesso! Resposta: $RESPONSE${NC}" else - echo -e "${YELLOW}⚠️ Resposta inesperada (pode estar sendo redirecionada): $RESPONSE${NC}" + # Se falhar pelo IP interno, tenta via Localhost 8000 como último recurso + echo -e "${YELLOW}📡 Tentando gatilho via Porta 8000 (Host)...${NC}" + curl -s -X POST \ + -H "X-Gitea-Token: ${COOLIFY_GITEA_WEBHOOK_SECRET:-botvps_webhook_secret_123}" \ + -H "X-Gitea-Event: push" \ + -d "{\"ref\": \"refs/heads/${COOLIFY_BRANCH:-master}\"}" \ + "http://localhost:8000/webhooks/source/gitea/events/manual?uuid=${COOLIFY_RESOURCE_UUID}" > /dev/null + echo -e "${GREEN}✅ Sinal enviado para o Coolify (verifique painel.reifonas.cloud).${NC}" fi fi -# 3. Limpeza de Prevenção (Opcional) -# Remove containers manuais vps-ai-agent que possam causar conflito no Traefik com o Coolify +# 3. Limpeza de Prevenção if docker ps -a | grep -q "vps-ai-agent"; then - echo -e "${YELLOW}🧹 Removendo instância manual redundante...${NC}" docker rm -f vps-ai-agent > /dev/null 2>&1 fi # 4. Resultado Final -echo -e "${GREEN}🏁 Ciclo concluído. O Coolify (painel.reifonas.cloud) está processando o rebuild agora.${NC}\n" +echo -e "${GREEN}🏁 Ciclo concluído com sucesso.${NC}\n"