2026-10-09 08:14:58 UTC
77.5 MB
20
ADB_CONNECT_RETRY_DELAY_SECONDS5
EMULATOR_HOSTandroid-emulator
EMULATOR_PORT5555
MCP_HOST0.0.0.0
MCP_PORT8000
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHONPATH/mcp
PYTHONUNBUFFERED1
PYTHON_SHA2563b48dac8fb59f62eaa67ac83c1eb12bda1b7a08406dd286e252c11a66be27f81
PYTHON_VERSION3.14.7
[#000] sha256:6b37362b3da78869050b894b799ad4df04f1f3b52774087db0d81151570244c8 - 36.68% (28.4 MB)
[#001] sha256:5c21337b2448c4a8923205ad1e092a6464c809780ac426755a2065a39c03369d - 1.59% (1.23 MB)
[#002] sha256:8def98961a31d91a4dc44e69faedbed1efdc1fd5e756d5d4c7c42dd6c8e24f62 - 15.2% (11.8 MB)
[#003] sha256:ad232412d02ef04c3744a3b575ed85f8ce49361d8c38bb81b2b6a9fbbe014dcf - 0.0% (249 Bytes)
[#004] sha256:46ab04af984b0169025f3f3b3a5d7b0bfb7e02bd0ebc5d20ad4f4a1be69a46c3 - 3.96% (3.07 MB)
[#005] sha256:c5ecdd254ee7402921b06821daa67ddc01216940b13689f308280bdecb502390 - 0.01% (4.24 KB)
[#006] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#007] sha256:582ba3f0b0adbd15aa8e7689b46c5b908af800e96533be9619a33889b11abd33 - 42.55% (33 MB)
# debian.sh --arch 'amd64' out/ 'trixie' '@1789689600'
2026-09-19 00:55:47 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-09-19 00:55:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit
2026-09-19 00:55:47 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.14.7
2026-09-19 00:55:47 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=3b48dac8fb59f62eaa67ac83c1eb12bda1b7a08406dd286e252c11a66be27f81
2026-09-19 01:03:01 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev g++ gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev libzstd-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2026-09-19 01:03:01 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
2026-09-19 01:03:01 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-10-09 08:14:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get -qqy update && apt-get -qqy install --no-install-recommends adb && apt autoremove -y && apt clean all && rm -rf /var/lib/apt/lists/* # buildkit
2026-10-09 08:14:47 UTC (buildkit.dockerfile.v0)COPY mcp ./mcp # buildkit
2026-10-09 08:14:47 UTC (buildkit.dockerfile.v0)WORKDIR /mcp
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir -r requirements.txt # buildkit
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)ARG EMULATOR_HOST=android-emulator
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)ARG EMULATOR_PORT=5555
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)ARG ADB_CONNECT_RETRIES=20
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)ARG ADB_CONNECT_RETRY_DELAY_SECONDS=5
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)ARG MCP_HOST=0.0.0.0
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)ARG MCP_PORT=8000
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)ENV PYTHONPATH=/mcp PYTHONUNBUFFERED=1 EMULATOR_HOST=android-emulator EMULATOR_PORT=5555 ADB_CONNECT_RETRIES=20 ADB_CONNECT_RETRY_DELAY_SECONDS=5 MCP_HOST=0.0.0.0 MCP_PORT=8000
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)EXPOSE [8000/tcp]
2026-10-09 08:14:58 UTC (buildkit.dockerfile.v0)CMD ["python" "-m" "src.server"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.