🐋 ci: Optimize Dockerfile Caching (#8480)

* 🐳 chore(docker): optimize Docker npm dependency caching

* Update Dockerfile

---------

Co-authored-by: Danny Avila <danacordially@gmail.com>
This commit is contained in:
faustoFF 2025-08-13 03:00:59 +03:00 committed by GitHub
parent 007570b5c6
commit a199b87478
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,7 +19,12 @@ WORKDIR /app
USER node USER node
COPY --chown=node:node . . COPY --chown=node:node package.json package-lock.json ./
COPY --chown=node:node api/package.json ./api/package.json
COPY --chown=node:node client/package.json ./client/package.json
COPY --chown=node:node packages/data-provider/package.json ./packages/data-provider/package.json
COPY --chown=node:node packages/data-schemas/package.json ./packages/data-schemas/package.json
COPY --chown=node:node packages/api/package.json ./packages/api/package.json
RUN \ RUN \
# Allow mounting of these files, which have no default # Allow mounting of these files, which have no default
@ -29,7 +34,11 @@ RUN \
npm config set fetch-retry-maxtimeout 600000 ; \ npm config set fetch-retry-maxtimeout 600000 ; \
npm config set fetch-retries 5 ; \ npm config set fetch-retries 5 ; \
npm config set fetch-retry-mintimeout 15000 ; \ npm config set fetch-retry-mintimeout 15000 ; \
npm install --no-audit; \ npm ci --no-audit
COPY --chown=node:node . .
RUN \
# React client build # React client build
NODE_OPTIONS="--max-old-space-size=2048" npm run frontend; \ NODE_OPTIONS="--max-old-space-size=2048" npm run frontend; \
npm prune --production; \ npm prune --production; \
@ -47,4 +56,4 @@ CMD ["npm", "run", "backend"]
# WORKDIR /usr/share/nginx/html # WORKDIR /usr/share/nginx/html
# COPY --from=node /app/client/dist /usr/share/nginx/html # COPY --from=node /app/client/dist /usr/share/nginx/html
# COPY client/nginx.conf /etc/nginx/conf.d/default.conf # COPY client/nginx.conf /etc/nginx/conf.d/default.conf
# ENTRYPOINT ["nginx", "-g", "daemon off;"] # ENTRYPOINT ["nginx", "-g", "daemon off;"]