diff --git a/config/nginx/nginx.conf b/config/nginx/nginx.conf index 650a09c9..7a3b995e 100644 --- a/config/nginx/nginx.conf +++ b/config/nginx/nginx.conf @@ -1,10 +1,19 @@ worker_processes auto; + events { worker_connections 1024; } http { + include mime.types; + default_type application/octet-stream; + + types { + application/javascript js mjs; + text/css css; + } + server { listen 80; @@ -12,5 +21,12 @@ http { root /usr/share/nginx/html; try_files $uri $uri/ /index.html; } + + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { + root /usr/share/nginx/html; + expires 1y; + add_header Cache-Control "public"; + try_files $uri =404; + } } } diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 841f80db..b7799a2d 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -22,12 +22,13 @@ WORKDIR /app/frontend COPY frontend ./ -RUN npm run build +RUN npx vite build FROM nginx:stable AS production-stage COPY config/nginx/nginx.conf /etc/nginx/nginx.conf +COPY --from=build-stage /app/assets /usr/share/nginx/html/assets COPY --from=build-stage /app/frontend/dist /usr/share/nginx/html EXPOSE 80