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

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"]
