Skip to main content
O Matcher automatiza a conciliação financeira entre várias fontes de dados, elimina o trabalho manual de correspondência e entrega uma trilha de auditoria completa de cada transação. Este guia percorre o deploy do Matcher em ambientes de desenvolvimento e de produção.
O Matcher está disponível para clientes licenciados. A Lerian mantém o repositório dele internamente. As instruções abaixo supõem que você já tem acesso aos arquivos necessários do projeto Matcher.

Docker compose (desenvolvimento)


O Docker Compose é a abordagem recomendada para desenvolvimento e testes locais.

1. Acesse o projeto Matcher

No diretório do projeto Matcher:

2. Configure o ambiente

O arquivo docker-compose.yml inclui padrões sensatos para desenvolvimento local. Você pode sobrescrever qualquer valor definindo variáveis de ambiente no seu shell ou criando um arquivo .env na raiz do projeto. Veja Variáveis de ambiente para detalhes sobre as configurações disponíveis.

3. Suba os serviços

Suba os serviços de infraestrutura necessários:
Espere até todos os serviços reportarem status saudável:
Suba a aplicação Matcher:
Para subir todos os serviços de uma vez:

4. Verifique a instalação

Liste os contextos de configuração para confirmar que o Matcher está no ar. Em uma instalação nova, a resposta paginada por cursor traz um array items vazio:
Depois verifique as dependências obrigatórias pelo endpoint público de readiness:
O endpoint retorna 200 quando cada dependência obrigatória está pronta. Ele retorna 503 com os detalhes por verificação quando uma dependência obrigatória está indisponível.

Serviços do Docker compose

O docker-compose.yml padrão inclui:

Desenvolvimento com hot reload

Para desenvolvimento ativo, use:
Isso sobe o Matcher com live reload habilitado usando o Air.

Kubernetes / helm (produção)


Recomenda-se que os deploys de produção usem o Helm chart oficial.

Pré-requisitos

  • Kubernetes 1.28+
  • Helm 3.12+
  • kubectl configurado para o cluster de destino

1. Crie um namespace

2. Configure os values

Crie um arquivo values.yaml com a configuração do seu deploy:

3. Crie os secrets

Crie secrets do Kubernetes para as credenciais sensíveis:

4. Instale o chart

5. Verifique o deploy

Upgrade

Para fazer o upgrade de um deploy existente:

Variáveis de ambiente


As variáveis de ambiente fornecem a configuração de bootstrap do Matcher. O Systemplane pode sobrescrever as configurações mutáveis em tempo de execução depois da inicialização.

Aplicação

CORS

Banco de dados (PostgreSQL)

Réplica do banco de dados (PostgreSQL)

Cache (Redis)

Mensageria (RabbitMQ)

Autenticação

Armazenamento de objetos (compatível com S3)

Observabilidade

TLS

Rate limiting

Swagger

Idempotência

Deduplicação

Outbox

Workers

Agendador

Arquivamento

Discovery

Estas configurações controlam o Discovery, que lê bancos de dados externos por um motor de extração embutido no Matcher, no mesmo processo, e não por um serviço de rede separado. Veja Discovery para entender como ele funciona.

Infraestrutura

Para as configurações de deploy multi-tenant, veja Modo multi-tenant. Para o gerenciamento da configuração em tempo de execução, veja Configuração em tempo de execução (Systemplane).

Verifique a instalação


Valide se o Matcher e as dependências obrigatórias dele estão prontos:
O endpoint retorna 200 quando cada dependência obrigatória está pronta. Ele retorna 503 com os detalhes por verificação quando uma dependência obrigatória está indisponível. Configure os readiness probes do Kubernetes para usar esse endpoint.

Solução de problemas


Problemas comuns

  • Causa: o PostgreSQL está fora do ar ou inacessível.
  • Resolução:
  1. Verifique se o PostgreSQL está no ar: docker-compose ps postgres
  2. Confira os valores de conexão no .env
  3. Teste a conectividade: nc -zv localhost 5432
  4. Revise os logs: docker-compose logs postgres
  • Causa: o Redis está fora do ar ou as credenciais estão incorretas.
  • Resolução:
  1. Verifique se o Redis está no ar: docker-compose ps redis
  2. Confirme REDIS_PASSWORD
  3. Teste a conectividade: redis-cli -h localhost ping
  • Causa: o RabbitMQ ainda está na inicialização, ou o virtual host não existe.
  • Resolução:
  1. Espere até o RabbitMQ ficar saudável
  2. Acesse a UI de gerenciamento em http://localhost:15672
  3. Verifique RABBITMQ_VHOST
  • Causa: o serviço de Auth está inacessível ou o token é inválido.
  • Resolução:
  1. Verifique PLUGIN_AUTH_ADDRESS
  2. Desabilite o auth para desenvolvimento: PLUGIN_AUTH_ENABLED=false
  3. Revise os logs do serviço de Auth
  • Causa: as migrações do banco de dados não puderam ser aplicadas.
  • Resolução:
  1. Verifique o status da migração: make migrate-status
  2. Revise os logs da migração
  3. Aplique as migrações manualmente: make migrate-up
  4. Inspecione a tabela schema_migrations se precisar

Ver os logs

Modo debug

Habilite o log de debug para mais visibilidade:

Próximos passos


Início rápido

Rode a sua primeira conciliação.

Configuração

Configure contextos, fontes e regras de correspondência.