# ==========================================================================
# Acepla — Multi-stage Dockerfile
# Stage 1: Build Astro (genera dist/ estático)
# Stage 2: nginx sirve los estáticos (imagen final < 30MB)
# ==========================================================================

# ---------- Stage 1: Build ----------
FROM node:22-alpine AS builder
WORKDIR /app

# Instalar dependencias (cache layer)
COPY package.json package-lock.json* ./
RUN npm ci --ignore-scripts

# Copiar código y construir
COPY . .
RUN npm run build

# ---------- Stage 2: Serve ----------
FROM nginx:alpine
LABEL maintainer="Acepla"
LABEL description="Acepla - Nueva Maquinaria S.A. | Sitio estático"

# Copiar build estático al document root de nginx
COPY --from=builder /app/dist /usr/share/nginx/html

# Configuración de nginx (gzip, cache, rutas SPA-friendly)
COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]
