FROM --platform=$BUILDPLATFORM node:22-bookworm-slim AS build WORKDIR /app COPY package.json package-lock.json ./ COPY apps/server/package.json apps/server/package.json COPY apps/web/package.json apps/web/package.json COPY packages/engine/package.json packages/engine/package.json COPY packages/shared/package.json packages/shared/package.json RUN npm ci COPY tsconfig.base.json ./ COPY apps ./apps COPY packages ./packages RUN npm run build FROM node:22-bookworm-slim AS runtime WORKDIR /app ENV NODE_ENV=production \ PORT=3001 \ STATIC_ROOT=/app/apps/web/dist COPY package.json package-lock.json ./ COPY apps/server/package.json apps/server/package.json COPY apps/web/package.json apps/web/package.json COPY packages/engine/package.json packages/engine/package.json COPY packages/shared/package.json packages/shared/package.json RUN npm ci --omit=dev && npm cache clean --force COPY --from=build /app/apps/server/dist ./apps/server/dist COPY --from=build /app/apps/web/dist ./apps/web/dist COPY --from=build /app/packages/engine/dist ./packages/engine/dist COPY --from=build /app/packages/shared/dist ./packages/shared/dist USER node EXPOSE 3001 CMD ["node", "apps/server/dist/index.js"]