2026-06-03 00:11:57 UTC
353 MB
7169605F62C751356D054A26A821E680E5FA6305
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA256ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66
PYTHON_VERSION3.13.9
TZAsia/Shanghai
[#000] sha256:2d35ebdb57d9971fea0cac1582aa78935adf8058b2cc32db163c98822e5dfa1b - 1.03% (3.63 MB)
[#001] sha256:d24e45344b415b3025bddd3c7795b3b3f9883beea1dc700ee52587c432184eba - 0.12% (446 KB)
[#002] sha256:0c1a564c7d4a34452712d895e8047635d9a6ba701e9f526f403907ed67d7c780 - 3.34% (11.8 MB)
[#003] sha256:6f6fa290b4c73bf1d47f30315e9949e2fbfc992ad584f6318856c72555b253db - 0.0% (248 Bytes)
[#004] sha256:725180245b4e911c93a5e998e7555622f8ee60fb77f10e412bdf4144bd040f61 - 0.7% (2.47 MB)
[#005] sha256:2960d89cbaefba77cd8445184ba9f9ad95b33b157e49bbe08117708421434717 - 24.02% (84.8 MB)
[#006] sha256:513dadab73f5bf7504e82de9bee5e57ab3248af98c6b77b7ac57172509c6771e - 0.0% (247 Bytes)
[#007] sha256:654b3818da948f332b506a63ca498640a9e1885776737b26fd7d0b6a8f97cefa - 70.78% (250 MB)
[#008] sha256:f7f05fc0cb4658f2c4ae80c278d21d7f6b28689a56fda8b9eef91bf4d22e4b52 - 0.01% (28.4 KB)
[#009] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
ADD alpine-minirootfs-3.22.2-x86_64.tar.gz / # buildkit
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.9
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-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 -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; 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-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-10-14 21:49:24 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
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-06-02 03:02:46 UTC (buildkit.dockerfile.v0)ENV TZ=Asia/Shanghai
2026-06-02 03:02:46 UTC (buildkit.dockerfile.v0)VOLUME [/config /logs /media /fonts]
2026-06-02 03:02:46 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk update # buildkit
2026-06-02 03:02:49 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk add --no-cache build-base linux-headers tzdata # buildkit
2026-06-02 03:02:49 UTC (buildkit.dockerfile.v0)COPY requirements.txt requirements.txt # buildkit
2026-06-02 03:12:19 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install -r requirements.txt && rm requirements.txt # buildkit
2026-06-03 00:11:57 UTC (buildkit.dockerfile.v0)COPY app /app # buildkit
2026-06-03 00:11:57 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c rm -rf /tmp/* # buildkit
2026-06-03 00:11:57 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["python" "/app/main.py"]
2026-06-03 00:11:57 UTC
332 MB
7169605F62C751356D054A26A821E680E5FA6305
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA256ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66
PYTHON_VERSION3.13.9
TZAsia/Shanghai
[#000] sha256:6b59a28fa20117e6048ad0616b8d8c901877ef15ff4c7f18db04e4f01f43bc39 - 1.19% (3.95 MB)
[#001] sha256:71263fa570a63eb3dfff44620561237a401f3196cb998cefa48b23c32c0f4abf - 0.13% (448 KB)
[#002] sha256:69e82d8615442035e9072f7ebebbfdc82f06194b454d313168e5ff21f02bcb14 - 3.56% (11.8 MB)
[#003] sha256:a365b55c38e78952efffd43d7cd4a850e08c2651eee738ae437bb5e8599df70f - 0.0% (248 Bytes)
[#004] sha256:d7a27a77fd8858015e8719e20a7c6402d8348f3eae715c7f5283fee639e2c968 - 0.74% (2.46 MB)
[#005] sha256:2bd59723d13d4ba08bd2c6c3e9126ba51911ad108e8dc18640f7192af913432c - 24.38% (80.9 MB)
[#006] sha256:513dadab73f5bf7504e82de9bee5e57ab3248af98c6b77b7ac57172509c6771e - 0.0% (247 Bytes)
[#007] sha256:f13cefd2e1a88032b9933194cc11bd38028fa84265e25fefbb72d5d9949be168 - 69.99% (232 MB)
[#008] sha256:f7f05fc0cb4658f2c4ae80c278d21d7f6b28689a56fda8b9eef91bf4d22e4b52 - 0.01% (28.4 KB)
[#009] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
ADD alpine-minirootfs-3.22.2-aarch64.tar.gz / # buildkit
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.9
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-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 -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; 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-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-10-14 21:49:24 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
2025-10-14 21:49:24 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-06-02 03:02:48 UTC (buildkit.dockerfile.v0)ENV TZ=Asia/Shanghai
2026-06-02 03:02:48 UTC (buildkit.dockerfile.v0)VOLUME [/config /logs /media /fonts]
2026-06-02 03:02:48 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk update # buildkit
2026-06-02 03:02:58 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk add --no-cache build-base linux-headers tzdata # buildkit
2026-06-02 03:02:49 UTC (buildkit.dockerfile.v0)COPY requirements.txt requirements.txt # buildkit
2026-06-02 04:18:41 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install -r requirements.txt && rm requirements.txt # buildkit
2026-06-03 00:11:57 UTC (buildkit.dockerfile.v0)COPY app /app # buildkit
2026-06-03 00:11:57 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c rm -rf /tmp/* # buildkit
2026-06-03 00:11:57 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["python" "/app/main.py"]
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.