Skip to content

Commit

Permalink
Dockerfile updated
Browse files Browse the repository at this point in the history
  • Loading branch information
Rajat Saxena committed Oct 19, 2023
1 parent 33a3627 commit cfe8493
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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"]

0 comments on commit cfe8493

Please sign in to comment.