# Build stage FROM quay.io/fedora/nodejs-18:latest as build WORKDIR /opt/app-root/src COPY package*.json ./ RUN npm install COPY . . RUN npm run build && \ ls -la /opt/app-root/src/build # Production stage - using Fedora NGINX image FROM quay.io/fedora/nginx:latest # Copy build output to NGINX default content directory COPY --from=build /opt/app-root/src/build/ /opt/app-root/src/ COPY nginx.conf /etc/nginx/conf.d/default.conf # Debug - verify files were copied correctly RUN ls -la /opt/app-root/src/ # Configure for OpenShift RUN chmod -R g+rwx /var/cache/nginx /var/run /var/log/nginx && \ chgrp -R 0 /var/cache/nginx /var/run /var/log/nginx && \ mkdir -p /tmp/nginx && \ chmod -R g+rwx /tmp/nginx && \ chgrp -R 0 /tmp/nginx && \ # Make the content directory writable by OpenShift user chmod -R g+rwx /opt/app-root/src && \ chgrp -R 0 /opt/app-root/src # Let OpenShift randomly assign a user ID USER 1001 # Default exposed port for NGINX EXPOSE 8080 CMD ["nginx", "-g", "daemon off;"]