FROM node:22-alpine AS builder WORKDIR /app LABEL org.opencontainers.image.source="TBC" LABEL org.opencontainers.image.description="FYP Image" COPY package*.json ./ RUN npm ci COPY . . RUN npm run build:api RUN npm run build:web FROM node:22-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --omit=dev COPY --from=builder /app/dist/apps/api ./dist/api COPY --from=builder /app/dist/apps/web ./dist/web COPY ./apps/api/src ./apps/api/src EXPOSE 3000 CMD ["node", "dist/api/main.js"]