FROM alpine:3.22 AS base WORKDIR /app RUN apk add --no-cache --update nodejs FROM base AS install RUN apk add --no-cache pnpm ENV NODE_ENV=production COPY package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile FROM install AS build COPY . . RUN pnpm build FROM base COPY --from=install /app/node_modules ./node_modules COPY --from=build /app/dist ./dist ENV HOST=0.0.0.0 ENV PORT=4321 EXPOSE 4321 CMD ["node", "./dist/server/entry.mjs"]