FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim

# WeasyPrint-Systemabhängigkeiten (Pango, GDK-PixBuf, Fonts)
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-core \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
ENV UV_COMPILE_BYTECODE=1 \
    UV_LINK_MODE=copy \
    PYTHONUNBUFFERED=1

# Projektdateien (uv.lock vorhanden -> reproduzierbarer Install)
COPY pyproject.toml uv.lock README.md ./
COPY src ./src
COPY plugins ./plugins
COPY main.py .

RUN uv sync --frozen --no-dev

EXPOSE 8000
VOLUME ["/app/data"]

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