FROM python:3.11-slim

WORKDIR /app

# Install system dependencies for newspaper3k and psycopg2
RUN apt-get update && apt-get install -y --no-install-recommends \
    gcc \
    libxml2-dev \
    libxslt1-dev \
    libjpeg-dev \
    zlib1g-dev \
    libpq-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Python dependencies
COPY requirements-pipeline.txt ./requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Download NLTK data needed by newspaper3k
RUN python -c "import nltk; nltk.download('punkt_tab', quiet=True)"

# Copy application code
COPY . .

CMD ["python", "run_pipeline.py"]
