Update image_Studio.sh
Browse files- image_Studio.sh +52 -8
image_Studio.sh
CHANGED
|
@@ -4,6 +4,13 @@
|
|
| 4 |
|
| 5 |
set -euo pipefail
|
| 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
# -----------------------------
|
| 8 |
# Cores para output
|
| 9 |
# -----------------------------
|
|
@@ -61,7 +68,13 @@ save_state() {
|
|
| 61 |
|
| 62 |
get_state() {
|
| 63 |
if [ -f "$STATE_FILE" ]; then
|
| 64 |
-
cat "$STATE_FILE"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
else
|
| 66 |
echo "0"
|
| 67 |
fi
|
|
@@ -502,7 +515,24 @@ show_menu() {
|
|
| 502 |
|
| 503 |
local current_state=$(get_state)
|
| 504 |
|
| 505 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 506 |
log_warn "Instalação anterior detectada (Step: $current_state)"
|
| 507 |
echo ""
|
| 508 |
echo "Opções:"
|
|
@@ -510,13 +540,15 @@ show_menu() {
|
|
| 510 |
echo " 2) Reiniciar instalação do zero"
|
| 511 |
echo " 3) Sair"
|
| 512 |
echo ""
|
| 513 |
-
|
|
|
|
|
|
|
| 514 |
|
| 515 |
case $choice in
|
| 516 |
-
1) return 0 ;;
|
| 517 |
2) reset_state; return 0 ;;
|
| 518 |
3) exit 0 ;;
|
| 519 |
-
*)
|
| 520 |
esac
|
| 521 |
fi
|
| 522 |
|
|
@@ -685,16 +717,26 @@ main() {
|
|
| 685 |
log_success " Instalação concluída!"
|
| 686 |
log_success "========================================="
|
| 687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 688 |
echo ""
|
| 689 |
echo "Opções:"
|
| 690 |
echo " 1) Iniciar ComfyUI agora"
|
| 691 |
echo " 2) Resetar estado da instalação"
|
| 692 |
echo " 3) Sair"
|
| 693 |
echo ""
|
| 694 |
-
|
|
|
|
|
|
|
| 695 |
|
| 696 |
case $final_choice in
|
| 697 |
-
1)
|
| 698 |
log_info "Iniciando ComfyUI..."
|
| 699 |
log_info "URL: http://localhost:$COMFY_PORT"
|
| 700 |
cd "$COMFY_DIR"
|
|
@@ -708,7 +750,9 @@ main() {
|
|
| 708 |
log_info "Saindo..."
|
| 709 |
;;
|
| 710 |
*)
|
| 711 |
-
|
|
|
|
|
|
|
| 712 |
;;
|
| 713 |
esac
|
| 714 |
}
|
|
|
|
| 4 |
|
| 5 |
set -euo pipefail
|
| 6 |
|
| 7 |
+
# Detectar se está rodando via pipe (não-interativo)
|
| 8 |
+
if [ ! -t 0 ] || [ ! -t 1 ]; then
|
| 9 |
+
INTERACTIVE=false
|
| 10 |
+
else
|
| 11 |
+
INTERACTIVE=true
|
| 12 |
+
fi
|
| 13 |
+
|
| 14 |
# -----------------------------
|
| 15 |
# Cores para output
|
| 16 |
# -----------------------------
|
|
|
|
| 68 |
|
| 69 |
get_state() {
|
| 70 |
if [ -f "$STATE_FILE" ]; then
|
| 71 |
+
local state=$(cat "$STATE_FILE" 2>/dev/null)
|
| 72 |
+
# Verificar se é um número válido
|
| 73 |
+
if [[ "$state" =~ ^[0-9]+$ ]]; then
|
| 74 |
+
echo "$state"
|
| 75 |
+
else
|
| 76 |
+
echo "0"
|
| 77 |
+
fi
|
| 78 |
else
|
| 79 |
echo "0"
|
| 80 |
fi
|
|
|
|
| 515 |
|
| 516 |
local current_state=$(get_state)
|
| 517 |
|
| 518 |
+
# Verificar se o estado está vazio ou inválido
|
| 519 |
+
if [ -z "$current_state" ] || ! [[ "$current_state" =~ ^[0-9]+$ ]]; then
|
| 520 |
+
log_info "Iniciando nova instalação..."
|
| 521 |
+
reset_state
|
| 522 |
+
return 0
|
| 523 |
+
fi
|
| 524 |
+
|
| 525 |
+
# Se não for interativo, sempre continuar ou começar do zero
|
| 526 |
+
if [ "$INTERACTIVE" = false ]; then
|
| 527 |
+
if [ "$current_state" != "0" ] && [ "$current_state" -lt "8" ]; then
|
| 528 |
+
log_info "Modo não-interativo: continuando instalação anterior (Step: $current_state)"
|
| 529 |
+
else
|
| 530 |
+
log_info "Modo não-interativo: iniciando nova instalação"
|
| 531 |
+
fi
|
| 532 |
+
return 0
|
| 533 |
+
fi
|
| 534 |
+
|
| 535 |
+
if [ "$current_state" != "0" ] && [ "$current_state" -lt "8" ]; then
|
| 536 |
log_warn "Instalação anterior detectada (Step: $current_state)"
|
| 537 |
echo ""
|
| 538 |
echo "Opções:"
|
|
|
|
| 540 |
echo " 2) Reiniciar instalação do zero"
|
| 541 |
echo " 3) Sair"
|
| 542 |
echo ""
|
| 543 |
+
|
| 544 |
+
# Timeout de 10 segundos, padrão é continuar
|
| 545 |
+
read -t 10 -p "Escolha uma opção [1-3] (padrão: 1 em 10s): " choice || choice="1"
|
| 546 |
|
| 547 |
case $choice in
|
| 548 |
+
1|"") return 0 ;;
|
| 549 |
2) reset_state; return 0 ;;
|
| 550 |
3) exit 0 ;;
|
| 551 |
+
*) log_warn "Opção inválida, continuando..."; return 0 ;;
|
| 552 |
esac
|
| 553 |
fi
|
| 554 |
|
|
|
|
| 717 |
log_success " Instalação concluída!"
|
| 718 |
log_success "========================================="
|
| 719 |
|
| 720 |
+
# Se não for interativo ou se for via argumento, iniciar direto
|
| 721 |
+
if [ "$INTERACTIVE" = false ] || [ "${1:-}" = "--start" ]; then
|
| 722 |
+
log_info "Iniciando ComfyUI automaticamente..."
|
| 723 |
+
log_info "URL: http://localhost:$COMFY_PORT"
|
| 724 |
+
cd "$COMFY_DIR"
|
| 725 |
+
exec comfy launch -- --listen "$COMFY_HOST" --port "$COMFY_PORT"
|
| 726 |
+
fi
|
| 727 |
+
|
| 728 |
echo ""
|
| 729 |
echo "Opções:"
|
| 730 |
echo " 1) Iniciar ComfyUI agora"
|
| 731 |
echo " 2) Resetar estado da instalação"
|
| 732 |
echo " 3) Sair"
|
| 733 |
echo ""
|
| 734 |
+
|
| 735 |
+
# Timeout de 10 segundos, padrão é iniciar
|
| 736 |
+
read -t 10 -p "Escolha uma opção [1-3] (padrão: 1 em 10s): " final_choice || final_choice="1"
|
| 737 |
|
| 738 |
case $final_choice in
|
| 739 |
+
1|"")
|
| 740 |
log_info "Iniciando ComfyUI..."
|
| 741 |
log_info "URL: http://localhost:$COMFY_PORT"
|
| 742 |
cd "$COMFY_DIR"
|
|
|
|
| 750 |
log_info "Saindo..."
|
| 751 |
;;
|
| 752 |
*)
|
| 753 |
+
log_info "Iniciando ComfyUI (opção padrão)..."
|
| 754 |
+
cd "$COMFY_DIR"
|
| 755 |
+
exec comfy launch -- --listen "$COMFY_HOST" --port "$COMFY_PORT"
|
| 756 |
;;
|
| 757 |
esac
|
| 758 |
}
|