Configurações Globais (Config)
A diretoria config/ contém as parametrizações centrais do sistema. Para o motor de busca, as configurações mais críticas envolvem o Laravel Scout, o Horizon e as credenciais de serviços de terceiros.
1. Motor de Busca (Scout e Meilisearch)
Ficheiro: scout.php
Este ficheiro controla a ponte entre o banco de dados e o Meilisearch.
* Sincronização Assíncrona: A sincronização de dados está configurada para ser colocada em fila (queue), utilizando a ligação redis e direcionada especificamente para a fila meilisearch_sync. Isto impede que a indexação atrase as respostas HTTP.
* Ligação Hardcoded: A configuração do Meilisearch aponta fixamente para o IP interno do contentor Docker (http://172.17.0.1:7700) e utiliza a chave estática senha_mestre_buscas_123. Esta abordagem garante que a ligação não falha caso existam problemas de leitura do ficheiro .env no servidor.
2. Orquestração de Filas (Horizon e Queue)
Ficheiros: horizon.php e queue.php
Estas configurações definem o comportamento dos workers (trabalhadores) que processam as tarefas em segundo plano.
* Supervisor Principal: O horizon.php define o supervisor-1, que está encarregue de processar simultaneamente as filas default (onde rodam os webhooks da Wake e a IA) e meilisearch_sync.
* Gestão de Recursos: O Horizon está configurado com um limite de memória de 64MB para o processo mestre e 128MB por worker, prevenindo que tarefas pesadas esgotem a RAM do servidor. Em ambiente de produção, este supervisor pode escalar automaticamente até 10 processos simultâneos (maxProcesses => 10) consoante a carga.
* Tratamento de Falhas: O ficheiro queue.php estipula que os trabalhos falhados (failed) utilizam o driver database-uuids e são guardados na tabela failed_jobs para posterior inspeção e repetição.
3. Credenciais de Terceiros
Ficheiro: services.php
Para além dos serviços padrão (como Postmark e AWS), este ficheiro regista o bloco de configuração da integração com a Wake. Ele extrai o WAKE_TOKEN do ambiente, permitindo que as classes de serviço acedam a esta credencial de forma segura através da função config('services.wake.token').
4. Base de Dados e Memória
Ficheiro: database.php
Para além das ligações relacionais, o ficheiro define o Redis como o motor principal de cache e filas. A aplicação utiliza o cliente phpredis por defeito para comunicar com o servidor Redis (geralmente alojado em 127.0.0.1:6379).