# --- Etapa 1: Build --- FROM node:20-alpine AS builder WORKDIR /app # Instalar dependencias de desarrollo COPY package*.json ./ RUN npm install # Copiar el código fuente y archivos de entorno COPY . . COPY .env* . # Compilar TypeScript RUN npm run build # --- Etapa 2: Runtime mínimo --- FROM node:20-alpine WORKDIR /app # Instalar solo dependencias de producción COPY package*.json ./ RUN npm install --omit=dev # Copiar la carpeta compilada desde la etapa de build COPY --from=builder /app/dist ./dist # Copiar archivos de entorno a la raíz /app COPY --from=builder /app/.env* ./ # Crear carpeta de logs RUN mkdir -p /app/logs # Ejecutar el worker continuo de jobs de notificaciones CMD ["node", "dist/index.js"]