FROM node:18-alpine as builder WORKDIR /app # Copy package files COPY package*.json ./ RUN npm install # Copy source COPY . . # Build 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 built files COPY --from=builder /app/build /usr/share/nginx/html # Copy nginx config COPY nginx.conf /etc/nginx/conf.d/default.conf # Use non-root user USER nginx EXPOSE 8080 CMD ["nginx", "-g", "daemon off;"]