Deploy: variáveis de ambiente configuráveis + docs dos dois modos do Coolify

TZ (com tzdata), GUNICORN_TIMEOUT e GUNICORN_LOG_LEVEL agora têm default no
Dockerfile e podem ser sobrescritos via Coolify → Environment Variables ou
.env (modelo em .env.example). TZ corrige o carimbo "exportada em"
(sessao.marcar_exportada), que sem isso saía em UTC. Workers continua
literal em -w 1, de propósito — não é variável.

Cabeçalhos do Dockerfile e docker-compose.yml reescritos para descrever os
dois modos de deploy no Coolify (Application/Dockerfile, em produção desde
04/09, e Docker Compose) e o caminho de volume que de fato funciona:
Directory mount em /data/coolify/applications/<uuid>/clientes, dados
enviados por scp da pasta ses-mg/.

.gitattributes fixa LF também em Dockerfile, docker-compose.yml e
.env.example — o autocrlf do Windows já tinha reescrito o Dockerfile para
CRLF uma vez nesta máquina.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 22:00:34 -03:00
co-authored by Claude Sonnet 5
parent a4b1374fad
commit 62ec768d0c
6 changed files with 120 additions and 29 deletions
+29
View File
@@ -0,0 +1,29 @@
# Variáveis da Exportação da SD. Copie para .env (gitignored) para rodar com o
# compose; no Coolify em modo Application, cadastre em Environment Variables.
# Tudo tem default no Dockerfile — só declare o que quer mudar.
# ── Lidas DENTRO do container (valem nos dois modos do Coolify) ──────────────
# Porta do gunicorn dentro do container. No Coolify, a porta exposta da app
# tem de ser a mesma.
PORT=5000
# Fuso do carimbo "exportada em" (sessao.marcar_exportada usa datetime.now()).
TZ=America/Sao_Paulo
# Segundos por request. Upload + análise de uma SD leva bem menos que isso;
# subir só se o painel mostrar "WORKER TIMEOUT".
GUNICORN_TIMEOUT=120
# debug | info | warning | error
GUNICORN_LOG_LEVEL=info
# ── Lidas pelo COMPOSE ao montar volumes (só no Modo 2 / local) ─────────────
# No Modo 1 (Application) não têm efeito: o volume é o Directory mount da UI.
# Pasta do host com os dados do cliente (tem de conter ses-mg/contrato/itens.yaml).
# Fora da pasta que o Coolify clona — ela é recriada a cada deploy.
#CLIENTES_DIR=/dados/exporta-sd/clientes
# Saída da linha de comando (exporta_sd.py --dir). Opcional.
#DERIVADOS_DIR=/dados/exporta-sd/_derivados