Como rodar¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-15
Audiência: dev que quer subir o app na própria máquina. Build, testes e fixtures estão em Como buildar e testar; a organização do código, no Guia do código.
Requisitos¶
- JDK 25 no
JAVA_HOME(GraalVM 25; no WSL, via SDKMAN). O Gradle também roda em Java 25: o pluginio.micronaut.application5 exige. - Docker em execução: o Postgres de dev sobe num container.
Rodar em dev¶
./gradlew run
O run sobe o Postgres do docker-compose.dev.yml, espera ficar saudável, ativa o environment
dev e roda o app contra ele com os defaults de dev abaixo. Variável já definida no ambiente vence
o default.
| Variável | Default de dev | Efeito |
|---|---|---|
MICRONAUT_ENVIRONMENTS |
dev |
liga o bypass de auth e de CSRF das views |
DB_USER / DB_PASSWORD |
vantroba_transporte / dev123 |
casam com o docker-compose.dev.yml |
S3_FILE_STORAGE |
PSQL |
binário do .xlsx no Postgres — dispensa o Garage |
VANTROBA_XLS_API_TOKEN |
dev-token-apenas-local |
Bearer do /api/** |
TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_ID |
vazios | notificação desligada, sem rede |
APP_BASE_URL |
http://localhost:8080 |
base dos links nas notificações |
O app responde em http://localhost:8080: /health, /processamentos e /admin. O histórico por
processamento vai para ./data/execucoes, fora do git.
Variações¶
- Parar o banco (preserva os dados):
./gradlew pararInfraDev. Apagar de vez:docker compose -f docker-compose.dev.yml down. - Usar o seu próprio Postgres: defina
DATASOURCES_DEFAULT_URL(eDATASOURCES_DEFAULT_USERNAME/DATASOURCES_DEFAULT_PASSWORD); a subida do container é pulada. - Tudo em container (app incluso, sem
gradlew):docker compose -f docker-compose.dev.yml upsobe Postgres, Garage e o app peloDockerfile. - Binário native na máquina (GraalVM 25):
./gradlew nativeCompile -PnativeQuickbuilda com-Ob, mais rápido; o perfil de produção é o doDockerfile.native.
As envs de produção e a operação no Coolify estão no runbook de Deploy.