FROM python:3.12-slim

WORKDIR /app

# System deps for build tools + Playwright/Chromium
RUN apt-get update && apt-get install -y --no-install-recommends \
    gcc g++ make cmake \
    # Playwright Chromium dependencies
    libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \
    libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
    libgbm1 libasound2 libpango-1.0-0 libcairo2 libatspi2.0-0 \
    && rm -rf /var/lib/apt/lists/*

RUN pip install uv

COPY pyproject.toml .
COPY uv.lock .

RUN uv pip install --system "pydantic[email]"
RUN uv pip install --system .

# Install Playwright's Chromium browser
RUN playwright install chromium

COPY . .

EXPOSE 8000

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