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/ # Create app directory WORKDIR /app # Copy package files COPY package*.json ./ # Install production dependencies RUN npm ci --only=production # Copy application files COPY . . # Create logs directory RUN mkdir -p logs # Create non-root user RUN addgroup -g 1001 -S nodejs && \ adduser -S nodejs -u 1001 # Change ownership RUN chown -R nodejs:nodejs /app # Switch to non-root user USER nodejs # Expose port EXPOSE 3000 # Start the application CMD ["node", "src/app.js"]