mirror of
https://github.com/melgarafael/DeskcommCRM.git
synced 2026-10-02 01:28:34 +08:00
O PR corrigiu app, worker e scheduler, mas o workflow publica QUATRO
imagens: o Dockerfile.voice-agent ainda declarava ARG/ENV APP_VERSION
antes do `pnpm install`, e refazia a instalação inteira a cada release.
- Dockerfile.voice-agent: ARG/ENV APP_VERSION descem para depois de
`COPY . .`, no mesmo padrão do Dockerfile.worker do PR.
- Teste de packaging: nenhum `RUN` pode vir depois de `ARG APP_VERSION`
nos quatro Dockerfiles publicados. Sabotado: com o voice-agent do head
do PR, reprova citando Dockerfile.voice-agent.
- Fragmento: "três imagens" passa a "quatro", o agente de voz entra na
frase do pnpm install, e o crédito segue o formato dos demais
("Contribuição de @bonito-system (#1569).").
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N9fyW7pXJCsyDPtu5PoQpN
31 lines
1.3 KiB
Docker
31 lines
1.3 KiB
Docker
# Worker de voz (SIP/ARI + IA em tempo real) — mesmo padrão do Dockerfile.worker:
|
|
# roda TS direto via tsx (sem build), imagem single-stage com devDeps.
|
|
FROM node:22-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
LABEL org.opencontainers.image.source="https://github.com/melgarafael/DeskcommCRM" \
|
|
org.opencontainers.image.licenses="MIT" \
|
|
org.opencontainers.image.title="DeskcommCRM voice-agent"
|
|
|
|
RUN corepack enable && corepack prepare pnpm@9.15.9 --activate
|
|
|
|
COPY package.json pnpm-lock.yaml ./
|
|
# `package.json` declara `pnpm.patchedDependencies`, e o pnpm lê o arquivo do
|
|
# patch durante o `install` — não no `postinstall`. Sem esta linha ele morre com
|
|
# ENOENT em `patches/@react-pdf__hyphenate.patch` e a imagem não nasce.
|
|
# `Dockerfile` e `Dockerfile.worker` já copiam; esta era a única que não copiava.
|
|
COPY patches ./patches
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
COPY . .
|
|
|
|
# A versão por ÚLTIMO, como no Dockerfile.worker. Declarada antes do `pnpm install`,
|
|
# a instrução `ARG` entrava na chave de cache de tudo o que vem depois e a
|
|
# instalação INTEIRA de dependências era refeita a cada release, só porque o
|
|
# número mudou. Aqui ela só invalida o que não custa nada.
|
|
ARG APP_VERSION=dev
|
|
ENV APP_VERSION=$APP_VERSION
|
|
|
|
CMD ["pnpm", "exec", "tsx", "workers/voice-agent/index.ts"]
|