# syntax=docker/dockerfile:1
FROM python:3.11-slim

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    ca-certificates \
    libpq-dev \
    gcc \
    && rm -rf /var/lib/apt/lists/*

# Install uv for fast Python package management
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

WORKDIR /app

# Copy dependency definitions
COPY pyproject.toml /app/

# Install Python dependencies
RUN uv pip install --system --no-cache -r pyproject.toml

# Copy source code and database migrations
COPY src/ /app/src/
COPY schema.sql /app/
COPY README.md /app/

# Install package in editable mode
RUN uv pip install --system --no-cache -e .

ENV PYTHONPATH="/app/src"
ENV PYTHONUNBUFFERED=1

ENTRYPOINT ["oem-crawler"]
CMD ["--brand", "bmw", "--limit", "50"]
