Logosulfite.app
rafagazani/sulfite 999999

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.