eeuuia commited on
Commit
d0f15d0
·
verified ·
1 Parent(s): 11040c1

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +76 -10
start.sh CHANGED
@@ -1,16 +1,82 @@
1
  #!/bin/bash
2
- echo "🔥 Iniciando a aplicação principal Gradio (app.py)..."
3
 
 
 
 
 
4
 
5
- cp -rdfv /app/LTX-Video /data/LTX-Video
 
 
6
 
7
- tree -L 6 /data
 
 
 
 
8
 
9
- # Env da UI
10
- export GRADIO_SERVER_NAME="0.0.0.0"
11
- export GRADIO_SERVER_PORT="${PORT:-7860}"
12
- export GRADIO_ENABLE_QUEUE="True"
 
13
 
14
- echo "[ltx][start] Lançando app_ltx.py..."
15
- # Executa diretamente o python.
16
- exec python app.py
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  #!/bin/bash
 
2
 
3
+ # ==============================================================================
4
+ # GERENCIAMENTO DE LOGS NA INICIALIZAÇÃO
5
+ # ==============================================================================
6
+ LOG_FILE="/data/logs/session.log"
7
 
8
+ # Verifica se o arquivo de log da sessão anterior existe e não está vazio
9
+ if [ -f "$LOG_FILE" ] && [ -s "$LOG_FILE" ]; then
10
+ echo "[STARTUP] Log da sessão anterior encontrado. Preparando para upload."
11
 
12
+ # Cria um nome de arquivo com timestamp para o upload
13
+ TODAY=$(date +%Y-%m-%d)
14
+ TIMESTAMP=$(date +%H-%M-%S)
15
+ UPLOAD_FILENAME="log-${TIMESTAMP}.txt"
16
+ REPO_PATH="logs/${TODAY}/${UPLOAD_FILENAME}"
17
 
18
+ # Move o log antigo para um local temporário para evitar que a aplicação comece a escrever nele
19
+ TEMP_LOG_PATH="/tmp/previous_session.log"
20
+ mv "$LOG_FILE" "$TEMP_LOG_PATH"
21
+
22
+ echo "[STARTUP] Fazendo upload de '$TEMP_LOG_PATH' para o repositório em '$REPO_PATH'..."
23
 
24
+ # Executa o script de upload do Python em segundo plano para não bloquear a inicialização
25
+ # O token HF_TOKEN deve estar definido como uma variável de ambiente no seu contêiner
26
+ python - <<'PY' &
27
+ import os
28
+ import time
29
+ from huggingface_hub import HfApi, HfFolder
30
+
31
+ # Adiciona uma pequena espera para garantir que a rede esteja pronta
32
+ time.sleep(5)
33
+
34
+ repo = os.environ.get("SELF_HF_REPO_ID", "euIaxs22/Aduc-sdr")
35
+ token = os.getenv("HF_TOKEN")
36
+ log_to_upload = "/tmp/previous_session.log"
37
+ repo_path = os.getenv("REPO_PATH")
38
+
39
+ if not token:
40
+ print("[UPLOAD_SCRIPT] AVISO: HF_TOKEN ausente; upload do log desabilitado.")
41
+ # Limpa o arquivo temporário mesmo assim
42
+ if os.path.exists(log_to_upload):
43
+ os.remove(log_to_upload)
44
+ exit()
45
+
46
+ if not repo_path:
47
+ print("[UPLOAD_SCRIPT] ERRO: REPO_PATH não definido.")
48
+ exit()
49
+
50
+ try:
51
+ print(f"[UPLOAD_SCRIPT] Iniciando upload para {repo}...")
52
+ api = HfApi(token=token)
53
+ api.upload_file(
54
+ path_or_fileobj=log_to_upload,
55
+ path_in_repo=repo_path,
56
+ repo_id=repo,
57
+ repo_type="model",
58
+ )
59
+ print(f"[UPLOAD_SCRIPT] Upload de log concluído com sucesso para: {repo_path}")
60
+ finally:
61
+ # Garante que o arquivo de log temporário seja sempre removido após a tentativa de upload
62
+ if os.path.exists(log_to_upload):
63
+ os.remove(log_to_upload)
64
+ print("[UPLOAD_SCRIPT] Arquivo de log temporário limpo.")
65
+ PY
66
+
67
+ else
68
+ echo "[STARTUP] Nenhum log da sessão anterior encontrado. Iniciando com um log limpo."
69
+ fi
70
+
71
+ # ==============================================================================
72
+ # INICIALIZAÇÃO DA APLICAÇÃO PRINCIPAL
73
+ # ==============================================================================
74
+ echo "[STARTUP] Iniciando a aplicação principal Gradio (app.py)..."
75
+
76
+ # Executa o setup.py primeiro para garantir que as dependências estão prontas
77
+ python /app/setup.py
78
+
79
+ # Inicia a aplicação Gradio
80
+ # O `exec` substitui o processo do shell pelo processo do python,
81
+ # o que é uma boa prática para scripts de inicialização de contêineres.
82
+ exec python /app/app.py