Pular para conteúdo

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 plugin io.micronaut.application 5 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 (e DATASOURCES_DEFAULT_USERNAME/DATASOURCES_DEFAULT_PASSWORD); a subida do container é pulada.
  • Tudo em container (app incluso, sem gradlew): docker compose -f docker-compose.dev.yml up sobe Postgres, Garage e o app pelo Dockerfile.
  • Binário native na máquina (GraalVM 25): ./gradlew nativeCompile -PnativeQuick builda com -Ob, mais rápido; o perfil de produção é o do Dockerfile.native.

As envs de produção e a operação no Coolify estão no runbook de Deploy.