# Main image # ---------- FROM ubuntu:24.04 AS main COPY --from=ghcr.io/astral-sh/uv:0.11.8 /uv /uvx /usr/local/bin/ LABEL org.opencontainers.image.url="https://mvt.re" LABEL org.opencontainers.image.documentation="https://docs.mvt.re" LABEL org.opencontainers.image.source="https://github.com/mvt-project/mvt" LABEL org.opencontainers.image.title="Mobile Verification Toolkit (iOS)" LABEL org.opencontainers.image.description="MVT is a forensic tool to look for signs of infection in smartphone devices." LABEL org.opencontainers.image.licenses="MVT License 1.1" LABEL org.opencontainers.image.base.name=docker.io/library/ubuntu:24.04 # Install runtime dependencies ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ git \ libssl3 \ libusb-1.0-0 \ python3 \ sqlite3 \ && rm -rf /var/lib/apt/lists/* # Install MVT and pymobiledevice3. Native build dependencies are needed on ARM64. ARG PYMOBILEDEVICE3_VERSION=11.12.4 COPY . mvt/ RUN apt-get update \ && apt-get install -y --no-install-recommends build-essential python3-dev libssl-dev \ && uv pip install --system --break-system-packages --no-cache ./mvt "pymobiledevice3==${PYMOBILEDEVICE3_VERSION}" \ && apt-get purge -y --auto-remove build-essential python3-dev libssl-dev \ && rm -rf mvt /var/lib/apt/lists/* \ && pymobiledevice3 --help > /dev/null \ && pymobiledevice3 backup2 --help > /dev/null \ && mvt-ios --help > /dev/null ENTRYPOINT [ "/usr/local/bin/mvt-ios" ]