FROM node:20-alpine # Install MinIO client RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc && \ chmod +x mc && \ mv mc /usr/local/bin/ # Install development dependencies RUN apk add --no-cache bash # Create app directory WORKDIR /app # Create non-root user (same UID/GID as most development systems) RUN addgroup -g 1000 -S nodejs && \ adduser -S nodejs -u 1000 -G nodejs # Copy package files COPY package*.json ./ # Install dependencies as root RUN npm install # Create necessary directories RUN mkdir -p logs temp && \ chmod 755 logs temp # Copy application files COPY . . # Change ownership of everything to nodejs user RUN chown -R nodejs:nodejs /app # Switch to non-root user USER nodejs # Expose port EXPOSE 7510 # Start the application in development mode CMD ["npm", "run", "dev"]