FROM node:22-alpine AS build WORKDIR /app RUN corepack enable && corepack prepare pnpm@10.32.1 --activate COPY package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile COPY . . ARG APP_ENV=production RUN pnpm exec tsx scripts/next-env.ts "$APP_ENV" build \ && pnpm exec tsx scripts/package-standalone.ts "$APP_ENV" \ && mv "dist/$APP_ENV" /release FROM node:22-alpine AS runtime WORKDIR /app ENV NODE_ENV=production PORT=3000 HOSTNAME=0.0.0.0 COPY --from=build --chown=node:node /release ./ USER node EXPOSE 3000 CMD ["node", "start.mjs"]