34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
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"]
|