59 lines
1.4 KiB
Docker
Raw Normal View History

2025-06-19 09:44:27 +00:00
# Use a multi-stage build
FROM farhan23432/ris_git:2.30.1 AS code
# Set build arguments and labels
ARG BUILD_ID
RUN echo $BUILD_ID
LABEL stage=builder
LABEL build_id=$BUILD_ID
# Clone repository and copy React.js code
RUN mkdir /repo
WORKDIR /repo
RUN git clone http://$GITEA_USER:$GITEA_PASS@157.66.191.31:3000/risadmin_prod/test053rb.git
COPY . .
# Use a multi-stage build
FROM node:14-alpine AS builder
# Set working directory
WORKDIR /app
# Copy React.js code and install dependencies
COPY --from=code /repo/test053rb/test053rb-frontrb-f/Authsec_ReactBootStrapNew/ .
# Clear everything and do a fresh install
RUN rm -rf node_modules && \
rm -rf package-lock.json && \
npm cache clean --force
# Install html2canvas first with exact version
RUN npm install html2canvas@1.4.1 --save-exact --no-package-lock
# Install all other dependencies
RUN npm install --force --legacy-peer-deps
# Verify the package is installed
RUN ls -la node_modules/html2canvas && \
ls -la node_modules/html2canvas/dist
# Set environment variables
2025-06-19 09:50:31 +00:00
ENV PUBLIC_URL=http://157.66.191.31:35293/test053rb40482/frontrb
2025-06-19 09:44:27 +00:00
ENV NODE_PATH=/app/node_modules
# Run build
RUN npm run build
# Use Nginx as the web server
FROM nginx:alpine
# Copy build artifacts from the previous stage to serve React.js application
COPY --from=builder /app/build /usr/share/nginx/html
# Expose port 80
EXPOSE 80
# Start Nginx when the container runs
CMD ["nginx", "-g", "daemon off;"]