FROM node:20-alpine AS builder WORKDIR /app # Copy root package files COPY package.json package-lock.json ./ # Copy workspace package files COPY apps/matrix-frontend/package.json ./apps/matrix-frontend/ COPY apps/backend/package.json ./apps/backend/ COPY packages/mcp-types/package.json ./packages/mcp-types/ COPY packages/domain-types/package.json ./packages/domain-types/ # Install dependencies RUN npm ci --legacy-peer-deps # Copy source code COPY . . # Build frontend WORKDIR /app/apps/matrix-frontend RUN npm run build # Serve FROM nginx:alpine COPY --from=builder /app/apps/matrix-frontend/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]