File: //var/www/myc/api-parametros/Dockerfile.staging
# Usa la imagen oficial de Node.js como base para la construcción
FROM node:20.9.0 AS build
# Define el directorio de trabajo en el contenedor
WORKDIR /app
# Copia el package.json y el package-lock.json
COPY package*.json ./
# Instala las dependencias usando npm ci
RUN npm ci --legacy-peer-deps
# Copia el resto de la aplicación
COPY . .
# Construye la aplicación para el entorno de producción
RUN npx cross-env NODE_ENV=staging nest build
# Usa una imagen ligera de Node.js para la etapa final
FROM node:20.9.0 AS runtime
# Define el directorio de trabajo en el contenedor
WORKDIR /app
# Copia solo los archivos necesarios desde la etapa de construcción
COPY --from=build /app/dist /app/dist
COPY --from=build /app/node_modules /app/node_modules
COPY --from=build /app/package*.json /app/
# Expone el puerto en el que tu aplicación está corriendo
EXPOSE 3001
# Establece el comando de entrada para iniciar la aplicación
CMD [ "node", "dist/main" ]