• Joined on 2024-12-25

openclaw-custom (latest)

Published 2026-03-28 00:45:53 +00:00 by asp

Installation

docker pull gitea.gt0.ca/asp/openclaw-custom:latest
sha256:a4f5f637c8d36e73bb38273f6d818698921434c7b35c6d8730ecc76bfb159b32

Images

Digest OS / Arch Size
2c41fd210c linux/amd64 1.5 GiB

Image Layers ( linux/amd64)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1771804800'
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
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
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
RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
ENV NODE_VERSION=24.14.0
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
ENV YARN_VERSION=1.22.22
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
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["node"]
ARG OPENCLAW_NODE_BOOKWORM_DIGEST
LABEL org.opencontainers.image.base.name=docker.io/library/node:24-bookworm org.opencontainers.image.base.digest=sha256:3a09aa6354567619221ef6c45a5051b671f953f0a1924d1f819ffb236e520e6b
ARG OPENCLAW_VARIANT
ARG OPENCLAW_DOCKER_APT_UPGRADE
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
WORKDIR /app
RUN |2 OPENCLAW_VARIANT=default 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
RUN |2 OPENCLAW_VARIANT=default OPENCLAW_DOCKER_APT_UPGRADE=1 /bin/sh -c chown node:node /app # buildkit
COPY --chown=node:node /app/dist ./dist # buildkit
COPY --chown=node:node /app/node_modules ./node_modules # buildkit
COPY --chown=node:node /app/package.json . # buildkit
COPY --chown=node:node /app/openclaw.mjs . # buildkit
COPY --chown=node:node /app/extensions ./extensions # buildkit
COPY --chown=node:node /app/skills ./skills # buildkit
COPY --chown=node:node /app/docs ./docs # buildkit
ENV OPENCLAW_BUNDLED_PLUGINS_DIR=/app/extensions
ENV COREPACK_HOME=/usr/local/share/corepack
RUN |2 OPENCLAW_VARIANT=default 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
ARG OPENCLAW_DOCKER_APT_PACKAGES=
RUN |3 OPENCLAW_VARIANT=default OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES= /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; fi # buildkit
ARG OPENCLAW_INSTALL_BROWSER=
RUN |4 OPENCLAW_VARIANT=default OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES= OPENCLAW_INSTALL_BROWSER= /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
ARG OPENCLAW_INSTALL_DOCKER_CLI=
ARG OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88
RUN |6 OPENCLAW_VARIANT=default OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES= OPENCLAW_INSTALL_BROWSER= 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
RUN |6 OPENCLAW_VARIANT=default OPENCLAW_DOCKER_APT_UPGRADE=1 OPENCLAW_DOCKER_APT_PACKAGES= OPENCLAW_INSTALL_BROWSER= OPENCLAW_INSTALL_DOCKER_CLI= OPENCLAW_DOCKER_GPG_FINGERPRINT=9DC858229FC7DD38854AE2D88D81803C0EBFCD88 /bin/sh -c ln -sf /app/openclaw.mjs /usr/local/bin/openclaw && chmod 755 /app/openclaw.mjs # buildkit
ENV NODE_ENV=production
USER node
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'}
CMD ["node" "openclaw.mjs" "gateway" "--allow-unconfigured"]
USER root
RUN /bin/sh -c set -ex; usermod -m -d /home/openclaw --login openclaw node; mkdir -p /home/openclaw/.config/clawhub /home/openclaw/.local/{bin,share}; chown -R 1000:1000 /home/openclaw # buildkit
ENV DEBIAN_FRONTEND=noninteractive
RUN /bin/sh -c curl -fsSL https://deb.nodesource.com/setup_24.x | bash - # buildkit
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends apt-transport-https bash build-essential ca-certificates cargo coreutils curl file git grep jq nodejs pipx pkg-config postgresql-client python3 python3-pip ripgrep rustc shellcheck rsync unzip wget yamllint cmake gnupg2 && rm -rf /var/lib/apt/lists/* # buildkit
COPY /uv /uvx /bin/ # buildkit
RUN /bin/sh -c npm install -g @ast-grep/cli && npm install -g clawhub && runuser --user openclaw clawhub search test >/dev/null # buildkit
RUN /bin/sh -c wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /etc/apt/trusted.gpg.d/adoptium.gpg && echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list && apt update && apt install -qy temurin-25-jdk && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/sh -c curl -s -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh | bash && curl -s -L -o /usr/local/bin/lein https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein && chmod 0755 /usr/local/bin/lein # buildkit
RUN /bin/sh -c curl -fsSL https://raw.githubusercontent.com/babashka/babashka/master/install | bash # buildkit
RUN /bin/sh -c curl -fsSL -o /usr/local/bin/bbin https://raw.githubusercontent.com/babashka/bbin/main/bbin && chmod +x /usr/local/bin/bbin # buildkit
USER node

Labels

Key Value
org.opencontainers.image.base.digest sha256:3a09aa6354567619221ef6c45a5051b671f953f0a1924d1f819ffb236e520e6b
org.opencontainers.image.base.name docker.io/library/node:24-bookworm
org.opencontainers.image.created 2026-03-25T16:32:04Z
org.opencontainers.image.description OpenClaw gateway and CLI runtime container image
org.opencontainers.image.documentation https://docs.openclaw.ai/install/docker
org.opencontainers.image.licenses MIT
org.opencontainers.image.revision 97a7e93db40118e28e81a709587e3867cb66672e
org.opencontainers.image.source https://github.com/openclaw/openclaw
org.opencontainers.image.title OpenClaw
org.opencontainers.image.url https://openclaw.ai
org.opencontainers.image.version 2026.3.24
Details
Container
2026-03-28 00:45:53 +00:00
27
OCI / Docker
Versions (1) View all
latest 2026-03-28