FROM node:20 AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable FROM base AS build ENV NODE_ENV=production COPY . /usr/src/app WORKDIR /usr/src/app RUN mkdir -p /prod/scout RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN pnpm deploy --filter=scout --prod /prod/scout FROM base AS manager COPY --from=build /prod/scout /app WORKDIR /app ENTRYPOINT ["pnpm"] CMD ["run", "start:manager"] FROM base AS worker COPY --from=build /prod/scout /app WORKDIR /app ENTRYPOINT ["pnpm"] CMD ["run", "start:worker"]