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 # Copy package files COPY package*.json ./ # Install all dependencies (including devDependencies for development) # Make sure NODE_ENV is not set to production during install RUN NODE_ENV=development npm install # Create necessary directories RUN mkdir -p logs temp && \ chmod 755 logs temp # Copy application files COPY . . # Change ownership of everything to node user (built-in) RUN chown -R node:node /app # Switch to non-root user USER node # Set development environment ENV NODE_ENV=development # Expose port EXPOSE 7510 # Start the application in development mode CMD ["npm", "run", "dev"]