# Build stage FROM quay.io/fedora/nodejs-18:latest as build # Stay as root during the build stage to avoid permission issues USER root # Set up working directory WORKDIR /opt/app-root/src # Copy package.json files COPY package*.json ./ # Install dependencies with a simpler approach to avoid permission issues ENV NODE_ENV=production ENV DISABLE_ESLINT_PLUGIN=true ENV ESLINT_NO_DEV_ERRORS=true # Install dependencies RUN npm install --production=false --no-package-lock # Copy the rest of the application COPY . ./ # Build the application with ESLint disabled RUN DISABLE_ESLINT_PLUGIN=true npm run build # Production stage FROM quay.io/fedora/nginx-126 # Copy build output directly to NGINX html directory COPY --from=build /opt/app-root/src/build/ /usr/share/nginx/html/ # Copy NGINX configuration COPY nginx.conf "${NGINX_CONF_PATH}" # Set correct permissions for NGINX USER root RUN chmod -R a+rwX /usr/share/nginx/html/ USER 1001 # Run the application CMD nginx -g "daemon off;"