# Módulo 18 — revisão final de configs, Docker, dependências e contrato MariaDB/MySQL

## O que foi fechado

- a imagem PHP oficial do pacote foi alinhada ao runtime real do portal + NVR + gateway;
- o bundle passa a materializar `pdo_mysql`, `pdo_sqlite`, `sqlite3`, `redis`, `mbstring`, `pcntl`, `opcache`, cliente `mysql` e `composer`;
- o bootstrap HTTP compartilhado do portal agora garante o vendor Laravel do `platform` antes de expor `/nvr`;
- `boot-http`, `boot-queue`, `boot-scheduler`, `migrate` e `install` do `platform` compartilham o mesmo bootstrap de dependências;
- o contrato oficial do banco central continua fechado em **MariaDB/MySQL**, sem baseline divergente fora da família MySQL no runtime principal;
- o `gateway` permanece com SQLite local apenas para metadados operacionais.

## Contrato operacional resultante

- portal + NVR usam `DB_CONNECTION=mysql` como baseline canônico;
- `mariadb` é aceito apenas como alias de compatibilidade do driver solicitado;
- `DB_CENTRAL_*` permanece como fallback transitório para ambientes legados compartilhados;
- filas, scheduler, cache Redis e workers do `platform` dependem explicitamente do mesmo runtime PHP oficial do bundle;
- `docker-compose.yml`, docs e scripts de build passam a validar esse mesmo baseline por `scripts/check-mysql-mariadb-contract.php`.
