FROM node:20-alpine WORKDIR /app # Create non-root user first RUN addgroup -g 1001 -S nodejs && \ adduser -S nodejs -u 1001 # Copy package files COPY package*.json ./ # Install dependencies RUN npm ci --only=production # Copy server code and fix ownership COPY --chown=nodejs:nodejs server.js ./ # Set ownership for the whole app directory RUN chown -R nodejs:nodejs /app USER nodejs EXPOSE 3001 CMD ["node", "server.js"]