# Etapa 1: Construcción del backend
FROM node:18-alpine AS build-stage

WORKDIR /app

# Instalar dependencias
COPY package*.json ./
RUN npm install

# Copiar el resto de archivos y construir
COPY . .
RUN npm run build

# Etapa 2: Imagen para ejecución
FROM node:18-alpine

WORKDIR /app

# Copiar solo dependencias de producción y archivos construidos
COPY package*.json ./
RUN npm install --production

COPY --from=build-stage /app/dist/ ./dist/

# Exponer el puerto por defecto (3000)
EXPOSE 3000

ENV NODE_ENV=production

CMD ["node", "dist/index.js"]
