diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c257952..4be5e9b 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -60,6 +60,8 @@ jobs: build-args: | NPM_CONFIG_STRICT_SSL=false NPM_CONFIG_REGISTRY=https://registry.npmjs.org/ + NPM_CONFIG_FETCH_RETRY_MINTIMEOUT=20000 + NPM_CONFIG_FETCH_RETRY_MAXTIMEOUT=120000 NODE_ENV=development publish-npm: @@ -81,9 +83,11 @@ jobs: run: | npm config set strict-ssl false npm config set registry https://registry.npmjs.org/ + npm config set fetch-retry-mintimeout 20000 + npm config set fetch-retry-maxtimeout 120000 - name: Install dependencies - run: npm install + run: npm cache clean --force && npm install --legacy-peer-deps --no-optional - name: Build package run: npm run build diff --git a/Dockerfile b/Dockerfile index d205a53..8b8b2c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,22 +2,26 @@ FROM node:18-alpine WORKDIR /app -# Install dependencies for sharp +# Install dependencies for sharp and network troubleshooting RUN apk add --no-cache \ g++ \ make \ - python3 + python3 \ + curl \ + ca-certificates -# Configure npm to handle potential certificate issues +# Configure npm for better reliability RUN npm config set strict-ssl false RUN npm config set registry https://registry.npmjs.org/ +RUN npm config set fetch-retry-mintimeout 20000 +RUN npm config set fetch-retry-maxtimeout 120000 # Copy package files COPY package*.json ./ -# Install dependencies with development environment for building -ENV NODE_ENV=development -RUN npm install --no-optional --verbose +# Clean npm cache and install dependencies +RUN npm cache clean --force && \ + npm install --legacy-peer-deps --no-optional # Copy source code COPY . .