# Build stage FROM node:18 AS build WORKDIR /app COPY package*.json ./ RUN npm install --legacy-peer-deps COPY . . RUN npm run build # Production stage FROM nginx:alpine COPY --from=build /app/public /usr/share/nginx/html # Fix for Gatsby client-side routing RUN echo 'server { listen 80; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ /index.html; } }' > /etc/nginx/conf.d/default.conf EXPOSE 80