ADR 0003 — Docker com PHP-FPM + nginx; banco fora do compose
- Status: aceito
- Data: 2026-09
Contexto
O manual antigo descrevia só Laragon + FTP. Precisávamos de runtime
reproduzível (extensões, nginx negando .env/vendor, build de CSS e
Composer no CI mental do time) sem amarrar o MySQL da operação — que já
existe no painel de hosting, com backup e max_connections próprios.
Decisão
- Imagem única
app: nginx + php-fpm 8.3 Alpine, multi-stage (Node CSS + Composer). docker-compose.ymlnão sobe MySQL.DB_HOSTaponta para o banco do ambiente.- Entrypoint materializa
.enva partir das variáveis do processo. - Volumes para uploads, sessões e logs.
Consequências
host.docker.internal(Desktop) vs IP do MySQL na VPS precisa ser documentado por ambiente.- Bind mount de JSON de Drive quebra o
compose upse o arquivo não existe — por isso a opção de JSON inline. - Rollback = tag anterior da imagem + dump se houve migration incompatível. Ver ../deploy.md.