27 lines
570 B
Docker
27 lines
570 B
Docker
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"]
|