diff --git a/frontend/Dockerfile b/frontend/Dockerfile index d4d25e1..0d3b02f 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -39,15 +39,24 @@ RUN echo 'server {' > /etc/nginx/conf.d/default.conf && \ echo ' gzip_min_length 1024;' >> /etc/nginx/conf.d/default.conf && \ echo ' gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml+rss application/json;' >> /etc/nginx/conf.d/default.conf && \ echo '' >> /etc/nginx/conf.d/default.conf && \ - echo ' location / {' >> /etc/nginx/conf.d/default.conf && \ - echo ' try_files $uri $uri/ /index.html;' >> /etc/nginx/conf.d/default.conf && \ - echo ' }' >> /etc/nginx/conf.d/default.conf && \ - echo '' >> /etc/nginx/conf.d/default.conf && \ - echo ' # Cache static assets' >> /etc/nginx/conf.d/default.conf && \ - echo ' location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp)$ {' >> /etc/nginx/conf.d/default.conf && \ + echo ' # Serve static assets directly (no fallback to index.html)' >> /etc/nginx/conf.d/default.conf && \ + echo ' location /assets/ {' >> /etc/nginx/conf.d/default.conf && \ + echo ' try_files $uri =404;' >> /etc/nginx/conf.d/default.conf && \ echo ' expires 1y;' >> /etc/nginx/conf.d/default.conf && \ echo ' add_header Cache-Control "public, immutable";' >> /etc/nginx/conf.d/default.conf && \ echo ' }' >> /etc/nginx/conf.d/default.conf && \ + echo '' >> /etc/nginx/conf.d/default.conf && \ + echo ' # Cache other static assets' >> /etc/nginx/conf.d/default.conf && \ + echo ' location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp)$ {' >> /etc/nginx/conf.d/default.conf && \ + echo ' try_files $uri =404;' >> /etc/nginx/conf.d/default.conf && \ + echo ' expires 1y;' >> /etc/nginx/conf.d/default.conf && \ + echo ' add_header Cache-Control "public, immutable";' >> /etc/nginx/conf.d/default.conf && \ + echo ' }' >> /etc/nginx/conf.d/default.conf && \ + echo '' >> /etc/nginx/conf.d/default.conf && \ + echo ' # SPA fallback for all other routes' >> /etc/nginx/conf.d/default.conf && \ + echo ' location / {' >> /etc/nginx/conf.d/default.conf && \ + echo ' try_files $uri $uri/ /index.html;' >> /etc/nginx/conf.d/default.conf && \ + echo ' }' >> /etc/nginx/conf.d/default.conf && \ echo '}' >> /etc/nginx/conf.d/default.conf # Copy built files from build stage diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 1406734..473b7a5 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], + base: '/', server: { port: 5173, proxy: {