# ─── Этап 1: сборка фронтенда ─────────────────────────────────────────────
FROM node:22-alpine AS frontend
WORKDIR /fe
COPY frontend/package.json frontend/package-lock.json* ./
RUN npm install --no-audit --no-fund
COPY frontend/ ./
RUN npm run build

# ─── Этап 2: бэкенд + статика фронта ──────────────────────────────────────
FROM python:3.12-slim
WORKDIR /srv

COPY backend/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY backend/app ./app
COPY --from=frontend /fe/dist ./frontend_dist

ENV LEADRADAR_FRONTEND_DIST=/srv/frontend_dist \
    LEADRADAR_DATA=/data \
    PYTHONUNBUFFERED=1

EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
