2026-04-11 03:48:54 UTC
1.51 GB
/usr/local/share/corepack
NODE_ENVproduction
NODE_VERSION24.14.0
OPENCLAW_BUNDLED_PLUGINS_DIR/app/extensions
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
YARN_VERSION1.22.22
[#000] sha256:6a7e0620566c7dfbe5d3c9a7601d116556ec17a021b3e824f8ab09d12b0c25c6 - 3.0% (46.2 MB)
[#001] sha256:aab3b37e4807fe48145826511e16a527bbc4695222ceb966669a4d16729b3b94 - 1.49% (22.9 MB)
[#002] sha256:fa27031269f0a970255d56a9e793fc2a9d6bb091463cd5e632af4ae274881601 - 3.98% (61.4 MB)
[#003] sha256:c032818082ff938f43355abf00f71e5531be197952a109867259ad63a917c884 - 13.09% (202 MB)
[#004] sha256:03bbf11124abb071f8b8551ed5e778f07f76a9e24319be963961391a69306787 - 0.0% (3.25 KB)
[#005] sha256:5922d70a72a7dbc04fdfb5146bf8dbbea0ea381fb2d02fe2da881bdfdb4e138f - 3.58% (55.2 MB)
[#006] sha256:3dea9ce2fc4a195a1cf8db2fb69c1cfb7c817a9248d4d6bc0ddcb1f701d3ef0d - 0.08% (1.19 MB)
[#007] sha256:0594f60e91c58a9c1a2505ed11f0823eaf05c52be0b49ceaffdf389d066d1441 - 0.0% (450 Bytes)
[#008] sha256:198eb5b06d692cb32b6ccb5fd4b647d6e3ef3e67ee897080386a4eacc4fda10a - 0.0% (93 Bytes)
[#009] sha256:c4cba6664ecfa166909771d9eddea875b271c3fb822ebb311960faae17c548df - 0.55% (8.45 MB)
[#010] sha256:db11278fa13f75769b32a572a57348ea2318526943bce1323f68a0ac221c7d60 - 0.0% (96 Bytes)
[#011] sha256:37fb95ebc85373d2802007e19a3b1126c39a3c32428b31677817cd401acfb690 - 1.89% (29.1 MB)
[#012] sha256:a327e64c2437e3162d6659c762ad23522437e0ad24bc30e9871aa262e64713a7 - 41.46% (639 MB)
[#013] sha256:197ea9c2568efc37056d59edbcb32e4f0b2004b69deb03943ed624e976137092 - 0.0% (10.9 KB)
[#014] sha256:722500ff9848b9d9a312ed5ad7108859d6de85852671517e1f1eb126fe2153d2 - 0.0% (1.85 KB)
[#015] sha256:10a595b98c0c2b06d228084a2699de1386c3cc315900f0b68671ebfaaeaeca8d - 0.38% (5.89 MB)
[#016] sha256:c377549ea14ce0dbf14626a40c6b3afe0f0d60569411b8e9e8655a3f679602b3 - 0.01% (98 KB)
[#017] sha256:7f41f1bef7f3786963269ccda041ea2dfc7fecdce56cf79e48844f28fe4ddc84 - 0.61% (9.36 MB)
[#018] sha256:e1dbc97a815e1ad6850a2542ef697ebc8db5741f6e080d4e70264c54aba0149a - 0.0% (33.1 KB)
[#019] sha256:0e647c4576b2d576cf72c777d0d1f77bdf879a7c96339e619668e4401a03f1ef - 0.0% (350 Bytes)
[#020] sha256:bd2a8353ce6d2f8e5f42e61c224f44b386801966af6ed9cbb80e26d32f90924d - 0.29% (4.52 MB)
[#021] sha256:13c9262bee5ca5d62e9a96377c976ef492f6d88473dffaa1ae5bf7f8139b2fe8 - 0.11% (1.75 MB)
[#022] sha256:53831d548e6a623e4de96bf76cea0a982f2be8f58106a9f6d6be210b4e806372 - 0.0% (14.3 KB)
[#023] sha256:3fcbb1242ce859124613c878bb4a648488e663d5b836fe3eb3055cebc8711dc4 - 9.21% (142 MB)
[#024] sha256:da0c365907a71b62f4c91defaa2c06fff569008221be4555bfb0b93f55ad9ac8 - 20.28% (313 MB)
[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#026] sha256:3af7e24ee03e91f58acf6e1cc27ea3db5f49ecf98c13ed0c2296ca8e7ef6ebf0 - 0.0% (388 Bytes)
# debian.sh --arch 'amd64' out/ 'bookworm' '@1771804800'
2026-02-24 19:18:42 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit
2026-02-24 20:03:31 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit
2026-02-24 20:33:14 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit
2026-02-24 21:19:07 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
2026-02-24 21:19:17 UTC (buildkit.dockerfile.v0)ENV NODE_VERSION=24.14.0
2026-02-24 21:19:17 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; i386) ARCH='x86';; *) echo "unsupported architecture"; exit 1 ;; esac && export GNUPGHOME="$(mktemp -d)" && set -ex && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit
2026-02-24 21:19:17 UTC (buildkit.dockerfile.v0)ENV YARN_VERSION=1.22.22
2026-02-24 21:19:20 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && yarn --version && rm -rf /tmp/* # buildkit
2026-02-24 21:19:20 UTC (buildkit.dockerfile.v0)COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
2026-02-24 21:19:20 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-entrypoint.sh"]
2026-02-24 21:19:20 UTC (buildkit.dockerfile.v0)CMD ["node"]
2026-03-23 13:57:48 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_NODE_BOOKWORM_DIGEST
2026-03-23 13:57:48 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.base.name=docker.io/library/node:24-bookworm org.opencontainers.image.base.digest=sha256:3a09aa6354567619221ef6c45a5051b671f953f0a1924d1f819ffb236e520e6b
2026-03-23 13:57:48 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_VARIANT
2026-03-23 13:57:48 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_BUNDLED_PLUGIN_DIR
2026-03-23 13:57:48 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_DOCKER_APT_UPGRADE
2026-03-23 13:57:48 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/openclaw/openclaw org.opencontainers.image.url=https://openclaw.ai org.opencontainers.image.documentation=https://docs.openclaw.ai/install/docker org.opencontainers.image.licenses=MIT org.opencontainers.image.title=OpenClaw org.opencontainers.image.description=OpenClaw gateway and CLI runtime container image
2026-03-23 13:57:48 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-04-01 02:28:40 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c apt-get update && if [ "${OPENCLAW_DOCKER_APT_UPGRADE}" != "0" ]; then DEBIAN_FRONTEND=noninteractive apt-get upgrade -y --no-install-recommends; fi && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends procps hostname curl git lsof openssl # buildkit
2026-04-01 02:28:40 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c chown node:node /app # buildkit
2026-04-11 03:47:43 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/dist ./dist # buildkit
2026-04-11 03:48:13 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/node_modules ./node_modules # buildkit
2026-04-11 03:48:13 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/package.json . # buildkit
2026-04-11 03:48:13 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/openclaw.mjs . # buildkit
2026-04-11 03:48:14 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/extensions ./extensions # buildkit
2026-04-11 03:48:14 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/skills ./skills # buildkit
2026-04-11 03:48:14 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/docs ./docs # buildkit
2026-04-11 03:48:14 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/qa ./qa # buildkit
2026-04-11 03:48:14 UTC (buildkit.dockerfile.v0)COPY openclaw/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh # buildkit
2026-04-11 03:48:14 UTC (buildkit.dockerfile.v0)ENV OPENCLAW_BUNDLED_PLUGINS_DIR=/app/extensions
2026-04-11 03:48:14 UTC (buildkit.dockerfile.v0)ENV COREPACK_HOME=/usr/local/share/corepack
2026-04-11 03:48:16 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c install -d -m 0755 "$COREPACK_HOME" && corepack enable && for attempt in 1 2 3 4 5; do if corepack prepare "$(node -p "require('./package.json').packageManager")" --activate; then break; fi; if [ "$attempt" -eq 5 ]; then exit 1; fi; sleep $((attempt * 2)); done && chmod -R a+rX "$COREPACK_HOME" # buildkit
2026-04-11 03:48:18 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c npm install -g clawhub@latest && npm cache clean --force # buildkit
2026-04-11 03:48:21 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c install -d -o node -g node /home/node/.local/bin && su -s /bin/sh node -c 'curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --no-skills' && ln -sf /home/node/.local/bin/skillhub /usr/local/bin/skillhub && chmod 755 /usr/local/bin/skillhub # buildkit
2026-04-11 03:48:21 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip
2026-04-11 03:48:36 UTC (buildkit.dockerfile.v0)RUN |4 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip /bin/sh -c if [ -n "$OPENCLAW_DOCKER_APT_PACKAGES" ]; then apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends $OPENCLAW_DOCKER_APT_PACKAGES && if command -v pip3 >/dev/null 2>&1 && ! command -v pip >/dev/null 2>&1; then ln -sf "$(command -v pip3)" /usr/local/bin/pip; fi; fi # buildkit
2026-04-11 03:48:36 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_INSTALL_BROWSER=
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)RUN |5 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip OPENCLAW_INSTALL_BROWSER=true /bin/sh -c if [ -n "$OPENCLAW_INSTALL_BROWSER" ]; then apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xvfb && mkdir -p /home/node/.cache/ms-playwright && PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright node /app/node_modules/playwright-core/cli.js install --with-deps chromium && chown -R node:node /home/node/.cache/ms-playwright; fi # buildkit
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_INSTALL_DOCKER_CLI=
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)RUN |7 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip OPENCLAW_INSTALL_BROWSER=true OPENCLAW_INSTALL_DOCKER_CLI= OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88 /bin/sh -c if [ -n "$OPENCLAW_INSTALL_DOCKER_CLI" ]; then apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates curl gnupg && install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/debian/gpg -o /tmp/docker.gpg.asc && expected_fingerprint="$(printf '%s' "$OPENCLAW_DOCKER_GPG_FINGERPRINT" | tr '[:lower:]' '[:upper:]' | tr -d '[:space:]')" && actual_fingerprint="$(gpg --batch --show-keys --with-colons /tmp/docker.gpg.asc | awk -F: '$1 == "fpr" { print toupper($10); exit }')" && if [ -z "$actual_fingerprint" ] || [ "$actual_fingerprint" != "$expected_fingerprint" ]; then echo "ERROR: Docker apt key fingerprint mismatch (expected $expected_fingerprint, got ${actual_fingerprint:-<empty>})" >&2; exit 1; fi && gpg --dearmor -o /etc/apt/keyrings/docker.gpg /tmp/docker.gpg.asc && rm -f /tmp/docker.gpg.asc && chmod a+r /etc/apt/keyrings/docker.gpg && printf 'deb [arch=%s signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable\n' "$(dpkg --print-architecture)" > /etc/apt/sources.list.d/docker.list && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin; fi # buildkit
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)RUN |7 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip OPENCLAW_INSTALL_BROWSER=true OPENCLAW_INSTALL_DOCKER_CLI= OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88 /bin/sh -c ln -sf /app/openclaw.mjs /usr/local/bin/openclaw && chmod 755 /usr/local/bin/docker-entrypoint.sh /app/openclaw.mjs # buildkit
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)ENV NODE_ENV=production
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)USER node
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)HEALTHCHECK &{["CMD-SHELL" "node -e \"fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""] "3m0s" "10s" "15s" "0s" '\x03'}
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
2026-04-11 03:48:54 UTC (buildkit.dockerfile.v0)CMD ["node" "openclaw.mjs" "gateway" "--allow-unconfigured"]
2026-04-11 04:09:46 UTC
1.18 GB
/usr/local/share/corepack
NODE_ENVproduction
NODE_VERSION24.14.0
OPENCLAW_BUNDLED_PLUGINS_DIR/app/extensions
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
YARN_VERSION1.22.22
[#000] sha256:8578011282ae3fef36307f7e3afb2265a96bada1a57648f07bea9cc1a11e7b7b - 3.81% (46.1 MB)
[#001] sha256:443d4217b87aad21c6acb58313c9038eb24571a4e9f81de2463aaf19d403a640 - 1.86% (22.5 MB)
[#002] sha256:a3d27b842bb73f4af595ce58848c4c53ae713ca5c649636d25b483ca63bccc52 - 5.08% (61.5 MB)
[#003] sha256:869fdd20a7335f51da5a8481862ac636a1e2f1cea7649274e79a5b2a176eaff1 - 15.99% (194 MB)
[#004] sha256:3498e5a179b7ac67de446096f44c34b91429d5054ce73520deac824fcdff177f - 0.0% (3.25 KB)
[#005] sha256:628c149e1e33d528fd0eaa52ba961dc2122e8958085863167e7c9dac3e7f9eca - 4.56% (55.2 MB)
[#006] sha256:0587cdf2b6725f1567f63fb3ac025dd38da8f44b8bee297548c730d983c0ad92 - 0.1% (1.19 MB)
[#007] sha256:36039b6ce9baba53972549ae5708dd1ca9555e5d9943e8e0bdf9fe6ae8bad59c - 0.0% (447 Bytes)
[#008] sha256:da648d00d03c1123d6eb12e565991e2f97e290e302928ae5aad2344b89a6de14 - 0.0% (93 Bytes)
[#009] sha256:6c3082db0618b7b32bef3758ffb4c6f865b4d14287525b73cd63773026af99e4 - 0.7% (8.46 MB)
[#010] sha256:fd65cbed20c778f3c60e3686fc14b288d0a563819744119a98383583fcdb7212 - 0.0% (96 Bytes)
[#011] sha256:13460801ca087a7002f7427e614806f5fc6fd09fa0a578ced30018c38db3286b - 2.4% (29.1 MB)
[#012] sha256:9e67571c596c450abee45976f829f5e48e4c4ec7b01831e9017a7b47c767ce7b - 24.35% (295 MB)
[#013] sha256:0087a8ab5c73d4e7b2b51290c2d59c8a365030e264056eb68cb08e3816972505 - 0.0% (10.9 KB)
[#014] sha256:7a335898abbef63d8c13c25d3f0fb48e57f1a730755d9f4db4b4add6bc8b13fc - 0.0% (1.85 KB)
[#015] sha256:70c69aebc8c079ae12ba9b7020a0ab28824f3b28867563116c4807f7843bbf91 - 0.49% (5.89 MB)
[#016] sha256:cd6c74b9030b09feafca1dfe058887ef3f437b5ccf1eef7877e446fcdb10a0e1 - 0.01% (98 KB)
[#017] sha256:8b3ae28d35c8a8ad9cafa66338a353d1ca13fe1a86334e9b89bde6428446df12 - 0.77% (9.36 MB)
[#018] sha256:c635020828202117e1daf43e4b3e9989206054e4c341112ac3a9c3649e6f8433 - 0.0% (33.1 KB)
[#019] sha256:f5cd7c88306141ac741529e4801713ade88cc9aecee2349f90f760b058134d97 - 0.0% (352 Bytes)
[#020] sha256:79f01faba217c1dc01543c65d743a37279ff24709ad89996151d8ebada72ad42 - 0.37% (4.52 MB)
[#021] sha256:a94ffb606606e5c622df300f453f9066f9a9c00c688b006729b3bd7b4e10102d - 0.14% (1.75 MB)
[#022] sha256:6e79cf05494f29c0962aa7e66ab96ae89727c300939a2c68edc211a0bd49f337 - 0.0% (14.3 KB)
[#023] sha256:1f03fce518036a38d1192052e39ce478cd1057dbbbb7b4f234e63b2818e750e0 - 10.64% (129 MB)
[#024] sha256:4ed42cbe28e3a6f24b5afed9975bc9a971d809899aec47ca3fd88c7537a27bb3 - 28.73% (348 MB)
[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#026] sha256:e0ca40e4598e77ac8829496c719518a29a7869029f7b2a7a0dcdb6616542aead - 0.0% (388 Bytes)
# debian.sh --arch 'arm64' out/ 'bookworm' '@1771804800'
2026-02-24 19:24:04 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit
2026-02-24 20:14:28 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit
2026-02-24 21:27:38 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit
2026-02-24 22:19:26 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
2026-02-24 22:21:24 UTC (buildkit.dockerfile.v0)ENV NODE_VERSION=24.14.0
2026-02-24 22:21:24 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; i386) ARCH='x86';; *) echo "unsupported architecture"; exit 1 ;; esac && export GNUPGHOME="$(mktemp -d)" && set -ex && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit
2026-02-24 22:21:24 UTC (buildkit.dockerfile.v0)ENV YARN_VERSION=1.22.22
2026-02-24 22:21:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && yarn --version && rm -rf /tmp/* # buildkit
2026-02-24 22:21:27 UTC (buildkit.dockerfile.v0)COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
2026-02-24 22:21:27 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-entrypoint.sh"]
2026-02-24 22:21:27 UTC (buildkit.dockerfile.v0)CMD ["node"]
2026-03-24 08:25:04 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_NODE_BOOKWORM_DIGEST
2026-03-24 08:25:04 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.base.name=docker.io/library/node:24-bookworm org.opencontainers.image.base.digest=sha256:3a09aa6354567619221ef6c45a5051b671f953f0a1924d1f819ffb236e520e6b
2026-03-24 08:25:04 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_VARIANT
2026-03-24 08:25:04 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_BUNDLED_PLUGIN_DIR
2026-03-24 08:25:04 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_DOCKER_APT_UPGRADE
2026-03-24 08:25:04 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/openclaw/openclaw org.opencontainers.image.url=https://openclaw.ai org.opencontainers.image.documentation=https://docs.openclaw.ai/install/docker org.opencontainers.image.licenses=MIT org.opencontainers.image.title=OpenClaw org.opencontainers.image.description=OpenClaw gateway and CLI runtime container image
2026-03-24 08:25:04 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-04-01 02:28:32 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c apt-get update && if [ "${OPENCLAW_DOCKER_APT_UPGRADE}" != "0" ]; then DEBIAN_FRONTEND=noninteractive apt-get upgrade -y --no-install-recommends; fi && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends procps hostname curl git lsof openssl # buildkit
2026-04-01 02:28:32 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c chown node:node /app # buildkit
2026-04-11 04:05:20 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/dist ./dist # buildkit
2026-04-11 04:05:44 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/node_modules ./node_modules # buildkit
2026-04-11 04:05:44 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/package.json . # buildkit
2026-04-11 04:05:44 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/openclaw.mjs . # buildkit
2026-04-11 04:05:45 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/extensions ./extensions # buildkit
2026-04-11 04:05:45 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/skills ./skills # buildkit
2026-04-11 04:05:45 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/docs ./docs # buildkit
2026-04-11 04:05:45 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/qa ./qa # buildkit
2026-04-11 04:05:45 UTC (buildkit.dockerfile.v0)COPY openclaw/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh # buildkit
2026-04-11 04:05:45 UTC (buildkit.dockerfile.v0)ENV OPENCLAW_BUNDLED_PLUGINS_DIR=/app/extensions
2026-04-11 04:05:45 UTC (buildkit.dockerfile.v0)ENV COREPACK_HOME=/usr/local/share/corepack
2026-04-11 04:05:55 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c install -d -m 0755 "$COREPACK_HOME" && corepack enable && for attempt in 1 2 3 4 5; do if corepack prepare "$(node -p "require('./package.json').packageManager")" --activate; then break; fi; if [ "$attempt" -eq 5 ]; then exit 1; fi; sleep $((attempt * 2)); done && chmod -R a+rX "$COREPACK_HOME" # buildkit
2026-04-11 04:06:13 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c npm install -g clawhub@latest && npm cache clean --force # buildkit
2026-04-11 04:06:17 UTC (buildkit.dockerfile.v0)RUN |3 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c install -d -o node -g node /home/node/.local/bin && su -s /bin/sh node -c 'curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --no-skills' && ln -sf /home/node/.local/bin/skillhub /usr/local/bin/skillhub && chmod 755 /usr/local/bin/skillhub # buildkit
2026-04-11 04:06:17 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip
2026-04-11 04:08:00 UTC (buildkit.dockerfile.v0)RUN |4 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip /bin/sh -c if [ -n "$OPENCLAW_DOCKER_APT_PACKAGES" ]; then apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends $OPENCLAW_DOCKER_APT_PACKAGES && if command -v pip3 >/dev/null 2>&1 && ! command -v pip >/dev/null 2>&1; then ln -sf "$(command -v pip3)" /usr/local/bin/pip; fi; fi # buildkit
2026-04-11 04:08:00 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_INSTALL_BROWSER=
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)RUN |5 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip OPENCLAW_INSTALL_BROWSER=true /bin/sh -c if [ -n "$OPENCLAW_INSTALL_BROWSER" ]; then apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xvfb && mkdir -p /home/node/.cache/ms-playwright && PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright node /app/node_modules/playwright-core/cli.js install --with-deps chromium && chown -R node:node /home/node/.cache/ms-playwright; fi # buildkit
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_INSTALL_DOCKER_CLI=
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)ARG OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)RUN |7 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip OPENCLAW_INSTALL_BROWSER=true OPENCLAW_INSTALL_DOCKER_CLI= OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88 /bin/sh -c if [ -n "$OPENCLAW_INSTALL_DOCKER_CLI" ]; then apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates curl gnupg && install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/debian/gpg -o /tmp/docker.gpg.asc && expected_fingerprint="$(printf '%s' "$OPENCLAW_DOCKER_GPG_FINGERPRINT" | tr '[:lower:]' '[:upper:]' | tr -d '[:space:]')" && actual_fingerprint="$(gpg --batch --show-keys --with-colons /tmp/docker.gpg.asc | awk -F: '$1 == "fpr" { print toupper($10); exit }')" && if [ -z "$actual_fingerprint" ] || [ "$actual_fingerprint" != "$expected_fingerprint" ]; then echo "ERROR: Docker apt key fingerprint mismatch (expected $expected_fingerprint, got ${actual_fingerprint:-<empty>})" >&2; exit 1; fi && gpg --dearmor -o /etc/apt/keyrings/docker.gpg /tmp/docker.gpg.asc && rm -f /tmp/docker.gpg.asc && chmod a+r /etc/apt/keyrings/docker.gpg && printf 'deb [arch=%s signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable\n' "$(dpkg --print-architecture)" > /etc/apt/sources.list.d/docker.list && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin; fi # buildkit
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)RUN |7 OPENCLAW_VARIANT=default OPENCLAW_BUNDLED_PLUGIN_DIR=extensions OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES=ffmpeg jq python3 python-is-python3 python3-pip OPENCLAW_INSTALL_BROWSER=true OPENCLAW_INSTALL_DOCKER_CLI= OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88 /bin/sh -c ln -sf /app/openclaw.mjs /usr/local/bin/openclaw && chmod 755 /usr/local/bin/docker-entrypoint.sh /app/openclaw.mjs # buildkit
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)ENV NODE_ENV=production
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)USER node
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)HEALTHCHECK &{["CMD-SHELL" "node -e \"fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""] "3m0s" "10s" "15s" "0s" '\x03'}
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
2026-04-11 04:09:46 UTC (buildkit.dockerfile.v0)CMD ["node" "openclaw.mjs" "gateway" "--allow-unconfigured"]
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.