FROM debian:bookworm-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
    python3 python3-pip \
    util-linux \
    gdisk \
    hfsprogs \
    dmg2img \
    xar \
    cpio \
    xz-utils liblzma-dev \
    git build-essential \
    ca-certificates curl \
    && rm -rf /var/lib/apt/lists/*

# pbzx: entpackt Apples pbzx-komprimierte Installer-Payloads (macOS Big Sur+).
# Bewusst aus dem gepflegten Upstream-Repo gebaut statt selbst nachgebaut --
# das Binaerformat ist reverse-engineered und ein fertiges, getestetes Tool
# ist zuverlaessiger als eine selbstgeschriebene Parser-Vermutung.
RUN git clone --depth 1 https://github.com/mackyle/pbzx.git /tmp/pbzx \
    && cd /tmp/pbzx && make && install -m 755 pbzx /usr/local/bin/pbzx \
    && rm -rf /tmp/pbzx

WORKDIR /app
COPY backend/requirements.txt /app/backend/requirements.txt
RUN pip3 install --no-cache-dir --break-system-packages -r /app/backend/requirements.txt

COPY backend /app/backend
COPY frontend /app/frontend

EXPOSE 8080
ENV PYTHONUNBUFFERED=1
CMD ["python3", "/app/backend/app.py"]
