# Stage 1: Install dependencies and build
FROM node:18-alpine AS build

WORKDIR /app

COPY package.json package-lock.json* ./
COPY packages/shared/package.json ./packages/shared/
COPY packages/web/package.json ./packages/web/

RUN npm install --ignore-scripts

COPY packages/ ./packages/

RUN npm run build

# Stage 2: Serve
FROM nginx:alpine

COPY --from=build /app/packages/web/dist /usr/share/nginx/html/

EXPOSE 80

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