FROM node:18.19-alpine AS builder WORKDIR /usr/src/app COPY package*.json ./ RUN npm ci COPY . . FROM node:18.19-alpine WORKDIR /usr/src/app # Create a non-root user RUN addgroup -S appgroup && adduser -S appuser -G appgroup COPY --from=builder /usr/src/app/node_modules ./node_modules COPY --from=builder /usr/src/app/package*.json ./ COPY --from=builder /usr/src/app/ ./ # Set ownership to non-root user RUN chown -R appuser:appgroup /usr/src/app USER appuser EXPOSE 3000 CMD ["node", "server.js"]