diff --git a/Frontend/.dockerignore b/Frontend/.dockerignore new file mode 100644 index 0000000..dd6fce0 --- /dev/null +++ b/Frontend/.dockerignore @@ -0,0 +1,6 @@ +dist/ +Dockerfile +node_modules/ +package-lock.json +README.md +vercel.json diff --git a/Frontend/.env b/Frontend/.env index 93fa24a..4b87f7d 100644 --- a/Frontend/.env +++ b/Frontend/.env @@ -1 +1 @@ -VITE_API_URL=http://localhost:8000 \ No newline at end of file +VITE_API_URL = http://localhost:8000 diff --git a/Frontend/Dockerfile b/Frontend/Dockerfile index 6345e4a..9d30d33 100644 --- a/Frontend/Dockerfile +++ b/Frontend/Dockerfile @@ -1,6 +1,10 @@ # Base image FROM node:22 +# Environment variables +ENV MODEL_URI= +ENV BACKEND_URI= + # Metadata LABEL maintainer="kshitijka" LABEL version=1.1.0 @@ -8,8 +12,7 @@ LABEL description="Crop Compass is a centralized management dashboard designed f # Update and upgrade RUN apt update && apt upgrade -y && \ - apt clean all && \ - rm -rf /var/lib/apt/lists/* + apt clean all && rm -rf /var/lib/apt/lists/* # Create non-root user RUN useradd -s /bin/bash nonroot @@ -18,7 +21,12 @@ RUN useradd -s /bin/bash nonroot RUN mkdir -p /app RUN chown -R nonroot:nonroot /app WORKDIR /app -COPY dist/ . +COPY . . +RUN echo $BACKEND_URI > /app/.env + +# Building frontend +RUN npm install +RUN npm run build # Install server RUN npm install -g serve @@ -30,4 +38,4 @@ USER nonroot EXPOSE 3000 # Run frontend -CMD ["serve", "-s", "/app"] +CMD ["serve", "-s", "/app/dist"] diff --git a/Frontend/src/pages/UserPanel/Ai.jsx b/Frontend/src/pages/UserPanel/Ai.jsx index 808ae80..9835669 100644 --- a/Frontend/src/pages/UserPanel/Ai.jsx +++ b/Frontend/src/pages/UserPanel/Ai.jsx @@ -24,7 +24,7 @@ const Ai = () => { const formData = new FormData(); formData.append("image", selectedFile); - const response = await fetch("http://model:8081/predict", { + const response = await fetch("${MODEL_URI}/predict", { method: "POST", body: formData, });