From cfe8493cf5508cc1fda0be0a1c44128946657dcf Mon Sep 17 00:00:00 2001 From: Rajat Saxena Date: Thu, 19 Oct 2023 13:50:03 +0530 Subject: [PATCH] Dockerfile updated --- Dockerfile | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 505e7801..f4e4216e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,17 +15,20 @@ COPY apps/api ./apps/api COPY packages/images ./packages/images COPY packages/thumbnail ./packages/thumbnail -FROM base AS prod-deps -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile --ignore-scripts +# TODO: figure out why it is not working +# FROM base AS prod-deps +# RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile --ignore-scripts FROM base AS build RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN pnpm --filter=@medialit/thumbnail build RUN pnpm --filter=@medialit/images build RUN pnpm --filter=@medialit/api build -RUN ls -ltr packages -FROM base +FROM node:20-slim +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" +RUN corepack enable # install required softwares RUN apt-get update && apt-get -y install ffmpeg imagemagick webp @@ -37,7 +40,7 @@ ENV NODE_ENV production WORKDIR /app # copy files -COPY --chown=node:node --from=prod-deps /app/node_modules /app/node_modules +#COPY --chown=node:node --from=prod-deps /app/node_modules /app/node_modules COPY --chown=node:node --from=build /app/package.json /app/package.json COPY --chown=node:node --from=build /app/pnpm-lock.yaml /app/pnpm-lock.yaml COPY --chown=node:node --from=build /app/pnpm-workspace.yaml /app/pnpm-workspace.yaml @@ -48,7 +51,10 @@ COPY --chown=node:node --from=build /app/packages/images/dist /app/packages/imag COPY --chown=node:node --from=build /app/apps/api/package.json /app/apps/api/package.json COPY --chown=node:node --from=build /app/apps/api/dist /app/apps/api/dist +# Run pnpm install +RUN pnpm install --prod --frozen-lockfile --ignore-scripts + # set a low privileged user USER node -CMD ["pnpm", "--filter=@medialit/api", "start"] +CMD ["pnpm", "--filter=@medialit/api", "start"] \ No newline at end of file