From c8e51a188c04af4d59c7126b8c47c33d02a6f8aa Mon Sep 17 00:00:00 2001 From: dharaneesh-r Date: Thu, 11 Jun 2026 21:27:09 +0530 Subject: [PATCH] updates on the build file --- Dockerfile | 29 ++++++++++++++++++----------- nginx.config | 4 +--- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index b730ce5..3e1d074 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,24 @@ +# Stage 1: Build the React application +FROM node:20-alpine AS build + +WORKDIR /app + +# Copy lock files and install dependencies +COPY package*.json yarn.lock* package-lock.json* ./ +RUN npm ci + +# Copy codebase and compile Vite project +COPY . . +RUN npm run build + +# Stage 2: Serve using Nginx FROM nginx:alpine -# Move to Nginx's public folder -WORKDIR /usr/share/nginx/html +# Copy custom Nginx configuration +COPY nginx.config /etc/nginx/nginx.conf -# 1. CRUCIAL: Remove Nginx's default "Welcome" page files completely -RUN rm -rf ./* - -# 2. Copy your compiled static assets into the root folder. -# NOTE: If your folder is named "dist" instead of "build", change "build/" to "dist/" -COPY build/ . - -# 3. Copy your custom Nginx configuration (which you already have in your log) -COPY nginx.conf /etc/nginx/nginx.conf +# Copy Vite's dist output from Stage 1 to Nginx default html path +COPY --from=build /app/dist /usr/share/nginx/html EXPOSE 3000 diff --git a/nginx.config b/nginx.config index adc275b..033f935 100644 --- a/nginx.config +++ b/nginx.config @@ -11,9 +11,7 @@ http { location / { root /usr/share/nginx/html; index index.html index.htm; - # Next.js static export creates page.html (e.g. contact.html) for routes. - # We check $uri.html to allow clean URLs without the .html extension. - try_files $uri $uri.html $uri/ /404.html; + try_files $uri $uri/ /index.html; } } }