diff --git a/docker/frontend/Dockerfile b/docker/frontend/Dockerfile index 9cec523..3b5ff2a 100644 --- a/docker/frontend/Dockerfile +++ b/docker/frontend/Dockerfile @@ -3,6 +3,9 @@ FROM node:18-alpine as build WORKDIR /app +# Debug: Show working directory +RUN pwd && ls -la + # Copy package files COPY frontend/package*.json ./ @@ -12,9 +15,15 @@ RUN npm install # Copy source code COPY frontend/ ./ +# Debug: Show files before build +RUN echo "Files before build:" && ls -la + # Build the app RUN npm run build +# Debug: Show build output +RUN echo "Build output:" && ls -la dist/ + # Production stage FROM nginx:alpine @@ -27,14 +36,8 @@ COPY --from=build /app/dist/ /usr/share/nginx/html/ # Copy nginx configuration COPY docker/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf -# Ensure correct permissions -RUN chown -R nginx:nginx /usr/share/nginx/html && \ - chmod -R 755 /usr/share/nginx/html && \ - chown -R nginx:nginx /var/cache/nginx && \ - chown -R nginx:nginx /var/log/nginx && \ - chown -R nginx:nginx /etc/nginx/conf.d - -USER nginx +# Debug: Show copied files +RUN echo "Files in nginx html dir:" && ls -la /usr/share/nginx/html/ EXPOSE 80 diff --git a/docker/nginx/conf.d/default.conf b/docker/nginx/conf.d/default.conf index 7dba7c3..bbede32 100644 --- a/docker/nginx/conf.d/default.conf +++ b/docker/nginx/conf.d/default.conf @@ -1,15 +1,27 @@ server { listen 80; - server_name localhost; + server_name 185.139.70.62; root /usr/share/nginx/html; index index.html; + # Enable debug logging + error_log /var/log/nginx/error.log debug; + access_log /var/log/nginx/access.log; + + # Handle all routes for the SPA location / { try_files $uri $uri/ /index.html; add_header Cache-Control "no-cache"; } + # Admin route + location /admin { + try_files $uri $uri/ /index.html; + add_header Cache-Control "no-cache"; + } + + # API proxy location /api/ { proxy_pass http://backend:8000; proxy_http_version 1.1; @@ -21,6 +33,7 @@ server { proxy_set_header X-Forwarded-Proto $scheme; } + # Static assets location /assets/ { alias /usr/share/nginx/html/assets/; expires 1y;