## build runner FROM node:20-slim as build-runner ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable # Set temp directory WORKDIR /tmp/app # Move package.json COPY package.json . # Install dependencies RUN pnpm install # Move source files COPY src ./src COPY tsconfig.json . COPY tsup.config.ts . # Build project RUN pnpm build ## production runner FROM node:20-slim as prod-runner ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable # Set work directory WORKDIR /app # Copy package.json from build-runner COPY --from=build-runner /tmp/app/package.json /app/package.json # Install dependencies RUN pnpm install --prod # Move build files COPY --from=build-runner /tmp/app/build /app/build # Start bot CMD [ "pnpm", "start" ]