# First stage: generate the package-lock.json file FROM node:21 as builder WORKDIR /app # Copy package.json to generate package-lock.json COPY package.json ./ # Run npm install to generate package-lock.json RUN npm install # Second stage: use the generated package-lock.json for a clean install FROM node:21 WORKDIR /app # Copy package.json and the generated package-lock.json from the builder stage COPY package.json ./ COPY --from=builder /app/package-lock.json ./ # Use npm ci with the lock file for a reproducible, production install RUN npm ci --only=production # Copy the rest of your application code COPY . . EXPOSE 7860 CMD ["node", "server.js"]