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 80
CMD ["nginx", "-g", "daemon off;"] 