# PaperMiner — single-stage production image.
#
# Build:  docker build -t paperminer:latest .
# CLI:   docker run --rm -v $PWD/.env:/app/.env paperminer:latest paperminer discover time_series
# API:   docker run --rm -p 8000:8000 -v $PWD/.env:/app/.env paperminer:latest paperminer-api
# MCP:   docker run --rm -i -v $PWD/.env:/app/.env paperminer:latest paperminer-mcp

FROM python:3.11-slim AS base

# Prevent Python from writing pyc files and buffering stdout/stderr
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1

WORKDIR /app

# Copy only dependency spec first so Docker layer-caches it
COPY pyproject.toml README.md ./

# Install the package (runtime deps only)
RUN pip install --no-cache-dir .

# Copy application source
COPY src ./src
COPY domains.yaml ./

# Default working directory already /app
# Entrypoint is the CLI (`paperminer`); override for other modes.
ENTRYPOINT ["paperminer"]
CMD ["--help"]
