FROM node:24-alpine AS builder WORKDIR /app RUN apk add --no-cache libc6-compat && \ corepack enable && corepack prepare pnpm@latest --activate COPY package.json pnpm-lock.yaml ./ RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \ pnpm install --frozen-lockfile || pnpm install COPY . . RUN pnpm run build RUN pnpm prune --prod FROM node:24-alpine AS runtime WORKDIR /app RUN apk add --no-cache libc6-compat COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules COPY package.json ./ ENV HOST=0.0.0.0 ENV PORT=4321 EXPOSE 4321 CMD ["node", "./dist/server/entry.mjs"]