# Stage 1: build frontend + compile server
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# Stage 2: runtime (only prod deps + build artifacts)
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY --from=builder /app/dist        ./dist
COPY --from=builder /app/dist-server ./dist-server
EXPOSE 3001
CMD ["node", "dist-server/index.js"]
