镜像构建历史
# 2026-09-12 22:31:58 0.00B 设置默认要执行的命令
CMD []
# 2026-09-12 22:31:58 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/app/bin/start-studio-all.sh"]
# 2026-09-12 22:31:58 0.00B 声明容器运行时监听的端口
EXPOSE [6060/tcp]
# 2026-09-12 22:31:58 0.00B 设置环境变量 PATH
ENV PATH=/home/agent/.hermes-web-ui/coding-agent/npm/bin:/opt/hermes/.venv/bin:/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-12 22:31:58 0.00B 设置环境变量 NPM_CONFIG_PREFIX
ENV NPM_CONFIG_PREFIX=/home/agent/.hermes-web-ui/coding-agent/npm
# 2026-09-12 22:31:58 0.00B 设置环境变量 HERMES_WEB_UI_MANAGED_GATEWAY
ENV HERMES_WEB_UI_MANAGED_GATEWAY=1
# 2026-09-12 22:31:58 0.00B 设置环境变量 HERMES_HOME
ENV HERMES_HOME=/home/agent/.hermes
# 2026-09-12 22:31:58 0.00B 设置环境变量 HOME
ENV HOME=/home/agent
# 2026-09-12 22:31:58 0.00B 设置环境变量 NODE_ENV
ENV NODE_ENV=production
# 2026-09-12 22:31:58 761.00B 执行命令并创建新的镜像层
RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm run verify:sharp-runtime # buildkit
# 2026-09-12 22:31:58 105.42MB 执行命令并创建新的镜像层
RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm run build && npm prune --omit=dev # buildkit
# 2026-09-12 22:30:07 51.61MB 复制新文件或目录到容器中
COPY . . # buildkit
# 2026-09-12 22:30:06 1.28GB 执行命令并创建新的镜像层
RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm ci --ignore-scripts && npm rebuild node-pty # buildkit
# 2026-09-12 22:29:44 0.00B 设置环境变量 NODE_OPTIONS
ENV NODE_OPTIONS=--max-old-space-size=4096
# 2026-09-12 22:29:44 464.38KB 复制新文件或目录到容器中
COPY package*.json ./ # buildkit
# 2026-09-12 22:29:44 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-09-12 22:29:44 194.12MB 执行命令并创建新的镜像层
RUN |1 NODE_VERSION=24.15.0 /bin/sh -c ARCH=$(dpkg --print-architecture) && if [ "$ARCH" = "amd64" ]; then NODE_ARCH="x64"; else NODE_ARCH="$ARCH"; fi && echo "Downloading Node.js v${NODE_VERSION} for ${NODE_ARCH}" && curl -fsSL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.gz" -o /tmp/node.tar.gz && rm -rf /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/corepack /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx /usr/local/bin/corepack && tar -xzf /tmp/node.tar.gz -C /usr/local --strip-components=1 && rm -f /tmp/node.tar.gz && node --version && npm --version # buildkit
# 2026-09-12 22:29:40 3.69MB 执行命令并创建新的镜像层
RUN |1 NODE_VERSION=24.15.0 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates curl ffmpeg make g++ && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-09-12 22:29:40 0.00B 指定运行容器时使用的用户
USER root
# 2026-09-12 22:29:40 0.00B 定义构建参数
ARG NODE_VERSION=24.15.0
# 2026-09-12 21:48:04 0.00B 设置默认要执行的命令
CMD []
# 2026-09-12 21:48:04 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
# 2026-09-12 21:48:04 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/opt/data]
# 2026-09-12 21:48:04 0.00B 执行命令并创建新的镜像层
RUN |7 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=53c57871d67ee7d2202861aacc4ea0ef6ef93112 /bin/sh -c mkdir -p /opt/data # buildkit
# 2026-09-12 21:48:04 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-12 21:48:04 1.12KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
# 2026-09-12 21:48:04 3.71KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
# 2026-09-12 21:48:04 0.00B 设置环境变量 HERMES_LAZY_INSTALL_TARGET
ENV HERMES_LAZY_INSTALL_TARGET=/opt/data/lazy-packages
# 2026-09-12 21:48:04 0.00B 设置环境变量 HERMES_DISABLE_LAZY_INSTALLS
ENV HERMES_DISABLE_LAZY_INSTALLS=1
# 2026-09-12 21:48:04 0.00B 设置环境变量 HERMES_WRITE_SAFE_ROOT
ENV HERMES_WRITE_SAFE_ROOT=/opt/data
# 2026-09-12 21:48:04 0.00B 设置环境变量 HERMES_HOME
ENV HERMES_HOME=/opt/data
# 2026-09-12 21:48:04 0.00B 设置环境变量 HERMES_TUI_DIR
ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
# 2026-09-12 21:48:04 0.00B 设置环境变量 HERMES_WEB_DIST
ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
# 2026-09-12 21:48:04 2.23KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
# 2026-09-12 21:48:04 4.00KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
# 2026-09-12 21:48:04 66.00B 执行命令并创建新的镜像层
RUN |7 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=53c57871d67ee7d2202861aacc4ea0ef6ef93112 /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-12 21:48:03 5.04KB 复制新文件或目录到容器中
COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
# 2026-09-12 21:48:03 208.00B 执行命令并创建新的镜像层
RUN |7 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=53c57871d67ee7d2202861aacc4ea0ef6ef93112 /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-12 21:48:03 0.00B 定义构建参数
ARG HERMES_GIT_SHA=53c57871d67ee7d2202861aacc4ea0ef6ef93112
# 2026-09-12 21:48:03 3.72KB 执行命令并创建新的镜像层
RUN |6 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-12 21:48:03 0.00B 指定运行容器时使用的用户
USER root
# 2026-09-12 21:48:03 291.71KB 执行命令并创建新的镜像层
RUN |6 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-12 21:47:57 60.01MB 复制新文件或目录到容器中
COPY --chmod=a+rX,go-w . . # buildkit
# 2026-09-12 16:55:16 11.96MB 执行命令并创建新的镜像层
RUN |6 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-12 16:55:06 91.36KB 复制新文件或目录到容器中
COPY apps/shared/ apps/shared/ # buildkit
# 2026-09-12 16:55:06 3.67MB 复制新文件或目录到容器中
COPY ui-tui/ ui-tui/ # buildkit
# 2026-09-12 16:55:06 2.62MB 复制新文件或目录到容器中
COPY web/ web/ # buildkit
# 2026-09-12 03:22:02 346.21MB 执行命令并创建新的镜像层
RUN |6 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 hindsight --extra matrix # buildkit
# 2026-09-12 03:21:10 0.00B 执行命令并创建新的镜像层
RUN |6 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-12 03:21:10 756.65KB 复制新文件或目录到容器中
COPY pyproject.toml uv.lock ./ # buildkit
# 2026-09-12 02:56:14 86.82MB 执行命令并创建新的镜像层
RUN |6 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-12 02:56:12 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-12 02:56:12 761.86MB 执行命令并创建新的镜像层
RUN |6 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 install failed (attempt $i); retrying in 10s"; sleep 10; }; done && npm cache clean --force # buildkit
# 2026-09-12 02:55:54 0.00B 设置环境变量 npm_config_install_links
ENV npm_config_install_links=false
# 2026-09-12 02:55:54 91.36KB 复制新文件或目录到容器中
COPY apps/shared/ apps/shared/ # buildkit
# 2026-09-12 02:55:54 1.38MB 复制新文件或目录到容器中
COPY ui-tui/packages/hermes-ink/ ui-tui/packages/hermes-ink/ # buildkit
# 2026-09-12 02:55:54 1.34KB 复制新文件或目录到容器中
COPY ui-tui/package.json ui-tui/ # buildkit
# 2026-09-12 02:55:54 1.63KB 复制新文件或目录到容器中
COPY web/package.json web/ # buildkit
# 2026-09-12 02:55:54 723.93KB 复制新文件或目录到容器中
COPY package.json package-lock.json ./ # buildkit
# 2026-08-28 04:50:46 0.00B 设置工作目录为/opt/hermes
WORKDIR /opt/hermes
# 2026-08-28 04:50:46 92.00B 执行命令并创建新的镜像层
RUN |6 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-08-28 04:50:46 12.08MB 复制新文件或目录到容器中
COPY /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/npm # buildkit
# 2026-08-28 04:50:46 148.01MB 复制新文件或目录到容器中
COPY --chmod=0755 /usr/local/bin/node /usr/local/bin/ # buildkit
# 2026-08-28 04:50:46 58.39MB 复制新文件或目录到容器中
COPY --chmod=0755 /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/ # buildkit
# 2026-08-28 04:50:46 8.95KB 执行命令并创建新的镜像层
RUN |6 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-08-28 04:50:46 2.73KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
# 2026-08-28 04:50:46 6.01MB 执行命令并创建新的镜像层
RUN |6 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-08-28 04:50:45 0.00B 定义构建参数
ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
# 2026-08-28 04:50:45 0.00B 定义构建参数
ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
# 2026-08-28 04:50:45 0.00B 定义构建参数
ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
# 2026-08-28 04:50:45 0.00B 定义构建参数
ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
# 2026-08-28 04:50:45 0.00B 定义构建参数
ARG S6_OVERLAY_VERSION=3.2.3.0
# 2026-08-28 04:50:45 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2026-08-28 04:50:45 43.76KB 执行命令并创建新的镜像层
RUN /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-08-28 04:50:45 1.72MB 复制新文件或目录到容器中
COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
# 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:99ed1e9ca38cd28890d5c7b4ba3ee989d5406c377ea648f961fe429704bb5509",
"RepoTags": [
"ekkoye8888/hermes-web-ui:v0.7.21",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ekkoye8888/hermes-web-ui:v0.7.21"
],
"RepoDigests": [
"ekkoye8888/hermes-web-ui@sha256:f4133b47286766c97c2427e0cffc283539f35d158b8154aeaafc833833517438",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ekkoye8888/hermes-web-ui@sha256:cf5210a0bd6a486ff9c7fa3e6d41809112a8362211ca3cdcff7c1277a67cb7d2"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-09-12T14:31:58.929886405Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "root",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"6060/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/home/agent/.hermes-web-ui/coding-agent/npm/bin:/opt/hermes/.venv/bin:/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=/home/agent/.hermes",
"HERMES_WRITE_SAFE_ROOT=/opt/data",
"HERMES_DISABLE_LAZY_INSTALLS=1",
"HERMES_LAZY_INSTALL_TARGET=/opt/data/lazy-packages",
"NODE_OPTIONS=--max-old-space-size=4096",
"NODE_ENV=production",
"HOME=/home/agent",
"HERMES_WEB_UI_MANAGED_GATEWAY=1",
"NPM_CONFIG_PREFIX=/home/agent/.hermes-web-ui/coding-agent/npm"
],
"Cmd": null,
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/opt/data": {}
},
"WorkingDir": "/app",
"Entrypoint": [
"/app/bin/start-studio-all.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.revision": "53c57871d67ee7d2202861aacc4ea0ef6ef93112"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 4309862902,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/f03425786ba5e5428b37890c9c1879f9eba17273e2383f67a70c4773aea3da48/diff:/var/lib/docker/overlay2/3c2a93baf9e6508964c0a07aedfca17d833dce7a5d0b46dbc303d5a263f6e7c4/diff:/var/lib/docker/overlay2/1f55ceadc0f1113594dca58fc9c1f54c2ac95c6feea0c4e229ff9b299d3192a9/diff:/var/lib/docker/overlay2/6c80ff2f1abfb9b14aad99f6c0b0ffcb52a4b97b6b892189cd5c7e5033f246b7/diff:/var/lib/docker/overlay2/2445abebb060dc366a01ab64fa4b352cdbcfeec839955b278007137867bb66f4/diff:/var/lib/docker/overlay2/883ba0e3ac60e43678aad440e84a1d7d7f73824b2890acb47f106a356aa024c5/diff:/var/lib/docker/overlay2/7a5529b2300dba951530aef51647116bcaaa007c8cabe194dea5d6cfb7f6d487/diff:/var/lib/docker/overlay2/bcba7b505e3bdc8ccb428d0e21ea5c160c44565db7c07ee08cb7baa8439f85fe/diff:/var/lib/docker/overlay2/d6ca924ee8cb2aaf1fd57807599b953fbca46203fbf4a9daba093f1474fe28dd/diff:/var/lib/docker/overlay2/7b9dbdeda9ac23e725007377c25c75fe68a2810c2b8477e697572e6d9b363407/diff:/var/lib/docker/overlay2/f979e0c56d9f5f3a09853b39815ee360a825376c679e5311d98cd7be4b115564/diff:/var/lib/docker/overlay2/75f77ef0e6efae63d6a7717ee983dad1735132f03ed09aeeba6a98f7cf395589/diff:/var/lib/docker/overlay2/850d195eed4630550ca193fcd998582270db69ab97aec131fb1db32d3bed3eb5/diff:/var/lib/docker/overlay2/53de1ff12905dea9d77c084c635220354b64ef567f6f06ae82104ca2a777a2ff/diff:/var/lib/docker/overlay2/cbd72a5d9332c50c5f3a222d4ae56c76839315f2b8e25dc436a237de2cb44c3f/diff:/var/lib/docker/overlay2/b57d1bb68630728713d3bb8ecda278af1111af7b94083386ab70fedf1b8ef52f/diff:/var/lib/docker/overlay2/c51785ccee445d81d718d9c13aeca14343d227bd42c4bb67aa90723e2eda830f/diff:/var/lib/docker/overlay2/af185edd041fbb4f06702d67ad92df245369598b53e71573b4744284159a2c29/diff:/var/lib/docker/overlay2/1a90a9d947398d4bfeca5347c9c8846f2b4f06cce603d8fb6d678d1503160aa8/diff:/var/lib/docker/overlay2/2a2b0474def3a00dd648e321ddd1f7bbac3934c05ec50014072fe52395057c5e/diff:/var/lib/docker/overlay2/3c1249af91bfff95526f2dab5d48e4986f78647a00a4ca99d643ad5b1e1be853/diff:/var/lib/docker/overlay2/a067b51b1a78756112d8fdae307b687b7e0812ead16f93d6d04fa46f6e4ba849/diff:/var/lib/docker/overlay2/a6e8230b0dea130487bf7d8e1876d04f1aa43f1238990d3e8757705c91598469/diff:/var/lib/docker/overlay2/ccf325488eac3fd08b61aaf40cce158f9549066a218295d9a103c68fd2af8d5f/diff:/var/lib/docker/overlay2/d8157b09f5d84e96f57648d6492c4f361e8b1d474f2f7f553d8be736cc076f9b/diff:/var/lib/docker/overlay2/3861d41cff256f740a9e2c286e7332e8c2498827fecce7d0e38132be4ca44f7b/diff:/var/lib/docker/overlay2/325797c635dee8e7b7829be95fc4ddc1af51e59fff11d522fcd2c81306f720b8/diff:/var/lib/docker/overlay2/94f3b539872e7ad45629c7459a16f5ec08c6e1a47651cb6b73716be123e2de2e/diff:/var/lib/docker/overlay2/6c236dac3bbade02d5091799c0ca37d0b4cb4b170e4b9dce4e32bd0f3377000a/diff:/var/lib/docker/overlay2/faaa6ce827f47b789e09305c330955c11a36dbf24132db58fc4e4e3230a91f30/diff:/var/lib/docker/overlay2/7d1dfeba617cf9df1a06073a80bf6db5fab7e586f8caa353c4685491fb45203f/diff:/var/lib/docker/overlay2/b4b6eff7e7bbb459d5518f9754de11b6672e52a898bf4a1f5fc5f8b0f44fc294/diff:/var/lib/docker/overlay2/1c7c4a4a99bdfe85f1b16d4d88fe3c3442c9a06a7ca3df71d9a4e21665770dd5/diff:/var/lib/docker/overlay2/c692e96f537353effc56dcf9b183d6e7d99171547458fa6c8471927d6a67a1f8/diff:/var/lib/docker/overlay2/acd0bdbf8d1d70cbc9c1c615a87c87c3161e885bd40c50bf1ac8d1391e078d26/diff:/var/lib/docker/overlay2/696f4f77dc19a19db4907a4643474c189ec5cc33f2544bc31353915479db9eef/diff:/var/lib/docker/overlay2/cf9a6859a3b90ca342659f96134d5bbdfe623a0ca108b946062eb46041aeee8a/diff:/var/lib/docker/overlay2/cffbc4617d4fe5d2c1b9a4da3ca91f630b929f31ba7c2203a5a175d157a299b6/diff:/var/lib/docker/overlay2/1cd43b5171a47a7a308de149452da0cf7b56c8ba6dfeba19a19fefd042b86a60/diff:/var/lib/docker/overlay2/1339a69269d752b33268f6f3b20861ca9405ac7b5e99c7c579fb9a53ff452cdc/diff:/var/lib/docker/overlay2/e6a08591c98f54f5b3d89cdf547ccd47ec1c3b4ce3b36acd5c09256c22c709ca/diff:/var/lib/docker/overlay2/18279fced44109b36db15cdf01487187da0a84d5644e29f50e7e56612cd47eb5/diff:/var/lib/docker/overlay2/6a96b619214e3c52ae5ba4d248df6ba58733cf98ef05fd51eb0d527dc4ea776f/diff:/var/lib/docker/overlay2/520201f80950f76f1e39156a091e7ef92646c933c2dda4d5f465f24e3e47a8db/diff:/var/lib/docker/overlay2/13c2cf60b1ca81fde16a4b0757efa3467abbb8c99156cefa2cee1a0cfd5288db/diff",
"MergedDir": "/var/lib/docker/overlay2/889dd455d97987fda03f61afbb114fb9d5419715b17de38df926f7a59f7cd14d/merged",
"UpperDir": "/var/lib/docker/overlay2/889dd455d97987fda03f61afbb114fb9d5419715b17de38df926f7a59f7cd14d/diff",
"WorkDir": "/var/lib/docker/overlay2/889dd455d97987fda03f61afbb114fb9d5419715b17de38df926f7a59f7cd14d/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:5222f025e44ae24949e8880713955891ae0bd339afd3adb699d66e1cd603e2fa",
"sha256:f40c3ba877ca32ed30a1a99f3619a92cc59b128ef42879409c585e4c482a74e9",
"sha256:78a88de02b56c7922f82d553f31329189d7cb777cb9aed397da207289357ac1c",
"sha256:2b29aff22c15ce9332dd2b819b2800f45f336ba1945eebec5de7c4a4d697cb17",
"sha256:b342ea4da0c0432382a9c9b54c3572d4f4c7e1b643abd66ed7545ece941680ef",
"sha256:531e07452c084ba9a016862e3960e503d0b0ebccfd2bde8fd382c97b28743341",
"sha256:73fc700798702f5fffbe1c5d2b0719da8ab08aa512b94f483c29c1691425f009",
"sha256:2f6ea1196f9731491445298c9e11bfdd05950f02c02d90030a22f9bf65748314",
"sha256:c6bd7d9bdcc52dbaa7cb26b52dd64e32bc6b0405c8613a05e4d3d85c6905d11e",
"sha256:d8248af6f9ef53531803eeac28c75e03f1c8296d355ab69f55ae4f3235a88391",
"sha256:c42766287987fc5d38fedabc246fd0cfa2c84b3abd64a12958470a3f6b16aa9b",
"sha256:3bab78b084a0090dd4a762fd665cee48d1ed409b3117c2cc5c3e6f741234bc95",
"sha256:eb89b83d56ebf040bfb219e3aa8c111f925f6807caf6c2dce9e3e5a7fa47907b",
"sha256:0e34fa059ed2f35fd9b07cc2895af876fa2714d21c3b8ec36dc426c75beaa915",
"sha256:045fddf5827876a83c6154d4f85fdf2025173a069ce4435b4f3ff10541e80148",
"sha256:54be817157ee1fbbaacd58ce4368f98bfeebcce0a5d4491566ef82fbdf57ed15",
"sha256:61ba109f702987662490b2c853de6beded5c3869689ebf6f7bed4f01e8dd57c0",
"sha256:96cd168e32ab2c2281a4bc34c5a09e4e0f7afadb0982138cb3ead830b5d6895c",
"sha256:0165ade4c88cf997bbc1996af51bbbca2206b97c03597c1739b9e3348aa023a6",
"sha256:bacde064338d9a30538c77f67a5f730c217a184af9296d8f2ccd74bbd26a9bfd",
"sha256:c3a8d5b5b2d326d62d9b689bb4689803f5210a3117c42d95a1c3e5cf5ebd4dca",
"sha256:a518cba4cc6ba52bc1a9555d7fb2f4f03a73d570d111215cf4b812a97de70353",
"sha256:24fcba67b18f1db341bef3a654bd5632319935260bf3e0e53e328f2f119bdbbe",
"sha256:5daef326320b2e769229f0b40cd7859f2d18610694cb0671303c59e9cfbef3b3",
"sha256:d37f407831aabc784609b718b9a194d57089c192207b903a9d18e3ed5be86488",
"sha256:e1cbc0156cfa704f75e7938f4864d54735ebb6dbfd0764cf8d3820e9b70d7e87",
"sha256:38c8f1228b978123b6707ff9b75dc0ec08da40a06c2ab325d0ba1396e07715bc",
"sha256:4c1ca1d52b9c144bff127c0deadeb82a66ada45e066be83aced65cd20ad8f819",
"sha256:80a79bea3aa3a14d97b5b0cbdf4ee761463a432a6707e13b5121c6f7802bae44",
"sha256:9320d5a99eacd01f1f0f9145255886b43ad48d954c23d13043108454aca7d679",
"sha256:97534f4cb626b45d1ca35a2d36bf3efd3612f67813a41f75a37ac776c023c159",
"sha256:4e00b464c2675cb22994817535cf2bd3f86151d970e699ec1ad384eceb2c61f8",
"sha256:109200dd7f401aec72ba793b7b93a14197c3ef3fd844c3e22c37ee1dae6d997a",
"sha256:b3c5ecc44d1a2a966072e4597fbab2ecf6e8daa03515bc4c30b82bf7a608c38a",
"sha256:252adef87e26d9326a273a6de2ef9415adfe8a78c8c345b94636c8a1c16c8eba",
"sha256:268b36548c00ccd0d2378766db2a3d017439e554c7586408fbc7148026b2c8b5",
"sha256:e765b17c16d28026e280740be4f7fdd518429941f799e1940636ecd2d9299170",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:1831dc8ac58152cb444ba804a26db6556ea8c91d3ec4bae28ec4851ae42a89ce",
"sha256:6fc5252f0e1bbbe9593b16811002d86b7030f9db735f9d0bd8a80b0bc7cd59f1",
"sha256:96036b874872dbc83bdaafddc07fcdb489ef99d5d0611a1922e185b12db2b782",
"sha256:0bceb1cb0bc5a030f5e463d6f37a20927a8c4cc29a146dd1ddbda7258ad4f890",
"sha256:22e493523763190b8d558d5f9c8624b3777986011c168e2568c6231be3084ec5",
"sha256:0ae48e9b954ed8feae03651830c1b7115cedafced1907d1273d8dc2e3a7ad581",
"sha256:06036117b684484f6e66cfaf0a6fce58ee2ac3a10f10a085feaa358844d90668",
"sha256:eb5d2c0ff16dda9b0a79f77d5a81d00c45df65129e5fcb15f90cfa5ab4dfb603"
]
},
"Metadata": {
"LastTagTime": "2026-09-13T19:01:13.922603821+08:00"
}
}