# === Builder stage ===
FROM python:3.12-slim-bookworm AS builder

WORKDIR /build

RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential libffi-dev && \
    rm -rf /var/lib/apt/lists/*

COPY pyproject.toml README.md LICENSE ./
COPY md2pdf_py/ md2pdf_py/

RUN pip install --no-cache-dir build && \
    python -m build --wheel && \
    pip install --no-cache-dir dist/*.whl

# === Runtime stage ===
FROM python:3.12-slim-bookworm

LABEL org.opencontainers.image.source="https://github.com/hakanbaysal/md2pdf-py"
LABEL org.opencontainers.image.description="Markdown to PDF converter"

RUN apt-get update && apt-get install -y --no-install-recommends \
    libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf-2.0-0 \
    libffi-dev shared-mime-info fonts-dejavu fonts-noto && \
    rm -rf /var/lib/apt/lists/*

# Copy installed Python packages from builder
COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
COPY --from=builder /usr/local/bin/md2pdf /usr/local/bin/md2pdf

# Non-root user
RUN useradd --uid 1000 --create-home md2pdf
USER md2pdf

WORKDIR /data

HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
    CMD ["md2pdf", "--version"]

ENTRYPOINT ["md2pdf"]
CMD ["--help"]
