Deploy: In-memory#
A modalidade mais simples. Nenhuma infra externa, nenhuma configuração — sobe em segundos. Todo o estado (relatórios, tokens, jobs) existe apenas na RAM e é perdido quando o processo encerra.
Quando usar: dev local, demos, CI/CD para testes de integração.
Subindo com Docker Compose#
cd examples/server
docker compose -f docker-compose.memory.yml up --build
O servidor sobe em http://localhost:8090.
# Verificar saúde
curl http://localhost:8090/health
# Listar relatórios de exemplo (pré-carregados)
curl http://localhost:8090/api/v1/reports
Sem Docker#
cd examples/server
dart run bin/example_server.dart
Variáveis relevantes (todas opcionais nesta modalidade):
PORT=8090 # porta (default 8090)
HOST=0.0.0.0 # interface (default 0.0.0.0)
AUTH_DISABLED=true # desativa autenticação (default em dev)
O que acontece sem AUTH_SECRET#
Quando AUTH_SECRET não está definido e AUTH_DISABLED não foi explicitamente setado, o servidor exige que você passe
AUTH_DISABLED=true para confirmar a intenção de rodar sem autenticação. Isso evita deploys acidentais em produção sem auth.
# Forma explícita e segura:
AUTH_DISABLED=true dart run bin/example_server.dart
Limitações#
- Todo estado é perdido ao reiniciar o container.
- Não suporta múltiplas réplicas (cada instância tem sua própria memória).
- Não use em produção.
Próximo passo#
Quando precisar de persistência sem banco externo → SQLite.