镜像构建历史
# 2026-09-24 18:12:03 0.00B 设置默认要执行的命令
CMD []
# 2026-09-24 18:12:03 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
# 2026-09-24 18:12:03 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/opt/data]
# 2026-09-24 18:12:03 0.00B 执行命令并创建新的镜像层
RUN |8 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e HERMES_GIT_SHA=f97608f178d1ffeca59860195ab7da295f7c8e5f /bin/sh -c mkdir -p /opt/data # buildkit
# 2026-09-24 18:12:03 0.00B 设置环境变量 PATH
ENV PATH=/opt/hermes/bin:/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-09-24 18:12:03 1.12KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
# 2026-09-24 18:12:03 3.71KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
# 2026-09-24 18:12:03 0.00B 设置环境变量 XDG_RUNTIME_DIR
ENV XDG_RUNTIME_DIR=/tmp/hermes-runtime
# 2026-09-24 18:12:03 0.00B 设置环境变量 HERMES_LAZY_INSTALL_TARGET
ENV HERMES_LAZY_INSTALL_TARGET=/opt/data/lazy-packages
# 2026-09-24 18:12:03 0.00B 设置环境变量 HERMES_DISABLE_LAZY_INSTALLS
ENV HERMES_DISABLE_LAZY_INSTALLS=1
# 2026-09-24 18:12:03 0.00B 设置环境变量 HERMES_WRITE_SAFE_ROOT
ENV HERMES_WRITE_SAFE_ROOT=/opt/data
# 2026-09-24 18:12:03 0.00B 设置环境变量 HERMES_HOME
ENV HERMES_HOME=/opt/data
# 2026-09-24 18:12:03 0.00B 设置环境变量 HERMES_TUI_DIR
ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
# 2026-09-24 18:12:03 0.00B 设置环境变量 HERMES_WEB_DIST
ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
# 2026-09-24 18:12:03 2.23KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
# 2026-09-24 18:12:03 4.00KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
# 2026-09-24 18:12:03 66.00B 执行命令并创建新的镜像层
RUN |8 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e HERMES_GIT_SHA=f97608f178d1ffeca59860195ab7da295f7c8e5f /bin/sh -c mkdir -p /etc/cont-init.d && printf '#!/command/with-contenv sh\nexec /opt/hermes/docker/stage2-hook.sh\n' > /etc/cont-init.d/01-hermes-setup && chmod +x /etc/cont-init.d/01-hermes-setup # buildkit
# 2026-09-24 18:12:03 5.04KB 复制新文件或目录到容器中
COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
# 2026-09-24 18:12:03 208.00B 执行命令并创建新的镜像层
RUN |8 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e HERMES_GIT_SHA=f97608f178d1ffeca59860195ab7da295f7c8e5f /bin/sh -c set -eu; if [ -n "${HERMES_GIT_SHA}" ]; then printf '%s\n' "${HERMES_GIT_SHA}" > /opt/hermes/.hermes_build_sha; fi; mkdir -p /etc/hermes; HERMES_GIT_SHA="${HERMES_GIT_SHA}" python3 -c 'import json, os, pathlib, tomllib; project = tomllib.loads(pathlib.Path("/opt/hermes/pyproject.toml").read_text(encoding="utf-8"))["project"]; marker = pathlib.Path("/etc/hermes/image-provenance.json"); marker.write_text(json.dumps({"schema": 1, "deployment_kind": "image", "manager": "docker", "image": "nousresearch/hermes-agent", "version": project["version"], "revision": os.environ.get("HERMES_GIT_SHA") or None}, sort_keys=True, separators=(",", ":")) + "\n", encoding="utf-8"); marker.chmod(0o444)' # buildkit
# 2026-09-24 18:12:02 0.00B 定义构建参数
ARG HERMES_GIT_SHA=f97608f178d1ffeca59860195ab7da295f7c8e5f
# 2026-09-24 18:12:02 3.72KB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /opt/hermes/bin && cp /opt/hermes/docker/hermes-exec-shim.sh /opt/hermes/bin/hermes && chmod 0755 /opt/hermes /opt/hermes/bin/hermes && printf 'docker\n' > /opt/hermes/.install_method # buildkit
# 2026-09-24 18:12:02 0.00B 指定运行容器时使用的用户
USER root
# 2026-09-24 18:12:02 301.93KB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c uv pip install --no-cache-dir --no-deps -e "." # buildkit
# 2026-09-24 18:11:59 59.09MB 复制新文件或目录到容器中
COPY --chmod=a+rX,go-w . . # buildkit
# 2026-09-24 18:11:58 0.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /tmp/hermes-runtime && chmod 0700 /tmp/hermes-runtime # buildkit
# 2026-09-24 18:11:58 0.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /tmp/.X11-unix && chmod 1777 /tmp/.X11-unix # buildkit
# 2026-09-24 18:11:58 11.93MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c cd web && npm run build && cd ../ui-tui && npm run build # buildkit
# 2026-09-24 18:11:49 1.34MB 复制新文件或目录到容器中
COPY apps/shared/ apps/shared/ # buildkit
# 2026-09-24 18:11:49 3.68MB 复制新文件或目录到容器中
COPY ui-tui/ ui-tui/ # buildkit
# 2026-09-24 18:11:49 2.71MB 复制新文件或目录到容器中
COPY web/ web/ # buildkit
# 2026-09-24 18:11:48 390.94MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c uv sync --frozen --no-install-project --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra matrix --extra google-chat # buildkit
# 2026-09-24 18:10:55 0.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c touch ./README.md # buildkit
# 2026-09-24 18:10:55 772.18KB 复制新文件或目录到容器中
COPY pyproject.toml uv.lock ./ # buildkit
# 2026-09-24 17:01:13 86.82MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c cd plugins/platforms/photon/sidecar && npm ci --no-audit --fetch-retries=5 && npm cache clean --force # buildkit
# 2026-09-24 17:01:10 64.71KB 复制新文件或目录到容器中
COPY plugins/platforms/photon/sidecar/package.json plugins/platforms/photon/sidecar/package-lock.json plugins/platforms/photon/sidecar/patch-spectrum-mixed-attachments.mjs plugins/platforms/photon/sidecar/ # buildkit
# 2026-09-24 18:12:03 0.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c if [ "$HERMES_BOT_DESKTOP" = "1" ]; then for i in 1 2 3; do npx playwright install chromium && break || { [ "$i" = 3 ] && exit 1; echo "playwright chromium install failed (attempt $i); retrying in 10s"; sleep 10; }; done; fi # buildkit
# 2026-09-24 17:01:09 767.43MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c npm install --prefer-offline --no-audit --fetch-retries=5 && for i in 1 2 3; do npx playwright install --with-deps chromium --only-shell && break || { [ "$i" = 3 ] && exit 1; echo "playwright headless-shell install failed (attempt $i); retrying in 10s"; sleep 10; }; done && npm cache clean --force # buildkit
# 2026-09-24 17:00:47 0.00B 设置环境变量 npm_config_install_links
ENV npm_config_install_links=false
# 2026-09-24 17:00:47 1.34MB 复制新文件或目录到容器中
COPY apps/shared/ apps/shared/ # buildkit
# 2026-09-24 06:08:53 1.37MB 复制新文件或目录到容器中
COPY ui-tui/packages/hermes-ink/ ui-tui/packages/hermes-ink/ # buildkit
# 2026-09-23 19:04:45 1.34KB 复制新文件或目录到容器中
COPY ui-tui/package.json ui-tui/ # buildkit
# 2026-09-23 19:04:45 1.63KB 复制新文件或目录到容器中
COPY web/package.json web/ # buildkit
# 2026-09-23 19:04:45 725.97KB 复制新文件或目录到容器中
COPY package.json package-lock.json ./ # buildkit
# 2026-09-23 19:04:45 0.00B 设置工作目录为/opt/hermes
WORKDIR /opt/hermes
# 2026-09-23 19:04:45 92.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c ln -sf /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && ln -sf /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx # buildkit
# 2026-09-23 19:04:45 12.08MB 复制新文件或目录到容器中
COPY /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/npm # buildkit
# 2026-09-23 19:04:44 148.01MB 复制新文件或目录到容器中
COPY --chmod=0755 /usr/local/bin/node /usr/local/bin/ # buildkit
# 2026-09-23 19:04:44 58.39MB 复制新文件或目录到容器中
COPY --chmod=0755 /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/ # buildkit
# 2026-09-23 19:04:44 8.95KB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c useradd -u 10000 -m -d /opt/data hermes # buildkit
# 2026-09-23 19:04:44 2.73KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
# 2026-09-23 19:04:44 6.01MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c set -eu; case "${TARGETARCH:-amd64}" in amd64) s6_arch="x86_64"; s6_arch_sha="${S6_OVERLAY_X86_64_SHA256}" ;; arm64) s6_arch="aarch64"; s6_arch_sha="${S6_OVERLAY_AARCH64_SHA256}" ;; *) echo "Unsupported TARGETARCH=${TARGETARCH} for s6-overlay" >&2; exit 1 ;; esac; base="https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}"; curl -fsSL --retry 3 -o /tmp/s6-overlay-noarch.tar.xz "${base}/s6-overlay-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-symlinks-noarch.tar.xz "${base}/s6-overlay-symlinks-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-arch.tar.xz "${base}/s6-overlay-${s6_arch}.tar.xz"; { printf '%s %s\n' "${S6_OVERLAY_NOARCH_SHA256}" /tmp/s6-overlay-noarch.tar.xz; printf '%s %s\n' "${s6_arch_sha}" /tmp/s6-overlay-arch.tar.xz; printf '%s %s\n' "${S6_OVERLAY_SYMLINKS_SHA256}" /tmp/s6-overlay-symlinks-noarch.tar.xz; } > /tmp/s6-overlay.sha256; sha256sum -c /tmp/s6-overlay.sha256; tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-arch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz; rm /tmp/s6-overlay-*.tar.xz /tmp/s6-overlay.sha256 # buildkit
# 2026-09-23 19:04:43 0.00B 定义构建参数
ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
# 2026-09-23 19:04:43 0.00B 定义构建参数
ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
# 2026-09-23 19:04:43 0.00B 定义构建参数
ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
# 2026-09-23 19:04:43 0.00B 定义构建参数
ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
# 2026-09-23 19:04:43 0.00B 定义构建参数
ARG S6_OVERLAY_VERSION=3.2.3.0
# 2026-09-23 19:04:43 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2026-09-23 19:04:43 43.76KB 执行命令并创建新的镜像层
RUN |1 HERMES_BOT_DESKTOP=0 /bin/sh -c ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so.0 && ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so && printf '/usr/local/lib\n' > /etc/ld.so.conf.d/000-sqlite-fixed.conf && ldconfig && python3 -c "import sqlite3, sys; v = sqlite3.sqlite_version_info; sys.exit(f'linked SQLite {sqlite3.sqlite_version} still has the WAL-reset bug') if v < (3, 51, 3) else None; db = sqlite3.connect(':memory:'); db.execute(\"CREATE VIRTUAL TABLE docs USING fts5(content, tokenize='trigram')\"); db.execute(\"INSERT INTO docs VALUES ('hermes')\"); sys.exit('SQLite FTS5 trigram self-test failed') if db.execute(\"SELECT count(*) FROM docs WHERE docs MATCH 'erm'\").fetchone()[0] != 1 else None; db.close()" # buildkit
# 2026-09-23 19:04:43 1.72MB 复制新文件或目录到容器中
COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
# 2026-09-24 18:12:03 0.00B 执行命令并创建新的镜像层
RUN |1 HERMES_BOT_DESKTOP=0 /bin/sh -c if [ "$HERMES_BOT_DESKTOP" = "1" ]; then apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 install -y --no-install-recommends tigervnc-standalone-server xfce4-panel xfwm4 xfdesktop4 xfce4-settings xfce4-terminal dbus-x11 x11-xserver-utils x11-utils x11-xkb-utils xauth fonts-dejavu-core chromium && rm -rf /var/lib/apt/lists/*; fi # buildkit
# 2026-08-28 04:50:45 0.00B 定义构建参数
ARG HERMES_BOT_DESKTOP=0
# 2026-08-28 04:50:45 1.06GB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 install -y --no-install-recommends ca-certificates curl iputils-ping python3 python-is-python3 ripgrep ffmpeg gcc g++ make cmake python3-dev python3-venv libffi-dev libolm-dev libatomic1 procps git openssh-client docker-cli xz-utils && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-08-28 04:50:45 0.00B 设置环境变量 PLAYWRIGHT_BROWSERS_PATH
ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/.playwright
# 2026-08-28 04:50:45 0.00B 设置环境变量 PYTHONDONTWRITEBYTECODE
ENV PYTHONDONTWRITEBYTECODE=1
# 2026-08-28 04:50:45 0.00B 设置环境变量 PYTHONUNBUFFERED
ENV PYTHONUNBUFFERED=1
# 2026-05-05 08:00:00 119.87MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1777939200'
镜像信息
{
"Id": "sha256:0ba99c713250dbc2e80a5806cd3eb6b3e6c39ee2f251627efaecce384da436fc",
"RepoTags": [
"nousresearch/hermes-agent:v2026.9.24",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nousresearch/hermes-agent:v2026.9.24"
],
"RepoDigests": [
"nousresearch/hermes-agent@sha256:fca358f12efd65bfaaca05884166f15c0e2788375ca30d77061ac1ebc96452b7",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nousresearch/hermes-agent@sha256:1e9cdfa795f375f4c756a7b4445d16596bacd521ebfb7278451b89bc1f184b21"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-09-24T10:12:03.20370671Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "root",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/hermes/bin:/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PYTHONUNBUFFERED=1",
"PYTHONDONTWRITEBYTECODE=1",
"PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/.playwright",
"npm_config_install_links=false",
"HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist",
"HERMES_TUI_DIR=/opt/hermes/ui-tui",
"HERMES_HOME=/opt/data",
"HERMES_WRITE_SAFE_ROOT=/opt/data",
"HERMES_DISABLE_LAZY_INSTALLS=1",
"HERMES_LAZY_INSTALL_TARGET=/opt/data/lazy-packages",
"XDG_RUNTIME_DIR=/tmp/hermes-runtime"
],
"Cmd": null,
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/opt/data": {}
},
"WorkingDir": "/opt/hermes",
"Entrypoint": [
"/opt/hermes/docker/entrypoint-dispatch.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.revision": "f97608f178d1ffeca59860195ab7da295f7c8e5f"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 2729984032,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/418c25d99b34b1b19b7fa35d103154ef0bba80ceff75488cf7a75fbee22929b7/diff:/var/lib/docker/overlay2/296e0439bf57611d2da3c0b78479ce66c95c541724e2c0b914a8ed3be5a54a7a/diff:/var/lib/docker/overlay2/78da1dcd1037a0e56b54946db6458f0f5427454b60a57a5f8c4ad7eeedf63e49/diff:/var/lib/docker/overlay2/2e3d45317e5ee6e90e71e2d4cade49d288fd9096142ec6f6900db2d8c2501636/diff:/var/lib/docker/overlay2/883b49a54b18452414f523cacb8b396d1d1623b6c791736a0e3e1a772fb27001/diff:/var/lib/docker/overlay2/ad0c4d66e722d7a6aaaa02cc032cd06bffa2234ca3f32a5767a0475844ad6320/diff:/var/lib/docker/overlay2/c04badf573aa923ff6ed2c28fb5d25bed159b302c4f812bb20f49454fc4715b8/diff:/var/lib/docker/overlay2/e07f18f424e096f69462f2b95fba69eb4883101f4ac88009d6bbfd089bcb8ac5/diff:/var/lib/docker/overlay2/0906d52e1cd626fed8aa082bb2f7a4a7e40c766646c541d59188c69af276068e/diff:/var/lib/docker/overlay2/b91aa32779a1108ef274dfb5e124ce6030ae7dfced06e37f195d5791cfad8715/diff:/var/lib/docker/overlay2/c42bdd4dbab0efe3c451e1de7571e7658c1c21a731477614fc03f984564921f7/diff:/var/lib/docker/overlay2/59b359c74fe49d6b38677fc5a7111113263127422449da4104b214077cea526d/diff:/var/lib/docker/overlay2/33cda9aa24888f5178c3c765da335bb0dd441eee4783b7e231d862af685af9f8/diff:/var/lib/docker/overlay2/5cf9cfdd67e59ce576c92bacc8b9e872843c39342a5509a38c8b61846223eb0c/diff:/var/lib/docker/overlay2/4ac3fa5bf7851fac89232a3be6860c34782295a05d0d9b0c0b46d58b6b54c641/diff:/var/lib/docker/overlay2/e34313125178c950b5179c59c4fb300273a2347b519348ea5caa68ac07ac5ba7/diff:/var/lib/docker/overlay2/ad221d2ea63a803893e9234855ccf7203f836f5589c9c29739516eef03ac439f/diff:/var/lib/docker/overlay2/faafeba9421492964c8c69dc74e42d34850b607fe2222ed09d0ae5130b67e90f/diff:/var/lib/docker/overlay2/b1bc97c1743a949033bd4358e4ae8359cd0d65b041ac11bfcd04248110e3f9a4/diff:/var/lib/docker/overlay2/2c615bfc770f6d5e329cd398f595bd997d3434efc14ca5d6131927d1aaa9a093/diff:/var/lib/docker/overlay2/2f655b6ae11de29c9f133165b1c8c33769674250b85272fe1006cb7cbc3d467f/diff:/var/lib/docker/overlay2/5c448e74e49f6f2c24e4b3b2123396db09d69d75da6f45361820f130d0150858/diff:/var/lib/docker/overlay2/47c8c6a0b2b020e2b7f72d38f76f73d62390b6c3cf29d8f442e82bb1cbf8cfec/diff:/var/lib/docker/overlay2/74614ed89701433fdcd3735ef353fadb3e531d72bd7864aa8bbd1eaa3f36f1b2/diff:/var/lib/docker/overlay2/a385010354098cf211044af7d27c53cfc73c8f87c2441c7657d28aa3eeb7aa0e/diff:/var/lib/docker/overlay2/2f509aed044cab74d5f2fd59932f23678354ba2067200f62839a9046eee2b846/diff:/var/lib/docker/overlay2/28249aeea1eac6254d84222f92fcfbcd0d56587100b4cc3a169ef42036e6e242/diff:/var/lib/docker/overlay2/be44f5125eadac2c1fe7c49164049a798136f0c7ca3ce65f8b4ce4fbabaeb8f9/diff:/var/lib/docker/overlay2/e49c242b0d3932000fffa50873be1b489f14f14904e3ef59e33b43536e643814/diff:/var/lib/docker/overlay2/5474bcd8f863b31e58928f49a7f3ebbabca9a645670eb4ca92a8a9b15a8f027c/diff:/var/lib/docker/overlay2/2ae015e14882e7f8b83efd9730830b4d240848a7a079b7977ead20dd50a6485d/diff:/var/lib/docker/overlay2/1aee450c42d0ea7e54a8db87065d08ad1d08559261a40a26d0b079aa41a4b42f/diff:/var/lib/docker/overlay2/c5824b3b3b065ab35a535b370bb005bd7df20aac30d8a180f86abd117dee31f8/diff:/var/lib/docker/overlay2/9ef490d470b5edb074215ae76c3a2177764396c6fcbf4245f4a2005fb53ae15e/diff:/var/lib/docker/overlay2/e565dcad2e4bc775f64a667975ca00afe26cc395f504515243238bb4654ae764/diff:/var/lib/docker/overlay2/699cc5ec052d05be5cf99be6caa4b3c53e31eb0928d9e5e55969128ed9b2467a/diff:/var/lib/docker/overlay2/686c3f66cd6d7bc6022b1c6eda16ecc9550df4b7c93b9cb66abea6fa9a0e9e55/diff:/var/lib/docker/overlay2/7ad99a07af164edb5119825e7e1f895c8e269db37f3afb27ecab4edc002764c7/diff:/var/lib/docker/overlay2/9881d28521b28b65a7748721b253aa43a8a3ab882a6f1adbc435d80c4a5e610a/diff:/var/lib/docker/overlay2/a1a5fedb53ba26a165966ba71bdca3b1d6c3b9eb088b257669e519a6f2e856ef/diff:/var/lib/docker/overlay2/4d8f2eaf753018ad270c794c2eae6cf7dce5ee164141fab0624be6b67a0b62df/diff",
"MergedDir": "/var/lib/docker/overlay2/21c21e306724d829930f99edb155a0efb1a7a343a0ad534e12116a9401d80d5d/merged",
"UpperDir": "/var/lib/docker/overlay2/21c21e306724d829930f99edb155a0efb1a7a343a0ad534e12116a9401d80d5d/diff",
"WorkDir": "/var/lib/docker/overlay2/21c21e306724d829930f99edb155a0efb1a7a343a0ad534e12116a9401d80d5d/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:5222f025e44ae24949e8880713955891ae0bd339afd3adb699d66e1cd603e2fa",
"sha256:f40c3ba877ca32ed30a1a99f3619a92cc59b128ef42879409c585e4c482a74e9",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:1dae4715762cc2f0ecc0a00823b00ccaf7ade19fcd25e3415c2752a9dce8903a",
"sha256:5834774d353c5ea5061bc0fcacbb7603101e6ab0506a616d36aac1914a28226d",
"sha256:b342ea4da0c0432382a9c9b54c3572d4f4c7e1b643abd66ed7545ece941680ef",
"sha256:5b1e8aa9111c26200172728e5efef5c9347b42effccaef61ac6d761f8a86d0ca",
"sha256:049b481cce5a0110a6838a29e78179a8242b0cc12b7e194979e68ba2f8f1d80a",
"sha256:feed267c63135725e8e0d6bde03fc9e03802e32ff8faa0aec8bd16f1f815bc68",
"sha256:e352c725a137aa1eebf48d4c5b9d99a75d9548a1093ca4a9233ce4d85b263615",
"sha256:9ee63ddac053d7caac65957d38e630a0fc8b28a4fc9d7dc8a1279a506061ac53",
"sha256:20086727b4d25991f1ab1b28c590c2705539cf8ff0015ab89710da7fad2bc748",
"sha256:ee3f833c65dfdabd074833ca9012c3cfa3d775b9cc4c4ec3116b86d611ba6213",
"sha256:c5b4d47acef7740874e856d0c73aa90dea17bc9584e4deff0fab555f1fd7859f",
"sha256:bfd001aa91e71975c4caffe6679a948f4d83dd91e5f2af437b4ba1a84ffac68a",
"sha256:7ad736e539be515ca2a2bf3c42bc3ecd475a1c80263809056af74ceb7f41a342",
"sha256:946a3349be52230429727768094cf673a40a5b0678dae8e3fc7ac4bfc64cc13d",
"sha256:0f0fcb492a66c59357ed341fbc2afc6fa2e68f46f6ac2c8d9b4ea16c35d66a87",
"sha256:fdadbe191e78b33597cb3b43121befd6f8a5703b4972dda35417b16f4224da3d",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:cc338837b480cb4e47d8a0ddead3219f7abf18ac34e1c065ca14a17c1760e6aa",
"sha256:05a0279d80e2c6450c0c4c50707756996989a597a9fe7f2c1cdacdf0f9072f7b",
"sha256:4b93bd3339077e2bd8c350d29d14149c1f327194f4114636bb009052dd488ce0",
"sha256:8692607e2c27f5a9262a6a9ca540e7b98a40b6137203a3d23c7d9dc26f50af5c",
"sha256:f52c06f752a12df0c18f586cd833d2e896ac6c10f83c9d16a4419138ae4fe26f",
"sha256:6a1ad74ff603662227604c1aeb05b7e9e07e699a4731bbc6cd8477a838dcf7c2",
"sha256:26a635e5a98a142948f0bab04de8e2f9ea45f799ec38a10a069f1aabed18e17b",
"sha256:7e7470dc97d1aaf1b27523b2838e22570eb60893125b7b9535b48c8608496e74",
"sha256:e8a3d03ee88f42e3fbb1ac1f473ee02b0fec3f1d00c00c75b95025b817f550db",
"sha256:61dfb7f864543ecc69dd34e5f7e5909b77c39cbd6de0d404d0bd4d35b29594f9",
"sha256:c3b4166b41f13f24ee1eb497b01840e7637d9f19c5d5341adfcaa2455acc773a",
"sha256:cf27633c59c6b38018ff62f629a31b6fca9bf87412c3156c06ec07fb49b91187",
"sha256:b5c80743f7219a35ad476e7678dba4a9bcbb6076b617d21d87a77ba544561a56",
"sha256:8d23e7f0525283c76607d8e5d7db353b73e86f01f576550541f40eb4bff109de",
"sha256:06d63f18492b97249488a505246e9ed347a952ba2b4ee35b6cba0e4b2567b327",
"sha256:7c2bcd6bc6fd1dac7dcb76915060d8417816213163d89fbed9fe11f7f809dfac",
"sha256:0f829f6da70fc106543198252a124fce330bbcf182e9eef0d67abefa90ed2884",
"sha256:c6f4268c60861ecff0855f0d0b97c5abe5d012ea0a89e1dbcec8d84f615639da",
"sha256:8788b5a2cb2ac137fe9c6fbab9e7d8018ee7a47cc419db62fcc1ee3a9a5b4618",
"sha256:cd3460ceae7eaeb627eeabd8f9670b5c3748da02c2d0c4ac0a5d4f91c2392fe2",
"sha256:60845b3ff8b6812d20c52b438dfce2c51c28c5533efbbb2a86d40a1c25a8510b",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
]
},
"Metadata": {
"LastTagTime": "2026-09-24T19:37:55.308296547+08:00"
}
}