# Etapa 1: Build FROM node:22-alpine AS builder # Crea directorio de trabajo WORKDIR /app # Copia package.json y package-lock.json si lo tienes COPY package*.json ./ # Instala dependencias RUN npm install # Copia el resto del código COPY . . # Compila TypeScript a JavaScript RUN npx tsc # Etapa 2: Producción FROM node:22-alpine # Crea directorio de trabajo WORKDIR /app # Copia solo los archivos necesarios para producción COPY --from=builder /app/package*.json ./ COPY --from=builder /app/dist ./dist # Instala solo dependencias de producción RUN npm install --omit=dev # Expone el puerto ARG PORT ENV PORT $PORT EXPOSE $PORT # Comando por defecto CMD ["node", "dist/server.js"]