FROM node:18-alpine as builder WORKDIR /app # Copy package files from portal directory COPY portal/package*.json ./ RUN npm install # Copy the rest of the portal files COPY portal/ . RUN npm run build FROM nginx:stable-alpine # Fix permissions for OpenShift RUN chown -R nginx:0 /var/cache/nginx /var/run /var/log/nginx && \ chmod -R g+rwx /var/cache/nginx /var/run /var/log/nginx && \ chown -R nginx:0 /usr/share/nginx && \ chmod -R g+rwx /usr/share/nginx COPY --from=builder /app/build /usr/share/nginx/html COPY portal/nginx.conf /etc/nginx/conf.d/default.conf # Use non-root user USER nginx EXPOSE 8080 CMD ["nginx", "-g", "daemon off;"]