From 21ff8e13cdec29594291332ace853f10907708bd Mon Sep 17 00:00:00 2001 From: josedario87 Date: Wed, 4 Jun 2025 22:09:26 -0600 Subject: [PATCH] docker file mejora, doble stage --- chat-ui/Dockerfile | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/chat-ui/Dockerfile b/chat-ui/Dockerfile index 286283d..77e20e3 100644 --- a/chat-ui/Dockerfile +++ b/chat-ui/Dockerfile @@ -1,18 +1,16 @@ +# ---------- Etapa de build ---------- +FROM node:18-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm install # incluye TypeScript +COPY . . +RUN npm run build # genera /app/dist + +# ---------- Etapa ligera de runtime ---------- FROM node:18-alpine WORKDIR /app - -# 1. Copiamos primero solo package.json para cache -COPY package.json package-lock.json* ./ - -# 2. Instalamos todo (incluye devDependencies como typescript) -RUN npm install - -# 3. Ahora sí, copiamos el código fuente -COPY . . - -# 4. Compilamos y luego eliminamos devDependencies -RUN npm run build && npm prune --production - -# 5. Listo para producción +COPY --from=builder /app/dist ./dist +COPY package*.json ./ +RUN npm install --production # solo deps de runtime EXPOSE 3000 CMD ["node", "dist/server.js"]