O cliente Docker da distro fala uma API que o daemon já não usa
[!NOTE] Resumo Executivo (DEV-2026-045): O painel não listava containers porque o pacote docker.io negociava a API 1.41 com um daemon 1.52. No mesmo host, as portas 80 e 443 já pertenciam ao PBX.
🚨 O Desafio Técnico / Contexto
O monitor em Python usava o CLI empacotado pela distro. O daemon recusava a versão antiga da API e a tela parecia sem Docker. O portal, se subisse em 80 ou 443, colidia com o Issabel. Um service worker cache-first no config.json ainda impedia o painel de atualizar a lista de aplicativos.
💡 Principais Lições Aprendidas & Descobertas
- 💡 docker-ce-cli acompanha a API do daemon. O pacote docker.io da distro pode ficar uma geração atrás.
- 💡 O portal fica na 8099. 80, 443 e 8088 permanecem com o PBX.
- 💡 No PWA, estático pode ser cache-first. config.json é network-first, senão a lista de apps não muda.
- 💡 O debug SQL do Supervisor liga por sessão. Ligado para todas as sessões enche o disco em produção.
🛠️ Especificação Técnica & Código-Chave
# Cliente e daemon precisam da mesma geração de API
docker version
# Client API antiga (1.41) contra daemon 1.52: trocar docker.io por docker-ce-cli
# Portal fora das portas do PBX
PORTAL_HTTP_PORT=8099
📈 Impacto no Ecossistema & Valor Prático
O painel volta a falar com o Docker e o portal deixa de disputar as portas do PBX.
- Projetos Relacionados:
lorentz-vps-stack - Registro de Origem:
_data/daily.dev-03.yml
Publicado originalmente como parte do Diário de Desenvolvimento 2026 do ecossistema Artes do Sul & Araguaci.