Files
mockupAWS/frontend/Dockerfile
Luca Sacchi Ricciardi 1c6f0b5b61
Some checks failed
CI/CD - Build & Test / Backend Tests (push) Has been cancelled
CI/CD - Build & Test / Frontend Tests (push) Has been cancelled
CI/CD - Build & Test / Security Scans (push) Has been cancelled
CI/CD - Build & Test / Docker Build Test (push) Has been cancelled
CI/CD - Build & Test / Terraform Validate (push) Has been cancelled
Deploy to Production / Build & Test (push) Has been cancelled
Deploy to Production / Security Scan (push) Has been cancelled
Deploy to Production / Build Docker Images (push) Has been cancelled
Deploy to Production / Deploy to Staging (push) Has been cancelled
Deploy to Production / E2E Tests (push) Has been cancelled
Deploy to Production / Deploy to Production (push) Has been cancelled
E2E Tests / Run E2E Tests (push) Has been cancelled
E2E Tests / Visual Regression Tests (push) Has been cancelled
E2E Tests / Smoke Tests (push) Has been cancelled
fix: configure nginx proxy for API calls to fix cross-origin issues
Problem:
Frontend was calling localhost:8000 for API, but when accessing
from Windows (192.168.254.79:8888), the browser tried to connect
to localhost on the Windows machine instead of the server.

Solution:
1. Added nginx.conf with proxy configuration for /api/ routes
2. Updated Dockerfile to copy nginx.conf to container
3. Changed api.ts baseURL from 'http://localhost:8000/api/v1' to '/api/v1'
4. Nginx now proxies all /api/ requests to backend:8000

This allows the frontend to work correctly from any client
by using relative paths that nginx proxies to the backend.
2026-04-08 00:05:14 +02:00

32 lines
520 B
Docker

# Dockerfile.frontend
# Frontend React production image
FROM node:20-alpine AS builder
WORKDIR /app
# Copy package files
COPY package*.json ./
# Install dependencies
RUN npm ci --legacy-peer-deps
# Copy source code
COPY . .
# Build application
RUN npm run build
# Production stage with nginx
FROM nginx:alpine
# Copy built assets
COPY --from=builder /app/dist /usr/share/nginx/html
# Copy nginx config with API proxy
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]