2026-05-10 18:54:37 UTC
42.8 MB
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT8080
PYTHONDONTWRITEBYTECODE1
PYTHONUNBUFFERED1
PYTHON_SHA256d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
PYTHON_VERSION3.14.4
[#000] sha256:6a0ac1617861a677b045b7ff88545213ec31c0ff08763195a70a4a5adda577bb - 8.62% (3.69 MB)
[#001] sha256:5404ec0dd73e7f052f8c5ba25a6b5a74648c6cf447615b30026da2e7feed046c - 1.02% (445 KB)
[#002] sha256:bb975258b557670c54a75dcef1382e512b3e25d7fe4107242ddf1b93a0b0df51 - 29.87% (12.8 MB)
[#003] sha256:5067ea42d32c497ea1600b9297c31c1ea49aee050da96837b8510a2dba63cb69 - 0.0% (248 Bytes)
[#004] sha256:9a04e27320303084ae50098dd8e1d10987cdb88859b1f7b1ce75bbd47faf3aae - 12.05% (5.15 MB)
[#005] sha256:c533e60448b8f71fc42d286e1a6a16af8084bfd58c1059a6e4d964b4ca7e56a2 - 21.11% (9.03 MB)
[#006] sha256:c8be2317e28592946654446d30b36514c2b06ab463a5698877f080c44971f6f1 - 0.0% (127 Bytes)
[#007] sha256:33ce4922f2bdec57520cd6869d9e5e446223751d686f07e64d7c737703a456a3 - 0.0% (93 Bytes)
[#008] sha256:ec6081705b6c7b490594b2926575f9511f75660aedb10d970add13830e044dbe - 0.0% (1.17 KB)
[#009] sha256:427f7a1a892cdabe28fe4f466d2671c1dc4f38e7d3da486c65bf661b9a2f0b2d - 26.97% (11.5 MB)
[#010] sha256:62a1e600a571f5ddcdb25ea31f3aa401ada1fbd7129b9c8892e141f8179db128 - 0.0% (333 Bytes)
[#011] sha256:64a7d2293275589d54a3b9f4dee7f87dc5dadbaac5d5f9d278041f87fe9e6a13 - 0.15% (64.9 KB)
[#012] sha256:bfca13ab0c6f7f4ae2433d6006d20915d4b18bd894db648d5438d445f2f27f76 - 0.09% (40.9 KB)
[#013] sha256:08365e64ec236a4afa06fb251170736e3ca373ee5a39c6f98ab8eed037e79028 - 0.03% (15.2 KB)
[#014] sha256:884b3be0a857e7bdd58cdc465d02f4d941bc467972758353fe9245e02edc6b25 - 0.07% (32 KB)
[#015] sha256:679e6dc4c63aed3686589cd42b5d194bfe431832028b2e99eb477d58ee0bde37 - 0.0% (113 Bytes)
[#016] sha256:b214a85c9f52751ab5503e35a20d6da106f1563a55322fc02747a5791925a4eb - 0.0% (113 Bytes)
ADD alpine-minirootfs-3.23.4-x86_64.tar.gz / # buildkit
2026-04-15 20:01:40 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.14.4
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
2026-04-15 20:49:28 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 zstd-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-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
2026-04-15 20:49:28 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-04-15 20:49:28 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-05-10 17:27:02 UTC (buildkit.dockerfile.v0)COPY /wheels/*.whl /tmp/wheels/ # buildkit
2026-05-10 17:27:07 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir /tmp/wheels/*.whl # buildkit
2026-05-10 17:27:07 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c rm -rf /tmp/wheels/ # buildkit
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 PORT=8080
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)COPY pyproject.toml . # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir . # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)COPY main.py ./ # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)COPY src/ ./src/ # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)COPY lang/ ./lang/ # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)COPY icons/ ./icons/ # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)COPY web/ ./web/ # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/data && chmod 777 /app/data # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/logs && chmod 777 /app/logs # buildkit
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)EXPOSE [8080/tcp]
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)HEALTHCHECK &{["CMD-SHELL" "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8080/api/status')\" || exit 1"] "30s" "3s" "10s" "0s" '\x03'}
2026-05-10 18:54:37 UTC (buildkit.dockerfile.v0)CMD ["python" "main.py"]
2026-05-10 18:56:47 UTC
43.3 MB
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT8080
PYTHONDONTWRITEBYTECODE1
PYTHONUNBUFFERED1
PYTHON_SHA256d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
PYTHON_VERSION3.14.4
[#000] sha256:c160e404c59d6d30c66a0d74bbd17337f178f5d898a9908e18c71ce3bbe28c99 - 7.23% (3.13 MB)
[#001] sha256:0589cc5664c777bd5991794aae3771728371dd697b2e0f14bba9e3dc3ef83caa - 1.0% (445 KB)
[#002] sha256:997fe038125e703d76ae7021dc0ce94b9ce13a9d47857d2eaa4dec1975dbec2f - 27.79% (12 MB)
[#003] sha256:fd447a0a7b6828c47236e059f6b0698ad652725976f14ee195bb1891ae183772 - 0.0% (249 Bytes)
[#004] sha256:7eb9097754e1353ff484732edc7d1fabeb5cd9987ec33495172270cae30e2eb9 - 11.33% (4.91 MB)
[#005] sha256:fa924f9982adb5888cd9180f550976a81ecfee3c1da72d03d45bee8b1281c1b4 - 20.27% (8.78 MB)
[#006] sha256:f9192650c1c3827b2317df85556de8cbd317cf9a68d49bed1a144a8ab7ce1db8 - 0.0% (127 Bytes)
[#007] sha256:33ce4922f2bdec57520cd6869d9e5e446223751d686f07e64d7c737703a456a3 - 0.0% (93 Bytes)
[#008] sha256:ec6081705b6c7b490594b2926575f9511f75660aedb10d970add13830e044dbe - 0.0% (1.17 KB)
[#009] sha256:5d3cd7a502809c89fe395efb56f81625c72b09525484fd4b7f94a6ee96a87113 - 32.03% (13.9 MB)
[#010] sha256:fe81e0a2ff348ad8f97a2cd7f22c94cdb14679adb081b3315b283f627a315065 - 0.0% (338 Bytes)
[#011] sha256:294e25f2cfe7ef91ff4a8a11f147d99d5c2306a0fdc7df90fd8afaf0cfe9a135 - 0.15% (64.9 KB)
[#012] sha256:413b910e14a4025f2246cfe504771d57ff8157bfd571e0ab727a26c8bcdd7cb1 - 0.09% (40.9 KB)
[#013] sha256:b4f1b45b7beadf1cee02a4101a062b61d6bbc3e9be40621b875f098fdf466e33 - 0.03% (15.2 KB)
[#014] sha256:b1b7c275e869c202e5e79cf72cb7dba9f7835a9445161a3e61a5388ee92a4fdd - 0.07% (32 KB)
[#015] sha256:5f5a422254d12a89413f7d98a10eb4358a40c0c8799b2315a56e65cb31525970 - 0.0% (113 Bytes)
[#016] sha256:0db87609c5691a7b851009ac56eebe56079e86099577b66df9aff3991ff082bf - 0.0% (115 Bytes)
ADD alpine-minirootfs-3.23.4-armv7.tar.gz / # buildkit
2026-04-15 20:01:47 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2026-04-15 20:42:22 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-04-15 20:42:22 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2026-04-15 20:42:22 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.14.4
2026-04-15 20:42:22 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
2026-04-15 20:45:08 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 zstd-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-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
2026-04-15 20:45:08 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-04-15 20:45:08 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-05-10 17:47:25 UTC (buildkit.dockerfile.v0)COPY /wheels/*.whl /tmp/wheels/ # buildkit
2026-05-10 17:47:54 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir /tmp/wheels/*.whl # buildkit
2026-05-10 17:47:54 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c rm -rf /tmp/wheels/ # buildkit
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 PORT=8080
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)COPY pyproject.toml . # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir . # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)COPY main.py ./ # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)COPY src/ ./src/ # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)COPY lang/ ./lang/ # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)COPY icons/ ./icons/ # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)COPY web/ ./web/ # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/data && chmod 777 /app/data # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/logs && chmod 777 /app/logs # buildkit
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)EXPOSE [8080/tcp]
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)HEALTHCHECK &{["CMD-SHELL" "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8080/api/status')\" || exit 1"] "30s" "3s" "10s" "0s" '\x03'}
2026-05-10 18:56:47 UTC (buildkit.dockerfile.v0)CMD ["python" "main.py"]
2026-05-10 18:56:11 UTC
42.9 MB
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT8080
PYTHONDONTWRITEBYTECODE1
PYTHONUNBUFFERED1
PYTHON_SHA256d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
PYTHON_VERSION3.14.4
[#000] sha256:d17f077ada118cc762df373ff803592abf2dfa3ddafaa7381e364dd27a88fca7 - 9.35% (4.01 MB)
[#001] sha256:ce044e508c31b550012103ac403762a3f10a13a30aa1a69e117060b0d6d43a9d - 1.02% (447 KB)
[#002] sha256:9def3ce2dae125b2efcb5100bde3ecee4d9b5f78b9088098753338af9e277661 - 30.0% (12.9 MB)
[#003] sha256:9363636621cd74af602f2571bc4ee6ffe761c3ddcdbb85e4e29d3044e1d555e6 - 0.0% (250 Bytes)
[#004] sha256:ba6e3748ed5266451cd67ffb77b933c772bfe5d6c6f52c4f978dd0608ade3e66 - 11.9% (5.1 MB)
[#005] sha256:bf91b4bc58ebc2bde1465c1972eb6b837059674a4934fd48a8ee58d228eab672 - 20.96% (8.98 MB)
[#006] sha256:387a72887376022aa2aae1e6db2f6667e78488c3c7ea5328bd04a26a34a66548 - 0.0% (127 Bytes)
[#007] sha256:33ce4922f2bdec57520cd6869d9e5e446223751d686f07e64d7c737703a456a3 - 0.0% (93 Bytes)
[#008] sha256:ec6081705b6c7b490594b2926575f9511f75660aedb10d970add13830e044dbe - 0.0% (1.17 KB)
[#009] sha256:7119361510a1bd361c5401a2a4fcd588fdf0bed391c9ecf7823245b7f7790fb9 - 26.42% (11.3 MB)
[#010] sha256:ed682ae3f3645074dec36e07f5d251a4a8c39582fa89c91180b105acace730b0 - 0.0% (338 Bytes)
[#011] sha256:c3b5d039e46679a81242573aae155ca304720957c98db0157ddd6fe4f6a108cc - 0.15% (64.9 KB)
[#012] sha256:ac0f2e8a52cd268fa66a6aeef382f16b15605d31682592ede2f745c7d1d71e56 - 0.09% (40.9 KB)
[#013] sha256:8d7a9d02426afb5f720e344e4f7a2ec6800986d7c803e381d9036add39bd73e7 - 0.03% (15.2 KB)
[#014] sha256:cbe4d52ad7792d4361a6b58c0b2953eb9fc0d86821a472be52b9539f66ae9a10 - 0.07% (32 KB)
[#015] sha256:cc05334f839cabb208dbaae6520d090f91c49e6bd1a692306bebbdc3e466a084 - 0.0% (113 Bytes)
[#016] sha256:fe566f02c1a226ebacef00888cf621b2c669cec54e712c3da97672145ad16861 - 0.0% (114 Bytes)
ADD alpine-minirootfs-3.23.4-aarch64.tar.gz / # buildkit
2026-04-15 20:01:25 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.14.4
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
2026-04-15 20:49:53 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 zstd-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-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
2026-04-15 20:49:53 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-04-15 20:49:53 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-05-10 17:27:45 UTC (buildkit.dockerfile.v0)COPY /wheels/*.whl /tmp/wheels/ # buildkit
2026-05-10 17:28:20 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir /tmp/wheels/*.whl # buildkit
2026-05-10 17:28:20 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c rm -rf /tmp/wheels/ # buildkit
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 PORT=8080
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-05-10 18:54:22 UTC (buildkit.dockerfile.v0)COPY pyproject.toml . # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir . # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)COPY main.py ./ # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)COPY src/ ./src/ # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)COPY lang/ ./lang/ # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)COPY icons/ ./icons/ # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)COPY web/ ./web/ # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/data && chmod 777 /app/data # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/logs && chmod 777 /app/logs # buildkit
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)EXPOSE [8080/tcp]
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)HEALTHCHECK &{["CMD-SHELL" "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8080/api/status')\" || exit 1"] "30s" "3s" "10s" "0s" '\x03'}
2026-05-10 18:56:11 UTC (buildkit.dockerfile.v0)CMD ["python" "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.