Namespace
wechatopenai
Image / Tag
weknora-sandbox:main-cube
Content Digest
sha256:345970b356bbd3d2eb0356a818b31c6fb260b206f06defd8e8e648db49734b01
Details
Created

2026-11-03 03:36:27 UTC

Size

202 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-11-03T03:36:22.408Z
  • 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
    e3fb2335bf3f8cadd32142380c60b2677a27bf99
  • 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
    main-cube

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

PATH

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

PYTHON_SHA256

b5796915dc45ff745cfb4e990a7e7c93d6f546328a102ce31448d69ebc37575c

PYTHON_VERSION

3.12.16


Layers

[#000] sha256:6fc242d221a673263eabd14a9ad9584d3177c96e5cb504c891497338e2f912f5 - 14.13% (28.5 MB)

[#001] sha256:3eb77115150676568f88e2957181b8f7e3014e797f1ce8cd640086dfbed45e35 - 0.61% (1.23 MB)

[#002] sha256:f574edac59d9f092df596f54e5b52656c803fd3ae30825b8ee5a189ed05f63d3 - 5.74% (11.6 MB)

[#003] sha256:acca7542dfc736e9ce20cbefc58b2d09822276d15d4a0c531531a6f1b057928e - 0.0% (251 Bytes)

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

[#005] sha256:c7a2ae4c16029e15c17e20eabcd9503857cdfcb459e19edf3de40e43f2435020 - 21.41% (43.2 MB)

[#006] sha256:b2a441917cf7302aec4ac9310f2101a21f9d6cc3837a0e8619ed12a72635585f - 1.37% (2.75 MB)

[#007] sha256:6cfaa50a9a34af105515ffa84cfffe8f815da52c33beab23fbffc1fcf45fbdf4 - 0.0% (202 Bytes)

[#008] sha256:2f536d8adbbe210e27e944295b7de1d93f5b617e00e395346ac0795e45e470d1 - 10.82% (21.8 MB)

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

[#010] sha256:dcec54111899c154595cd3bb90cf828e488ff7a6318092063b2594b30da06f30 - 26.01% (52.4 MB)

[#011] sha256:86cd9c7ac3a91b8f6466f5102226e95024c85a5bd582d3c511dd0b1c26e86de8 - 17.95% (36.2 MB)

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

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

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

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

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

[#017] sha256:25011685dc3a0222aa01837eddde32db8cc12e8bb7869351270aa4d12bd51653 - 1.96% (3.95 MB)

[#018] sha256:95234c02fbc7d279ace52af7449ade634107a46642b5b83bbd1770ac1c211d8f - 0.0% (1.3 KB)

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


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

# 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-11-03 03:34:22 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-11-03 03:34:22 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-11-03 03:34:23 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:24 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:24 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-11-03 03:34:25 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:25 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:27 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:36 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-11-03 03:34:36 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-11-03 03:34:36 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:36 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:37 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-11-03 03:34:37 UTC (buildkit.dockerfile.v0)

WORKDIR /workspace

2026-11-03 03:34:37 UTC (buildkit.dockerfile.v0)

USER root

2026-11-03 03:34:37 UTC (buildkit.dockerfile.v0)

USER root

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

COPY /usr/bin/envd /usr/bin/envd # buildkit

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/cube-entrypoint.sh /usr/local/bin/cube-entrypoint.sh # buildkit

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c arch="$(dpkg --print-architecture)"; case "$arch" in amd64) elf=x86-64 ;; arm64) elf=aarch64 ;; *) elf="$arch" ;; esac; if ! file -bL /usr/bin/envd | grep -q "$elf"; then echo "envd is$(file -bL /usr/bin/envd | cut -d, -f2) but rootfs is $arch" >&2; exit 1; fi # buildkit

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

EXPOSE [49983/tcp]

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/cube-entrypoint.sh"]

Details
Created

2026-11-03 03:36:27 UTC

Size

197 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-11-03T03:36:22.408Z
  • 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
    e3fb2335bf3f8cadd32142380c60b2677a27bf99
  • 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
    main-cube

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

PATH

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

PYTHON_SHA256

b5796915dc45ff745cfb4e990a7e7c93d6f546328a102ce31448d69ebc37575c

PYTHON_VERSION

3.12.16


Layers

[#000] sha256:2b70e040f7d132c8d366ee0223462552686510fb372ea5a83822973c30f19e36 - 14.66% (28.8 MB)

[#001] sha256:0922d1fc1a5f7baa280015c744bb0be989e6e146a9181c04d2971e1273416844 - 0.62% (1.21 MB)

[#002] sha256:b41621e272b0b306c196fabab6f5e0132d1c13f3c929bfb63455191fa509e311 - 5.85% (11.5 MB)

[#003] sha256:64074ecd150a3526f7ef1af3128b9186744abfb9dc3d1c3e87c11c1ea880cbd0 - 0.0% (251 Bytes)

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

[#005] sha256:35abab0fe859d0e2566c2843704ad90743eba7743a7426052001eba1f69d50e2 - 22.02% (43.3 MB)

[#006] sha256:2308009072cbbb1217b99177edaa0dd3f13c45ef1a557af4b95aa56d9a5c69e3 - 1.4% (2.75 MB)

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

[#008] sha256:8b50a175b83618924726f5d918fe0ef609ea8894d7b5973ddb2524c116a11bd8 - 10.69% (21 MB)

[#009] sha256:545efba3c6bcbe3678889a2f19bf6b5182a94f5c19a62151f55054a53d03795a - 0.0% (163 Bytes)

[#010] sha256:9a57327323e0aa0e85c42c9958c73b83cffb10ad62b95b5218d870de93e5aed7 - 24.61% (48.4 MB)

[#011] sha256:d689b07474f795119f1378f975b6f6a49d475accc4f497c3206f2ce075f38514 - 18.33% (36 MB)

[#012] sha256:7b949f68bd0952bf3339941be57fa3cc01bb2983c1adf9e91539189e4aacf311 - 0.0% (3.24 KB)

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

[#014] sha256:90af378655d9a8f88d32dd143be5cfa7feadc34f42e9f763fad703d1d94e7a5a - 0.0% (1.04 KB)

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

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

[#017] sha256:6b133baa7274ef049f58b11650438cc546c98d89c601ec4dd0ea10943a39480e - 1.82% (3.59 MB)

[#018] sha256:0d541b3a580b24906c452a2a65d8d8c90d4fbfaa6055bd018188e48efffc52c0 - 0.0% (1.3 KB)

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


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

# 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-11-03 03:34:20 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-11-03 03:34:20 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-11-03 03:34:22 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:23 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:24 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-11-03 03:34:24 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:25 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:34:39 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:35:31 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-11-03 03:35:32 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-11-03 03:35:32 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:35:32 UTC (buildkit.dockerfile.v0)

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

2026-11-03 03:35:32 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-11-03 03:35:32 UTC (buildkit.dockerfile.v0)

WORKDIR /workspace

2026-11-03 03:35:32 UTC (buildkit.dockerfile.v0)

USER root

2026-11-03 03:35:32 UTC (buildkit.dockerfile.v0)

USER root

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

COPY /usr/bin/envd /usr/bin/envd # buildkit

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/cube-entrypoint.sh /usr/local/bin/cube-entrypoint.sh # buildkit

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c arch="$(dpkg --print-architecture)"; case "$arch" in amd64) elf=x86-64 ;; arm64) elf=aarch64 ;; *) elf="$arch" ;; esac; if ! file -bL /usr/bin/envd | grep -q "$elf"; then echo "envd is$(file -bL /usr/bin/envd | cut -d, -f2) but rootfs is $arch" >&2; exit 1; fi # buildkit

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

EXPOSE [49983/tcp]

2026-11-03 03:36:27 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/cube-entrypoint.sh"]

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