FROM node:22-alpine AS server-build WORKDIR /app COPY package.json package-lock.json ./ COPY shared/ ./shared/ COPY server/ ./server/ RUN npm ci --workspace=server --workspace=shared RUN npm -w shared run build 2>/dev/null || true WORKDIR /app/server EXPOSE 8080 CMD ["npx", "tsx", "src/index.ts"]