Namespace
wechatopenai
Image / Tag
weknora-sandbox:v0.8.3-desktop
Content Digest
sha256:e1821af8f0f3d5a80f65cabcfb405a7d41c0044843097c4b6c3309f110348085
Details
Created

2026-10-14 07:54:40 UTC

Size

475 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-10-14T07:53:57.942Z
  • org.opencontainers.image.description
    Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    3e22822c1d2397be730c458c7539d0eb8c113a24
  • org.opencontainers.image.source
    https://github.com/Tencent/WeKnora
  • org.opencontainers.image.title
    WeKnora
  • org.opencontainers.image.url
    https://github.com/Tencent/WeKnora
  • org.opencontainers.image.version
    v0.8.3-desktop

Environment
DEBIAN_FRONTEND

noninteractive

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

LC_ALL

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHON_SHA256

c2c4321961fab0fb999d66e0cecf521c2ab3994c7992873ea99e306c1094fd5a

PYTHON_VERSION

3.12.15


Layers

[#000] sha256:ecc510c1e359bdc007b39802570bb7e4dec7d6ebccf357c3201a74299113e05e - 5.99% (28.5 MB)

[#001] sha256:75b6a36c64a1cf3520fc4b4aae4739d5caa8a6a05c27835a920a61784c9c32f8 - 0.26% (1.23 MB)

[#002] sha256:6912e23eb44595b44dc6d9882b34f305ad6f6e9667cec70b13e5dbc4f8cd97f4 - 2.43% (11.6 MB)

[#003] sha256:bbc5a12237474ec0b23b5051260d56d6436a24d70d9cad961adebe7a037ed813 - 0.0% (249 Bytes)

[#004] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#005] sha256:516b0f5c77f58f487a360aad348460cab0268cba49faa53414d0b965bfc7c251 - 7.43% (35.3 MB)

[#006] sha256:2b86cf3e0b97b155ed67ad6b6fbac824cda12f0db7d2f1b1b406dee6bd936884 - 0.56% (2.65 MB)

[#007] sha256:e04b4419eb66729a4f9b0ba39528376f2fe7bde4dd35a787cdd235e9118c0a14 - 0.0% (203 Bytes)

[#008] sha256:d22a607f414538a9b93e0e822d49b9efce02a4462a2c7531a8fe5014681c3fe4 - 4.59% (21.8 MB)

[#009] sha256:7896b1bc0cc036c8797ef00ff84d03abb279973c48c8882b81ee275563f006ff - 0.0% (164 Bytes)

[#010] sha256:0bb6f567030acbe6c6c63a18dfa3f949f972ae5f9c60623a8cc0936ba2978aee - 10.21% (48.5 MB)

[#011] sha256:0d102143c4d0966fb84d7c3910c9a72a168d5e3ea9eda46deadd3c96b5f69ffd - 7.63% (36.3 MB)

[#012] sha256:8cdcecf5628143c17ec78fc34c6aae32bdf59b71fce915b5f9b084a0e3518e07 - 0.0% (3.23 KB)

[#013] sha256:af6af36a8a3ed5f03aae88d50a61d0ad496cec164f37eeda4ae6c8c76ed1c963 - 0.0% (139 Bytes)

[#014] sha256:41d1396c1d2d55f70346972edec24c355533dbfc7dcd1cb1009bfab130faad38 - 0.0% (1.04 KB)

[#015] sha256:9e5d6bbeef1ce0c8392884ffada699ab00d12c737d587267ca629bc14bbbe4b6 - 0.0% (2.08 KB)

[#016] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#017] sha256:798642deb850d7e3620a5203dcb66f7b6f033d1b6866beae22c2ff0d601c82ea - 60.89% (289 MB)

[#018] sha256:0912f2aadb49fd8c467f4ec7696b7932d692e7cdcd9206c904c9e0d334278d92 - 0.0% (3.22 KB)

[#019] sha256:524d1a61837b4f7cffbcbd859949ed34c1774274a1c788b02f3a83c1933841b0 - 0.0% (445 Bytes)

[#020] sha256:363ba5de358baa00fda55d26202bd09cf5d7f244ee74ed71c892c113c9ce3add - 0.0% (440 Bytes)


History
2026-10-05 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'trixie' '@1791158400'

2026-10-06 01:55:57 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-10-06 01:55:57 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-10-06 01:55:57 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-06 01:55:57 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-10-06 01:55:57 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.15

2026-10-06 01:55:57 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c2c4321961fab0fb999d66e0cecf521c2ab3994c7992873ea99e306c1094fd5a

2026-10-06 02:04:40 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-06 02:04:40 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-06 02:04:40 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-10-14 06:24:07 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-10-14 06:24:07 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c arch="$(dpkg --print-architecture)"; if [ -n "$TARGETARCH" ] && [ "$arch" != "$TARGETARCH" ]; then echo "runtime rootfs is $arch but TARGETARCH=$TARGETARCH" >&2; exit 1; fi # buildkit

2026-10-14 07:21:14 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/node /usr/local/bin/ # buildkit

2026-10-14 07:21:14 UTC (buildkit.dockerfile.v0)

COPY /usr/local/lib/node_modules /usr/local/lib/node_modules # buildkit

2026-10-14 07:21:15 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx # buildkit

2026-10-14 07:21:15 UTC (buildkit.dockerfile.v0)

COPY /uv /usr/local/bin/uv # buildkit

2026-10-14 07:21:15 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c ln -s /usr/local/bin/uv /usr/local/bin/uvx # buildkit

2026-10-14 07:21:17 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c npm install -g pnpm # buildkit

2026-10-14 07:21:24 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends jq curl ca-certificates file zip unzip bzip2 xz-utils zstd git && rm -rf /var/lib/apt/lists/* /var/cache/apt/* # buildkit

2026-10-14 07:21:24 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c groupadd -g 1000 user && useradd -u 1000 -g user -m -s /bin/bash user # buildkit

2026-10-14 07:21:24 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c mkdir -p /workspace/input /workspace/output && chown -R user:user /workspace # buildkit

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

COPY docker/sandbox-pty-prompt.sh /etc/weknora/pty-prompt.sh # buildkit

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c echo '. /etc/weknora/pty-prompt.sh' > /etc/profile.d/zz-weknora-prompt.sh && echo '. /etc/weknora/pty-prompt.sh' >> /root/.bashrc && echo '. /etc/weknora/pty-prompt.sh' >> /home/user/.bashrc # buildkit

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

WORKDIR /workspace

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

USER root

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

USER root

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-10-14 07:54:05 UTC (buildkit.dockerfile.v0)

ENV LC_ALL=C.UTF-8

2026-10-14 07:54:40 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends procps util-linux xvfb x11-utils x11-xserver-utils xauth dbus dbus-x11 xfce4 xfce4-goodies x11vnc websockify xdotool scrot fonts-dejavu-core fonts-noto-cjk desktop-base && rm -rf /var/lib/apt/lists/* /var/cache/apt/* && rm -f /etc/rcS.d/S??procps /etc/rcS.d/S??x11-common /etc/rc2.d/S??dbus /etc/rc3.d/S??dbus /etc/rc4.d/S??dbus /etc/rc5.d/S??dbus # buildkit

2026-10-14 07:54:40 UTC (buildkit.dockerfile.v0)

COPY docker/scripts/start-desktop.sh /usr/local/bin/start-desktop.sh # buildkit

2026-10-14 07:54:40 UTC (buildkit.dockerfile.v0)

COPY docker/desktop/xfce4-desktop.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml # buildkit

2026-10-14 07:54:40 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c chmod 0755 /usr/local/bin/start-desktop.sh && mkdir -p /root/.config/xfce4/xfconf/xfce-perchannel-xml && cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml /root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml # buildkit

2026-10-14 07:54:40 UTC (buildkit.dockerfile.v0)

EXPOSE [6080/tcp]

Details
Created

2026-10-14 07:30:26 UTC

Size

462 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-10-14T07:53:57.942Z
  • org.opencontainers.image.description
    Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    3e22822c1d2397be730c458c7539d0eb8c113a24
  • org.opencontainers.image.source
    https://github.com/Tencent/WeKnora
  • org.opencontainers.image.title
    WeKnora
  • org.opencontainers.image.url
    https://github.com/Tencent/WeKnora
  • org.opencontainers.image.version
    v0.8.3-desktop

Environment
DEBIAN_FRONTEND

noninteractive

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

LC_ALL

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHON_SHA256

c2c4321961fab0fb999d66e0cecf521c2ab3994c7992873ea99e306c1094fd5a

PYTHON_VERSION

3.12.15


Layers

[#000] sha256:bbeda6b4abb749f743f4547ef5a28070a14de8caef211daa5afb78d5b5fa21ba - 6.23% (28.8 MB)

[#001] sha256:387b25ff7b944c188f58f0e8633fb93428b7418b9af0549618f96ce8fd56da5f - 0.26% (1.22 MB)

[#002] sha256:4dbdca1a513d31094476a7f745c8278b0ca94c30b9bc66ec65b9faebff263a16 - 2.49% (11.5 MB)

[#003] sha256:6e2fcafe72a4c4e812d11805d3f8f7b8fddd43ac39a29aadbe0a93b079d60e18 - 0.0% (249 Bytes)

[#004] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#005] sha256:09114aa2337602689c58cd082858fdf51fe5a96532f4ddd407015119586a472a - 7.64% (35.3 MB)

[#006] sha256:ef87b79285e3c26a7e87a1edf6963f8d5c43f5b8cda75a1068c57c99d297cadb - 0.57% (2.65 MB)

[#007] sha256:e04b4419eb66729a4f9b0ba39528376f2fe7bde4dd35a787cdd235e9118c0a14 - 0.0% (203 Bytes)

[#008] sha256:d1e9d61b22ee7532019a8aa2cce70fcd42774699c5c786c637ee7d0dae0c0c72 - 4.55% (21 MB)

[#009] sha256:7896b1bc0cc036c8797ef00ff84d03abb279973c48c8882b81ee275563f006ff - 0.0% (164 Bytes)

[#010] sha256:0a792c84116496fc41ad3e2896d0f4612c39ade2d21862fef2d165502639cdc9 - 9.69% (44.8 MB)

[#011] sha256:6642312b50fd6269bc1a17c1c503391f214f3ccce78369bb8a0a5d04baa551af - 7.82% (36.1 MB)

[#012] sha256:bff5d0fac026f7e1c85a4e1b7f92e59ee8873f74b0ae658c41d96ce3c177c34b - 0.0% (3.23 KB)

[#013] sha256:ac5a1fd0154f084a98d9d97f2cfa2d74d7c0da18974ec41020dae673ebe5353c - 0.0% (139 Bytes)

[#014] sha256:87c300dc2bb680b5a441eedc59a70c38494de46b4dcf77a620d71e49d45358c0 - 0.0% (1.04 KB)

[#015] sha256:a3b9f8e55947ef039f6eded4331b76dabaff2ca2d23a3f384dc4b51d1fbe7a07 - 0.0% (2.07 KB)

[#016] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#017] sha256:12457e7f9aa6d089103d8940f73fd66c831c99485f90de23074f554380579c4b - 60.74% (281 MB)

[#018] sha256:e024f79586c03dc0a9133dd5ed8480ec21bd530752d27ca791515d6ec0a5a763 - 0.0% (3.22 KB)

[#019] sha256:9ff95c94284299ff4900f0c9d38527423212850ee6e26bfd175bb59bb0dc7993 - 0.0% (452 Bytes)

[#020] sha256:da1715cc1c3a57ceb74d492b48dbf76cb0f94f7cc933af570b91a1aab496b0c1 - 0.0% (441 Bytes)


History
2026-10-05 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'trixie' '@1791158400'

2026-10-06 01:59:29 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-10-06 01:59:29 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-10-06 01:59:29 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-06 01:59:29 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-10-06 01:59:29 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.15

2026-10-06 01:59:29 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c2c4321961fab0fb999d66e0cecf521c2ab3994c7992873ea99e306c1094fd5a

2026-10-06 02:11:04 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-06 02:11:04 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-06 02:11:04 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-10-14 06:24:07 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-10-14 06:24:07 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c arch="$(dpkg --print-architecture)"; if [ -n "$TARGETARCH" ] && [ "$arch" != "$TARGETARCH" ]; then echo "runtime rootfs is $arch but TARGETARCH=$TARGETARCH" >&2; exit 1; fi # buildkit

2026-10-14 07:21:14 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/node /usr/local/bin/ # buildkit

2026-10-14 07:21:14 UTC (buildkit.dockerfile.v0)

COPY /usr/local/lib/node_modules /usr/local/lib/node_modules # buildkit

2026-10-14 07:21:15 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx # buildkit

2026-10-14 07:21:15 UTC (buildkit.dockerfile.v0)

COPY /uv /usr/local/bin/uv # buildkit

2026-10-14 07:21:15 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c ln -s /usr/local/bin/uv /usr/local/bin/uvx # buildkit

2026-10-14 07:21:32 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c npm install -g pnpm # buildkit

2026-10-14 07:22:38 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends jq curl ca-certificates file zip unzip bzip2 xz-utils zstd git && rm -rf /var/lib/apt/lists/* /var/cache/apt/* # buildkit

2026-10-14 07:22:38 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c groupadd -g 1000 user && useradd -u 1000 -g user -m -s /bin/bash user # buildkit

2026-10-14 07:22:38 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c mkdir -p /workspace/input /workspace/output && chown -R user:user /workspace # buildkit

2026-10-14 07:22:38 UTC (buildkit.dockerfile.v0)

COPY docker/sandbox-pty-prompt.sh /etc/weknora/pty-prompt.sh # buildkit

2026-10-14 07:22:38 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c echo '. /etc/weknora/pty-prompt.sh' > /etc/profile.d/zz-weknora-prompt.sh && echo '. /etc/weknora/pty-prompt.sh' >> /root/.bashrc && echo '. /etc/weknora/pty-prompt.sh' >> /home/user/.bashrc # buildkit

2026-10-14 07:22:39 UTC (buildkit.dockerfile.v0)

WORKDIR /workspace

2026-10-14 07:22:39 UTC (buildkit.dockerfile.v0)

USER root

2026-10-14 07:22:39 UTC (buildkit.dockerfile.v0)

USER root

2026-10-14 07:22:39 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-10-14 07:22:39 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-10-14 07:22:39 UTC (buildkit.dockerfile.v0)

ENV LC_ALL=C.UTF-8

2026-10-14 07:30:26 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends procps util-linux xvfb x11-utils x11-xserver-utils xauth dbus dbus-x11 xfce4 xfce4-goodies x11vnc websockify xdotool scrot fonts-dejavu-core fonts-noto-cjk desktop-base && rm -rf /var/lib/apt/lists/* /var/cache/apt/* && rm -f /etc/rcS.d/S??procps /etc/rcS.d/S??x11-common /etc/rc2.d/S??dbus /etc/rc3.d/S??dbus /etc/rc4.d/S??dbus /etc/rc5.d/S??dbus # buildkit

2026-10-14 07:30:26 UTC (buildkit.dockerfile.v0)

COPY docker/scripts/start-desktop.sh /usr/local/bin/start-desktop.sh # buildkit

2026-10-14 07:30:26 UTC (buildkit.dockerfile.v0)

COPY docker/desktop/xfce4-desktop.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml # buildkit

2026-10-14 07:30:26 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c chmod 0755 /usr/local/bin/start-desktop.sh && mkdir -p /root/.config/xfce4/xfconf/xfce-perchannel-xml && cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml /root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml # buildkit

2026-10-14 07:30:26 UTC (buildkit.dockerfile.v0)

EXPOSE [6080/tcp]

Danger Zone
Delete Tag

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.

Delete