# Vignette Web (React 19 + Vite) — 멀티스테이지(빌드 → 정적 서빙)
FROM node:22-alpine AS build
WORKDIR /app
# node 22 사용(23.x는 일부 빌드 segfault 이슈 회피)
COPY package.json pnpm-lock.yaml* ./
RUN corepack enable && pnpm install --frozen-lockfile || npm install
COPY . .
ARG VITE_API_BASE=/api
ENV VITE_API_BASE=$VITE_API_BASE
RUN pnpm build || npm run build

# 정적 서빙(작고 이식성 높은 nginx)
FROM nginx:1.27-alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
