From 922b6f31d130c9ac8e8346db912275a7e7681328 Mon Sep 17 00:00:00 2001 From: Joyce <26967919+Joyce-O@users.noreply.github.com> Date: Wed, 21 Jan 2026 16:36:40 -0500 Subject: [PATCH] add static serve --- docker-compose.yml | 2 ++ frontend/Dockerfile.prod | 16 ++++++---------- frontend/nginx.conf | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 frontend/nginx.conf diff --git a/docker-compose.yml b/docker-compose.yml index f96e885..f67cd56 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -43,6 +43,8 @@ services: depends_on: - backend restart: unless-stopped + expose: + - '80' volumes: postgres_data: diff --git a/frontend/Dockerfile.prod b/frontend/Dockerfile.prod index c9a4952..08030fb 100644 --- a/frontend/Dockerfile.prod +++ b/frontend/Dockerfile.prod @@ -15,18 +15,14 @@ ENV VITE_API_URL=${VITE_API_URL} RUN npm run build # Production stage -FROM caddy:alpine +FROM nginx:alpine # Copy built assets -COPY --from=builder /app/dist /srv +COPY --from=builder /app/dist /usr/share/nginx/html -# Caddyfile for SPA routing -RUN echo ':8080 { \ - root * /srv \ - file_server \ - try_files {path} /index.html \ -}' > /etc/caddy/Caddyfile +# Copy nginx config +COPY nginx.conf /etc/nginx/conf.d/default.conf -EXPOSE 8080 +EXPOSE 80 -CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"] +CMD ["nginx", "-g", "daemon off;"] diff --git a/frontend/nginx.conf b/frontend/nginx.conf new file mode 100644 index 0000000..3f2f5cf --- /dev/null +++ b/frontend/nginx.conf @@ -0,0 +1,19 @@ +server { + listen 80; + server_name _; + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } + + location /assets/ { + expires 1y; + add_header Cache-Control "public, immutable"; + } + + gzip on; + gzip_types text/css application/javascript application/json image/svg+xml; + gzip_comp_level 6; +}