# Stage 1: Build Frontend FROM node:22-alpine AS builder WORKDIR /app COPY package.json ./ RUN npm install COPY . . RUN npm run build # Stage 2: Production Runtime FROM node:22-alpine WORKDIR /app ENV NODE_ENV=production # Copy backend package metadata as runtime package metadata COPY backend/package.json backend/package-lock.json ./ # Install dependencies RUN npm ci --omit=dev # Copy backend source directly into root COPY backend/index.js ./index.js COPY backend/db.js ./db.js COPY backend/config ./config COPY backend/policies ./policies COPY backend/services ./services COPY backend/utils ./utils # Copy built frontend COPY --from=builder /app/dist ./dist EXPOSE 3001 CMD ["node", "index.js"]