FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ COPY packages/shared/package.json ./packages/shared/ COPY packages/client/package.json ./packages/client/ RUN npm ci --workspace=packages/shared --workspace=packages/client COPY packages/shared ./packages/shared COPY packages/client ./packages/client COPY tsconfig.base.json ./ RUN npm run build -w packages/shared RUN npm run build -w packages/client FROM nginx:1.27-alpine AS runtime COPY --from=builder /app/packages/client/dist /usr/share/nginx/html COPY packages/client/nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80