2026-10-29 13:46:40 UTC
613 MB
7169605F62C751356D054A26A821E680E5FA6305
LANGC.UTF-8
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA256b5796915dc45ff745cfb4e990a7e7c93d6f546328a102ce31448d69ebc37575c
PYTHON_VERSION3.12.16
[#000] sha256:6fc242d221a673263eabd14a9ad9584d3177c96e5cb504c891497338e2f912f5 - 4.64% (28.5 MB)
[#001] sha256:3eb77115150676568f88e2957181b8f7e3014e797f1ce8cd640086dfbed45e35 - 0.2% (1.23 MB)
[#002] sha256:f574edac59d9f092df596f54e5b52656c803fd3ae30825b8ee5a189ed05f63d3 - 1.89% (11.6 MB)
[#003] sha256:acca7542dfc736e9ce20cbefc58b2d09822276d15d4a0c531531a6f1b057928e - 0.0% (251 Bytes)
[#004] sha256:18c6f89e26e765856fdee1cb4827add2c7fe4644751a943920c65a220221cf6f - 0.16% (1000 KB)
[#005] sha256:e055c35219386735b2dfedd538e4bf0a3add67baf9817aac61732d209b00e051 - 0.0% (93 Bytes)
[#006] sha256:0520876f951b9503e2e2f2e187c1292c77580848e5b2885c59e5ba15b8c1ee47 - 10.99% (67.4 MB)
[#007] sha256:ce2869c983a295a419e31badf72befa130f458e33aabcb6e7dbdd5e3130dab63 - 0.06% (363 KB)
[#008] sha256:a680fd2df4b67bbb097e269e9a85a2a7d8b65d424705cb2ab46e96deaa24eb51 - 0.3% (1.86 MB)
[#009] sha256:76bee3c89e8c9bc2a9ca5e50c75e322eae3f95259f5a35b5ba03fbc159b57074 - 0.05% (295 KB)
[#010] sha256:366b6a385f03687c3a101114fa8120f481141b22a5d18a252cd6f5662d9e9e20 - 81.72% (501 MB)
# debian.sh --arch 'amd64' out/ 'trixie' '@1793059200'
2026-10-28 01:54:50 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-10-28 01:54:50 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2026-10-28 01:54:50 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-10-28 01:54:50 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2026-10-28 01:54:50 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12.16
2026-10-28 01:54:50 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=b5796915dc45ff745cfb4e990a7e7c93d6f546328a102ce31448d69ebc37575c
2026-10-28 02:03:39 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 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 -; 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-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-10-28 02:03:39 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-10-28 02:03:39 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-10-29 13:44:31 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c printf 'deb http://deb.debian.org/debian forky main\n' > /etc/apt/sources.list.d/sqlite.list && printf 'Package: libsqlite3-0\nPin: release n=forky\nPin-Priority: 990\n\nPackage: *\nPin: release n=forky\nPin-Priority: -1\n' > /etc/apt/preferences.d/sqlite && apt-get update && apt-get install -y --no-install-recommends libsqlite3-0=3.53.4-2 && python -c 'import sqlite3; assert sqlite3.sqlite_version == "3.53.4"' && rm -rf /var/lib/apt/lists/* # buildkit
2026-10-29 13:44:31 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-10-29 13:44:31 UTC (buildkit.dockerfile.v0)COPY . . # buildkit
2026-10-29 13:44:32 UTC (buildkit.dockerfile.v0)ARG LANGBOT_BUILD_REVISION=3ac4eef3ec92f5d2acd13b2f0b3f51dbc5578e34
2026-10-29 13:44:32 UTC (buildkit.dockerfile.v0)RUN |1 LANGBOT_BUILD_REVISION=3ac4eef3ec92f5d2acd13b2f0b3f51dbc5578e34 /bin/sh -c if [ -n "$LANGBOT_BUILD_REVISION" ]; then python3 scripts/stamp_build_revision.py --revision "$LANGBOT_BUILD_REVISION"; fi # buildkit
2026-10-29 13:44:52 UTC (buildkit.dockerfile.v0)COPY /app/web/dist ./web/dist # buildkit
2026-10-29 13:45:38 UTC (buildkit.dockerfile.v0)COPY /usr/local/bin/nsjail /usr/local/bin/nsjail # buildkit
2026-10-29 13:46:40 UTC (buildkit.dockerfile.v0)RUN |1 LANGBOT_BUILD_REVISION=3ac4eef3ec92f5d2acd13b2f0b3f51dbc5578e34 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gcc ca-certificates curl git gnupg && apt-get install -y --no-install-recommends libprotobuf32t64 libnl-route-3-200 && install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && chmod a+r /etc/apt/keyrings/docker.asc && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" > /etc/apt/sources.list.d/docker.list && apt-get update && apt-get install -y --no-install-recommends docker-ce-cli && curl -fsSL https://deb.nodesource.com/setup_22.x -o /tmp/nodesource_setup.sh && bash /tmp/nodesource_setup.sh && apt-get install -y --no-install-recommends nodejs && rm -f /tmp/nodesource_setup.sh && python -m pip install --no-cache-dir uv && uv sync --extra seekdb && apt-get purge -y --auto-remove curl git gnupg && rm -rf /var/lib/apt/lists/* && touch /.dockerenv # buildkit
2026-10-29 13:46:40 UTC (buildkit.dockerfile.v0)CMD ["uv" "run" "--no-sync" "main.py"]
2026-10-29 14:01:59 UTC
595 MB
7169605F62C751356D054A26A821E680E5FA6305
LANGC.UTF-8
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA256b5796915dc45ff745cfb4e990a7e7c93d6f546328a102ce31448d69ebc37575c
PYTHON_VERSION3.12.16
[#000] sha256:2b70e040f7d132c8d366ee0223462552686510fb372ea5a83822973c30f19e36 - 4.84% (28.8 MB)
[#001] sha256:0922d1fc1a5f7baa280015c744bb0be989e6e146a9181c04d2971e1273416844 - 0.2% (1.21 MB)
[#002] sha256:b41621e272b0b306c196fabab6f5e0132d1c13f3c929bfb63455191fa509e311 - 1.93% (11.5 MB)
[#003] sha256:64074ecd150a3526f7ef1af3128b9186744abfb9dc3d1c3e87c11c1ea880cbd0 - 0.0% (251 Bytes)
[#004] sha256:8c0be42420aa3f2f54158b0e9f95fb46fad8a9b8d4a012b07d41d85e8f552972 - 0.16% (993 KB)
[#005] sha256:6ce3663a92ed2cb5d32e855bca88ab1697b47944743c395a61b157d4b2916fef - 0.0% (92 Bytes)
[#006] sha256:0520876f951b9503e2e2f2e187c1292c77580848e5b2885c59e5ba15b8c1ee47 - 11.32% (67.4 MB)
[#007] sha256:c6a823488e3c4e415f3f0e8df94720bb27205db0223a3cb17e85743c1daa578e - 0.06% (363 KB)
[#008] sha256:375ddb1a21ff9e0dcc2180d3476fa7117ef6f72b409db2c74fbda9339ce06110 - 0.31% (1.86 MB)
[#009] sha256:7b3c634c2ed4f8ada1fb009c9a5051add6daa6aea4a53d60f11a1bbe8509a3f0 - 0.05% (276 KB)
[#010] sha256:346f4f69fe9099195ffd204a6dc1f9a3a1793ba58ac51bd959fcfb7c3e10e4f9 - 81.12% (483 MB)
# debian.sh --arch 'arm64' out/ 'trixie' '@1793059200'
2026-10-28 01:58:10 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-10-28 01:58:10 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2026-10-28 01:58:10 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-10-28 01:58:10 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2026-10-28 01:58:10 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12.16
2026-10-28 01:58:10 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=b5796915dc45ff745cfb4e990a7e7c93d6f546328a102ce31448d69ebc37575c
2026-10-28 02:10:06 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 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 -; 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-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-10-28 02:10:06 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-10-28 02:10:06 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-10-29 13:46:08 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c printf 'deb http://deb.debian.org/debian forky main\n' > /etc/apt/sources.list.d/sqlite.list && printf 'Package: libsqlite3-0\nPin: release n=forky\nPin-Priority: 990\n\nPackage: *\nPin: release n=forky\nPin-Priority: -1\n' > /etc/apt/preferences.d/sqlite && apt-get update && apt-get install -y --no-install-recommends libsqlite3-0=3.53.4-2 && python -c 'import sqlite3; assert sqlite3.sqlite_version == "3.53.4"' && rm -rf /var/lib/apt/lists/* # buildkit
2026-10-29 13:46:09 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-10-29 13:46:09 UTC (buildkit.dockerfile.v0)COPY . . # buildkit
2026-10-29 13:46:13 UTC (buildkit.dockerfile.v0)ARG LANGBOT_BUILD_REVISION=3ac4eef3ec92f5d2acd13b2f0b3f51dbc5578e34
2026-10-29 13:46:13 UTC (buildkit.dockerfile.v0)RUN |1 LANGBOT_BUILD_REVISION=3ac4eef3ec92f5d2acd13b2f0b3f51dbc5578e34 /bin/sh -c if [ -n "$LANGBOT_BUILD_REVISION" ]; then python3 scripts/stamp_build_revision.py --revision "$LANGBOT_BUILD_REVISION"; fi # buildkit
2026-10-29 13:46:13 UTC (buildkit.dockerfile.v0)COPY /app/web/dist ./web/dist # buildkit
2026-10-29 13:53:51 UTC (buildkit.dockerfile.v0)COPY /usr/local/bin/nsjail /usr/local/bin/nsjail # buildkit
2026-10-29 14:01:59 UTC (buildkit.dockerfile.v0)RUN |1 LANGBOT_BUILD_REVISION=3ac4eef3ec92f5d2acd13b2f0b3f51dbc5578e34 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gcc ca-certificates curl git gnupg && apt-get install -y --no-install-recommends libprotobuf32t64 libnl-route-3-200 && install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && chmod a+r /etc/apt/keyrings/docker.asc && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" > /etc/apt/sources.list.d/docker.list && apt-get update && apt-get install -y --no-install-recommends docker-ce-cli && curl -fsSL https://deb.nodesource.com/setup_22.x -o /tmp/nodesource_setup.sh && bash /tmp/nodesource_setup.sh && apt-get install -y --no-install-recommends nodejs && rm -f /tmp/nodesource_setup.sh && python -m pip install --no-cache-dir uv && uv sync --extra seekdb && apt-get purge -y --auto-remove curl git gnupg && rm -rf /var/lib/apt/lists/* && touch /.dockerenv # buildkit
2026-10-29 14:01:59 UTC (buildkit.dockerfile.v0)CMD ["uv" "run" "--no-sync" "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.