FROM node:18-alpine AS builder WORKDIR /app # Copiar archivos de dependencias COPY package.json package-lock.json* ./ # Instalar dependencias RUN npm ci # Copiar código fuente COPY . . # Construir aplicación con base /dashboard/ RUN npm run build # Stage de producción - servir con nginx FROM nginx:alpine # Copiar archivos construidos (ya incluyen el prefijo /dashboard en las rutas) COPY --from=builder /app/dist /usr/share/nginx/html/dashboard # Copiar configuración de nginx (se puede sobrescribir con volumen) COPY nginx-dashboard.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]