# Stage 1: Build React Frontend FROM node:22-alpine AS frontend WORKDIR /app/web COPY web/package*.json ./ RUN npm ci COPY web/ ./ RUN npm run build # Stage 2: Python Backend + Static Files FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY server/ ./server/ COPY --from=frontend /app/web/dist ./static/ EXPOSE 8080 CMD ["uvicorn", "server.main:app", "--host", "0.0.0.0", "--port", "8080"]