mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-16 16:30:15 +01:00
🐋 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:
parent
007570b5c6
commit
a199b87478
1 changed files with 12 additions and 3 deletions
13
Dockerfile
13
Dockerfile
|
|
@ -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; \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue