FROM node:20-alpine WORKDIR /app RUN corepack enable COPY pnpm-workspace.yaml package.json pnpm-lock.yaml ./ COPY shared/protocol/package.json shared/protocol/package.json COPY server/package.json server/package.json RUN pnpm install --frozen-lockfile COPY shared/protocol shared/protocol COPY server server RUN pnpm -r build WORKDIR /app/server ENV NODE_ENV=production EXPOSE 3000 CMD ["node", "dist/index.js"]