2026-10-20 09:56:44 UTC
1.76 GB
gcc
CXXg++
HERMES_HOME/home/agent/.hermes
HERMES_PYTHON/opt/hermes/.venv/bin/python
HERMES_RUNTIME_DIR/opt/hermes/tools
HERMES_TUI_DIR/opt/hermes/ui-tui
HERMES_WEB_DIST/opt/hermes/hermes_cli/web_dist
HERMES_WEB_UI_MANAGED_GATEWAY1
HERMES_WRITE_SAFE_ROOT/opt/data
HOME/home/agent
NODE_ENVproduction
NODE_OPTIONS--max-old-space-size=4096
NPM_CONFIG_PREFIX/home/agent/.hermes-web-ui/coding-agent/npm
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
PLAYWRIGHT_BROWSERS_PATH/opt/hermes/tools
PYTHONDONTWRITEBYTECODE1
PYTHONUNBUFFERED1
STUDIO_P2P_UDP_PORT_RANGE50000-50127
XDG_RUNTIME_DIR/tmp/hermes-runtime
[#000] sha256:cea8c35034753d2244505a016ab05244f27f01f55cc6f44bd53a37ca2600d7af - 2.67% (48.2 MB)
[#001] sha256:c45c85e2ed86eb6a97c1401ba31e8e8bbcb70356f8fc1b63af68048d9e1599a9 - 16.57% (299 MB)
[#002] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#003] sha256:175d282e8abcf110c0d509ed25fda32c84be2eb8e3a6f5bff0648fc05d2e3d86 - 0.05% (883 KB)
[#004] sha256:7e858dd9ee9547454c0374873bf462054b9a36650fc44d4ece1b23d69a1176aa - 0.0% (6.03 KB)
[#005] sha256:9fc23699ab19652129c8aaadf777106532041f6125a5ae460712a5402b36c874 - 0.15% (2.68 MB)
[#006] sha256:159e2590141d5f0cac0b90bdbcbc68519732461d640d069a57170237b56c72d4 - 0.0% (1.43 KB)
[#007] sha256:ff4cda743678405d3e9c64069e96e6552af6ca7b38543599ed5409f52284ec76 - 0.0% (3.24 KB)
[#008] sha256:c4e1c007676250b3534ce9ab7a266d67d0f638a14c0ac3d83a3ac48fe8036abf - 0.0% (115 Bytes)
[#009] sha256:42f947c81a517e4e76f9d976c08fcfddef0704bc12db01ac55fd6595ac20216a - 0.01% (197 KB)
[#010] sha256:10c68c9b55838ad40663e329d80546fd8ad4cb7b01123369a59a277c00057215 - 0.0% (21.2 KB)
[#011] sha256:2583ed10119037b268c7f01747d6162e1fe52eb8f63220f80bcc30513308f74a - 0.0% (5.27 KB)
[#012] sha256:07619ded6606801e58d2ac68584d9acb413262968d40b69bef9507d262760f0d - 0.0% (3.08 KB)
[#013] sha256:abfa994b2daa16834b9dd948b3530952dce26ff8e70762ef9b865e7486d49a94 - 29.81% (537 MB)
[#014] sha256:df786353655766ddfeeec6879adc1a0fef8b083347ef6b413d0301649e9b3697 - 0.03% (597 KB)
[#015] sha256:cf6169f7b8762e3b5931fc19114c5b9903a16d6d4377843496e3235ff66ccd46 - 0.02% (347 KB)
[#016] sha256:160d08bb3e01865850e953ae2f47d82b13db5c6488e34536600c536c2298169e - 0.0% (159 Bytes)
[#017] sha256:f5651c7e877eab7257f358609263b7c718d2dba45cc04fe2be8ad5d428c907be - 7.43% (134 MB)
[#018] sha256:3f78f47dc4d00a04951e188cb0c7dcfc33f5997f3df9e75e0c1004aa89c46203 - 0.24% (4.34 MB)
[#019] sha256:c749acd6ab558b4af3f391bdc757a12407bd5beca94de261ddfd0396b8a9266b - 0.0% (202 Bytes)
[#020] sha256:184b466528ef6d12555c6e0d0241e406980076ce4704e2ead4809526000658c6 - 0.0% (15.6 KB)
[#021] sha256:7ba017c4c3644040d0e1bf92f61da79e6c3c597499cf086c57e4e3529d223933 - 0.87% (15.7 MB)
[#022] sha256:6080809fad820cd3b908f551b340520e42b4630d4b4eeac29e6bf566060c6a25 - 0.04% (784 KB)
[#023] sha256:3273229aa8e1dc798071d8cbb36e2b813f3bbcbe1052e757c12f19624e6cb977 - 0.08% (1.47 MB)
[#024] sha256:ae05615787dfd121185dbd929a385bfe00223ec216d83054352c38a59a91ddc0 - 0.0% (116 Bytes)
[#025] sha256:197b0a8579d1416ba57976bbe5abe87d1142ded572742286d5032f700e7276db - 0.0% (128 Bytes)
[#026] sha256:3392a6119793ec151e71accd594d698ed639ef9b2774ebc361615cf3560118fa - 1.32% (23.9 MB)
[#027] sha256:b049a3fdc6f6e6e66358a3afc5ff83f453104ba8ced5e3ee392c449a43c471b1 - 0.04% (789 KB)
[#028] sha256:6eaef9a2fd8f829e6aacb80cf894de339201dd51ff72bf4378592c62973472bf - 0.0% (1.93 KB)
[#029] sha256:2d6cb62230a6ba1788e66198eea39a4cf130e4caeee71d7f52faad1e66169e9d - 0.0% (548 Bytes)
[#030] sha256:e8088a28c4c07a5d1262651e9c2dbbbc77742f5adcaaa29e4c6d75d39ddca3e9 - 0.0% (2.65 KB)
[#031] sha256:3b4d0da0e8cbfffd60d94766a27e781bfbb3b51e642bb8968ca135097aaf944c - 0.0% (209 Bytes)
[#032] sha256:86522d6e7dfd046858dbbd2493909f6c8c266182e093eaadbf1c73e1a45c47e4 - 0.0% (1.9 KB)
[#033] sha256:91ac81de749d76133ccc376ed92d720275246dca226a551512f084b37444017f - 0.0% (1.18 KB)
[#034] sha256:a54c69bffa8971ad0c55176a682af0b9f38913a72ad1c8c986f79f03dc0e7639 - 0.0% (1.89 KB)
[#035] sha256:4437165ba1c4b88a7c8fd31eb60cf0b14cb38b40511fe829f955852860ee6733 - 0.0% (812 Bytes)
[#036] sha256:faa5e448e41e049295aaf8067f27641d5517a09aaba3b1339601a945ce72c9de - 0.0% (1.29 KB)
[#037] sha256:0cc2a8f401d9be9549c16fed7c3c2c7c4c23bd04c98e05a049b878da9a337721 - 5.08% (91.5 MB)
[#038] sha256:02e4764880ff6e495868a4c5167e0662b3c5fba62920ba02decde07d8471ad7a - 3.09% (55.7 MB)
[#039] sha256:d86625b309fe9f2d78aa22cf8520b5521f85721e399815da1f5a23b9d2b12fd8 - 0.0% (93 Bytes)
[#040] sha256:9a4354d21bacd651b405ea2d90009313918a46fc3bb73ea97343b4e245afb6c8 - 0.01% (115 KB)
[#041] sha256:54e73652726294a04dafd56752acedbbd45b4ea573c413ed72e3796f115c63ff - 28.79% (519 MB)
[#042] sha256:facb772d31b49dcb02c222e75620aae99e5c357140b6deed07aff2acbdcc9851 - 1.6% (28.9 MB)
[#043] sha256:e61a673cac87212d1d2de9649cf72701c26e23335c1282edf64f745611a6728d - 2.09% (37.7 MB)
[#044] sha256:fd8a5db86aa95482eea121617af965d82b1c3667ad26890c8d2e96ca4befe82b - 0.0% (489 Bytes)
# debian.sh --arch 'amd64' out/ 'trixie' '@1777939200'
2026-10-14 04:25:54 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1
2026-10-14 04:25:54 UTC (buildkit.dockerfile.v0)ENV PYTHONDONTWRITEBYTECODE=1
2026-10-14 04:25:54 UTC (buildkit.dockerfile.v0)ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/tools
2026-10-14 04:25:54 UTC (buildkit.dockerfile.v0)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 gcc g++ make cmake python3-dev python3-venv libffi-dev libolm-dev libatomic1 procps git openssh-client docker-cli xz-utils libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libcairo2 libcups2t64 libdbus-1-3 libgbm1 libglib2.0-0t64 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 && rm -rf /var/lib/apt/lists/* # buildkit
2026-10-14 04:25:54 UTC (buildkit.dockerfile.v0)ARG HERMES_BOT_DESKTOP=0
2026-10-14 04:25:54 UTC (buildkit.dockerfile.v0)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-10-14 04:26:18 UTC (buildkit.dockerfile.v0)COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
2026-10-14 04:26:18 UTC (buildkit.dockerfile.v0)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-10-14 04:26:18 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-10-14 04:26:18 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_VERSION=3.2.3.0
2026-10-14 04:26:18 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
2026-10-14 04:26:18 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
2026-10-14 04:26:18 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
2026-10-14 04:26:18 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
2026-10-14 04:26:19 UTC (buildkit.dockerfile.v0)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-10-14 04:26:19 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
2026-10-14 04:26:19 UTC (buildkit.dockerfile.v0)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-10-14 04:26:19 UTC (buildkit.dockerfile.v0)WORKDIR /opt/hermes
2026-10-14 04:26:19 UTC (buildkit.dockerfile.v0)ENV HERMES_RUNTIME_DIR=/opt/hermes/tools
2026-10-15 06:19:04 UTC (buildkit.dockerfile.v0)COPY pm/ pm/ # buildkit
2026-10-15 06:19:04 UTC (buildkit.dockerfile.v0)COPY hermes_constants.py hermes_constants.py # buildkit
2026-10-15 06:19:04 UTC (buildkit.dockerfile.v0)COPY hermes_cli/__init__.py hermes_cli/runtime_state.py hermes_cli/ # buildkit
2026-10-15 06:19:04 UTC (buildkit.dockerfile.v0)COPY scripts/bundles/payload.py scripts/bundles/payload.py # buildkit
2026-10-15 06:19:27 UTC (buildkit.dockerfile.v0)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; python3 -c 'from pm import ensure; [ensure(name, explicit=True) for name in ("uv", "chromium", "npm", "ffmpeg", "ripgrep")]'; python3 -c 'from pathlib import Path; from pm import installed_package; [Path("/usr/local/bin", command).symlink_to(installed_package(package).binary) for command, package in (("python3", "python"), ("node", "node"), ("npm", "npm"), ("ffmpeg", "ffmpeg"), ("rg", "ripgrep"))]; Path("/usr/local/bin/ffprobe").symlink_to(installed_package("ffmpeg").binary.with_name("ffprobe"))'; ffmpeg -version >/dev/null; ffprobe -version >/dev/null; rg --version >/dev/null; python3 -c 'import shutil; from pathlib import Path; from pm import env_for; Path("/usr/local/bin/npx").symlink_to(shutil.which("npx", path=env_for("npm", base_env={})["PATH"]))'; node --version; npm --version; browser_bin="$(python3 -c 'from pm import installed_package; print(installed_package("chromium").binary)')"; test -n "$browser_bin"; "$browser_bin" --version; mkdir -p /etc/hermes; printf '%s' "$browser_bin" > /etc/hermes/agent-browser-executable-path # buildkit
2026-10-15 06:19:28 UTC (buildkit.dockerfile.v0)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 python3 -c 'from pathlib import Path; from pm import stage_manager_runtime; from scripts.bundles.payload import seal_pm_runtime; root = Path("/opt/hermes"); python = Path("/usr/local/bin/python3").resolve(); stage_manager_runtime(python=python, destination=root / "pm-runtime", project=root / "pm"); seal_pm_runtime(root, python)' # buildkit
2026-10-15 06:19:28 UTC (buildkit.dockerfile.v0)ENV HERMES_PYTHON=/usr/local/bin/python3
2026-10-15 06:19:28 UTC (buildkit.dockerfile.v0)ENV CC=gcc CXX=g++
2026-10-15 06:19:28 UTC (buildkit.dockerfile.v0)COPY pyproject.toml uv.lock ./ # buildkit
2026-10-15 06:19:28 UTC (buildkit.dockerfile.v0)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-10-15 06:20:24 UTC (buildkit.dockerfile.v0)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 python3 -m pm.build_env --source /opt/hermes --python /usr/local/bin/python3 --cache /opt/hermes/uv-cache --out /opt/hermes/.venv --no-install-project --sealed --record-selection --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra matrix --extra google-chat # buildkit
2026-10-15 06:20:42 UTC (buildkit.dockerfile.v0)COPY /opt/hermes/node_modules/typescript /opt/hermes/node_modules/typescript # buildkit
2026-10-15 06:20:42 UTC (buildkit.dockerfile.v0)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/node_modules/.bin && ln -s ../typescript/bin/tsc /opt/hermes/node_modules/.bin/tsc # buildkit
2026-10-15 06:20:42 UTC (buildkit.dockerfile.v0)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-10-15 06:20:44 UTC (buildkit.dockerfile.v0)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-10-15 06:20:45 UTC (buildkit.dockerfile.v0)COPY /opt/products/tui /opt/hermes/ui-tui # buildkit
2026-10-15 06:20:45 UTC (buildkit.dockerfile.v0)COPY /opt/products/web /opt/hermes/hermes_cli/web_dist # buildkit
2026-10-15 06:20:45 UTC (buildkit.dockerfile.v0)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-10-15 06:20:45 UTC (buildkit.dockerfile.v0)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-10-15 06:20:45 UTC (buildkit.dockerfile.v0)COPY --chmod=a+rX,go-w . . # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)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 /opt/hermes/.venv/bin/python -m docker.build_agent # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)USER root
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)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-10-15 06:20:46 UTC (buildkit.dockerfile.v0)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; if [ ! -f /opt/hermes/install-stamp.json ]; then printf '{"schemaVersion":2,"commit":"0000000000000000000000000000000000000000","distribution":"docker","source":"fallback","updateMechanism":"external"}\n' > /opt/hermes/install-stamp.json; fi; python3 -c 'import json; from pathlib import Path; path = Path("/opt/hermes/install-stamp.json"); stamp = json.loads(path.read_text()); stamp["pmRuntime"] = "/opt/hermes/pm-runtime"; path.write_text(json.dumps(stamp) + "\n")'; mkdir -p /etc/hermes; python3 -c 'import json, pathlib, tomllib; project = tomllib.loads(pathlib.Path("/opt/hermes/pyproject.toml").read_text(encoding="utf-8"))["project"]; stamp = json.loads(pathlib.Path("/opt/hermes/install-stamp.json").read_text(encoding="utf-8")); commit = stamp.get("commit"); revision = commit if commit and set(commit) != {"0"} else None; 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": revision}, sort_keys=True, separators=(",", ":")) + "\n", encoding="utf-8"); marker.chmod(0o444)' # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)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 /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-10-15 06:20:46 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)ENV HERMES_HOME=/opt/data
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)ENV HERMES_WRITE_SAFE_ROOT=/opt/data
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)ENV XDG_RUNTIME_DIR=/tmp/hermes-runtime
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)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-10-15 06:20:46 UTC (buildkit.dockerfile.v0)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/data && chmod 0644 /opt/hermes/tools/facts.json && rm -f /opt/hermes/.venv/.lock /opt/hermes/pm-runtime/.lock # buildkit
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)ENV HERMES_PYTHON=/opt/hermes/.venv/bin/python
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)VOLUME [/opt/data]
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
2026-10-15 06:20:46 UTC (buildkit.dockerfile.v0)CMD []
2026-10-20 09:55:11 UTC (buildkit.dockerfile.v0)ARG NODE_VERSION=24.15.0
2026-10-20 09:55:11 UTC (buildkit.dockerfile.v0)USER root
2026-10-20 09:55:11 UTC (buildkit.dockerfile.v0)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-10-20 09:55:13 UTC (buildkit.dockerfile.v0)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-10-20 09:55:13 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-10-20 09:55:13 UTC (buildkit.dockerfile.v0)COPY package*.json ./ # buildkit
2026-10-20 09:55:13 UTC (buildkit.dockerfile.v0)ENV NODE_OPTIONS=--max-old-space-size=4096
2026-10-20 09:55:34 UTC (buildkit.dockerfile.v0)RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm ci --ignore-scripts && npm rebuild node-pty # buildkit
2026-10-20 09:55:35 UTC (buildkit.dockerfile.v0)COPY . . # buildkit
2026-10-20 09:56:43 UTC (buildkit.dockerfile.v0)RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm run build && npm prune --omit=dev # buildkit
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm run verify:sharp-runtime # buildkit
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)ENV NODE_ENV=production
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)ENV HOME=/home/agent
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)ENV HERMES_HOME=/home/agent/.hermes
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)ENV HERMES_WEB_UI_MANAGED_GATEWAY=1
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)ENV STUDIO_P2P_UDP_PORT_RANGE=50000-50127
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)ENV NPM_CONFIG_PREFIX=/home/agent/.hermes-web-ui/coding-agent/npm
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)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-10-20 09:56:44 UTC (buildkit.dockerfile.v0)EXPOSE [6060/tcp]
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)EXPOSE [50000/udp 50001/udp 50002/udp 50003/udp 50004/udp 50005/udp 50006/udp 50007/udp 50008/udp 50009/udp 50010/udp 50011/udp 50012/udp 50013/udp 50014/udp 50015/udp 50016/udp 50017/udp 50018/udp 50019/udp 50020/udp 50021/udp 50022/udp 50023/udp 50024/udp 50025/udp 50026/udp 50027/udp 50028/udp 50029/udp 50030/udp 50031/udp 50032/udp 50033/udp 50034/udp 50035/udp 50036/udp 50037/udp 50038/udp 50039/udp 50040/udp 50041/udp 50042/udp 50043/udp 50044/udp 50045/udp 50046/udp 50047/udp 50048/udp 50049/udp 50050/udp 50051/udp 50052/udp 50053/udp 50054/udp 50055/udp 50056/udp 50057/udp 50058/udp 50059/udp 50060/udp 50061/udp 50062/udp 50063/udp 50064/udp 50065/udp 50066/udp 50067/udp 50068/udp 50069/udp 50070/udp 50071/udp 50072/udp 50073/udp 50074/udp 50075/udp 50076/udp 50077/udp 50078/udp 50079/udp 50080/udp 50081/udp 50082/udp 50083/udp 50084/udp 50085/udp 50086/udp 50087/udp 50088/udp 50089/udp 50090/udp 50091/udp 50092/udp 50093/udp 50094/udp 50095/udp 50096/udp 50097/udp 50098/udp 50099/udp 50100/udp 50101/udp 50102/udp 50103/udp 50104/udp 50105/udp 50106/udp 50107/udp 50108/udp 50109/udp 50110/udp 50111/udp 50112/udp 50113/udp 50114/udp 50115/udp 50116/udp 50117/udp 50118/udp 50119/udp 50120/udp 50121/udp 50122/udp 50123/udp 50124/udp 50125/udp 50126/udp 50127/udp]
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/app/bin/start-studio-all.sh"]
2026-10-20 09:56:44 UTC (buildkit.dockerfile.v0)CMD []
2026-10-20 10:07:19 UTC
1.74 GB
gcc
CXXg++
HERMES_HOME/home/agent/.hermes
HERMES_PYTHON/opt/hermes/.venv/bin/python
HERMES_RUNTIME_DIR/opt/hermes/tools
HERMES_TUI_DIR/opt/hermes/ui-tui
HERMES_WEB_DIST/opt/hermes/hermes_cli/web_dist
HERMES_WEB_UI_MANAGED_GATEWAY1
HERMES_WRITE_SAFE_ROOT/opt/data
HOME/home/agent
NODE_ENVproduction
NODE_OPTIONS--max-old-space-size=4096
NPM_CONFIG_PREFIX/home/agent/.hermes-web-ui/coding-agent/npm
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
PLAYWRIGHT_BROWSERS_PATH/opt/hermes/tools
PYTHONDONTWRITEBYTECODE1
PYTHONUNBUFFERED1
STUDIO_P2P_UDP_PORT_RANGE50000-50127
XDG_RUNTIME_DIR/tmp/hermes-runtime
[#000] sha256:b8bf1c9072bf3dc4efc3d1f5e8b06bba70f1c2a2d8e1f1d6db08b74442147491 - 2.74% (48.7 MB)
[#001] sha256:526dd4f7dd87096de69ce8c65f56b89121391b2a178afac01ccca8ae28298ca5 - 16.11% (286 MB)
[#002] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#003] sha256:25de2b7b1d0df4c6b9a11d5fd4c480c5cedcf5ca004e093e6e773df421b30d5f - 0.05% (871 KB)
[#004] sha256:1977a0b45667f0ba4519b4ee553e576d286cfb31a8c3cd6fe6e2b0b51e79dfcb - 0.0% (6.29 KB)
[#005] sha256:c580994f5f7f2bca589793756f83c6079b9dcb3a9b7e5d42a8d9c35a2b7cb7e6 - 0.18% (3.12 MB)
[#006] sha256:2caa5ec8af8cb63fa2200f4cc6b3250d98684bdc26428312eb8dfd189eb978da - 0.0% (1.42 KB)
[#007] sha256:25063c5b6ad613efbc4940ada3c4632bc5f5a04fec07b3e7cc740e738a7fce1f - 0.0% (3.24 KB)
[#008] sha256:2ac575627f8ce3af5b8f285ddcf29195dde9da0cc94172d4c265f1bc14bd9ef7 - 0.0% (115 Bytes)
[#009] sha256:6b7af6fd2506e0d4fad047b93b08a98d5652462f0badc94bbee3d03b561679be - 0.01% (197 KB)
[#010] sha256:1b60528cbb234c1a948e701f23983cacc0bab0ebf1d3856620372a05ff814a71 - 0.0% (21.2 KB)
[#011] sha256:c2cbdcad90a8024e1d35d4c3ee1fc4500bc1e505309914212565e07092d719a5 - 0.0% (5.27 KB)
[#012] sha256:5cbe5318d7bef35499847902552116c0a96df53c005b26aa491c2f84a486db17 - 0.0% (3.08 KB)
[#013] sha256:d430761d6aea9b1248fabcc4d1cc7eff093114467105c4a0c97282ff46a87097 - 29.59% (526 MB)
[#014] sha256:59a110405d8d3c02000186a5de203217c86e53d86a01249f9649e16ea1b7a864 - 0.03% (597 KB)
[#015] sha256:9a5d4f925da38bbba6b309bc1cba587635151495dcf75f4df675311a10eb195d - 0.02% (347 KB)
[#016] sha256:aa28a06761f8059a4c3cc483997ca0113cbfb7e90ad049003d97a0f2690c77dc - 0.0% (158 Bytes)
[#017] sha256:c839ed78a86e7dbdf7a00cf0dd30320ed3d884cae6eaae114ba30c901397acab - 7.45% (132 MB)
[#018] sha256:74e68fe64e26a2e4d15d3a454437ef75d165368df6ba44e5b11de4bd686babb5 - 0.24% (4.34 MB)
[#019] sha256:6bb72a44ef47893a3ab0a1619dc365d6cf796ca9784ae6c7ea27338349939b12 - 0.0% (199 Bytes)
[#020] sha256:743e3c27e01ca85f8b7da6b6fd348b6c1dfc74c6eea93149df894edc8a5d8a4d - 0.0% (15.6 KB)
[#021] sha256:434380b1a784d4e89a1b76c18a427d25fa1606099eeff6bc447bf6d5a2bb3b8a - 0.88% (15.7 MB)
[#022] sha256:3eb9cc94c36371ee22536eab9df768c428c74584a9b6dd338c0595a55ae17b36 - 0.04% (784 KB)
[#023] sha256:a935428f99b7a97573d46d4fb96918c5880486ca42c9737573dd19b225ce940b - 0.08% (1.47 MB)
[#024] sha256:908d1cc0de25c14a61d10fa94de1e7bd871f97f88f7c8475256a0fdb9cc40b9c - 0.0% (116 Bytes)
[#025] sha256:c0164fd4086cb50b4bd6bee4712a9baaa104639247cd7cec95b0a7403cc5386e - 0.0% (128 Bytes)
[#026] sha256:303676bef72dd7959eeeaf19deb2b60de893623edb42a2d164a88511c59f2029 - 1.34% (23.9 MB)
[#027] sha256:3c5466d62a321a78eac7f510dc8a7ee4973a5312424f781f7166d5d1ea78d061 - 0.04% (789 KB)
[#028] sha256:e1c9b947c79a95242dda8acfbd439a89e7ce7fd5f6d2849117f6bb15ecd85efd - 0.0% (1.93 KB)
[#029] sha256:8a66e46ce9ee602858d549fa60805520980ea6fe3bed0c3162c379e19b3e12b5 - 0.0% (547 Bytes)
[#030] sha256:3800ef70af188cb24226cdb98505f677fd8d53299485b71f706a723d1f00f4eb - 0.0% (2.65 KB)
[#031] sha256:36f0fe61cb0d0ae26d07175c1f3451c04ddc64306b9a905de1f6ccb72d55901d - 0.0% (209 Bytes)
[#032] sha256:292e34c21d9248923b231bd6fcd7b172ce8be0ea32711b058044e6e10a3cfa91 - 0.0% (1.9 KB)
[#033] sha256:2794dee82e9c17570845990fde449ed6ffcfe4a9078de45e3a10c3896c80cf94 - 0.0% (1.19 KB)
[#034] sha256:438f45a688fc0b4605500a41e2d1be0ab10cc541c489a96b696253c818123813 - 0.0% (1.9 KB)
[#035] sha256:660c1c7ba23e4c23d675d00a88ba9ac90f1b3344efa1b3ead8462adc79ac5ea0 - 0.0% (814 Bytes)
[#036] sha256:3596302174642032cb6c714865be3caa389a1a0767f06bbb0e3d4b8c894f19d9 - 0.0% (1.29 KB)
[#037] sha256:ad775d42e05b040b2cf555b1c4c75a4cfbbc7e3c8558105c922a9a43f7213692 - 5.02% (89.1 MB)
[#038] sha256:156d914e350e8d368be078d46516cf1409726099dfd951570579dbaa0763a78e - 3.13% (55.7 MB)
[#039] sha256:7164c617191fe06d09a2131383a859344d140d05241eaa8f57d22c2b6f7bd1ba - 0.0% (93 Bytes)
[#040] sha256:5febf728a198376716886bead7517c0cf1ecc0ba3426d55dd53eed100f788eae - 0.01% (115 KB)
[#041] sha256:8d2ea0c4f8a00d7b7bd56299d0b1bbd2ebd9394922b5c7d468b947f2d6da75ab - 29.28% (520 MB)
[#042] sha256:facb772d31b49dcb02c222e75620aae99e5c357140b6deed07aff2acbdcc9851 - 1.62% (28.9 MB)
[#043] sha256:f46d9514e268aa0a72fa4c1c13b31cc91a9f7be93765f5594f68ff7c5fa74c2a - 2.12% (37.7 MB)
[#044] sha256:a7321a9f19352020eecdbf1f046f9da0c14cefa39f997273501c829dd1c022bb - 0.0% (493 Bytes)
# debian.sh --arch 'arm64' out/ 'trixie' '@1777939200'
2026-10-14 04:25:27 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1
2026-10-14 04:25:27 UTC (buildkit.dockerfile.v0)ENV PYTHONDONTWRITEBYTECODE=1
2026-10-14 04:25:27 UTC (buildkit.dockerfile.v0)ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/tools
2026-10-14 04:25:27 UTC (buildkit.dockerfile.v0)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 gcc g++ make cmake python3-dev python3-venv libffi-dev libolm-dev libatomic1 procps git openssh-client docker-cli xz-utils libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libcairo2 libcups2t64 libdbus-1-3 libgbm1 libglib2.0-0t64 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 && rm -rf /var/lib/apt/lists/* # buildkit
2026-10-14 04:25:27 UTC (buildkit.dockerfile.v0)ARG HERMES_BOT_DESKTOP=0
2026-10-14 04:25:27 UTC (buildkit.dockerfile.v0)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-10-14 04:26:01 UTC (buildkit.dockerfile.v0)COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
2026-10-14 04:26:01 UTC (buildkit.dockerfile.v0)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-10-14 04:26:01 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=arm64
2026-10-14 04:26:01 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_VERSION=3.2.3.0
2026-10-14 04:26:01 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
2026-10-14 04:26:01 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
2026-10-14 04:26:01 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
2026-10-14 04:26:01 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
2026-10-14 04:26:02 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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-10-14 04:26:02 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
2026-10-14 04:26:02 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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-10-14 04:26:02 UTC (buildkit.dockerfile.v0)WORKDIR /opt/hermes
2026-10-14 04:26:02 UTC (buildkit.dockerfile.v0)ENV HERMES_RUNTIME_DIR=/opt/hermes/tools
2026-10-15 06:18:35 UTC (buildkit.dockerfile.v0)COPY pm/ pm/ # buildkit
2026-10-15 06:18:35 UTC (buildkit.dockerfile.v0)COPY hermes_constants.py hermes_constants.py # buildkit
2026-10-15 06:18:35 UTC (buildkit.dockerfile.v0)COPY hermes_cli/__init__.py hermes_cli/runtime_state.py hermes_cli/ # buildkit
2026-10-15 06:18:35 UTC (buildkit.dockerfile.v0)COPY scripts/bundles/payload.py scripts/bundles/payload.py # buildkit
2026-10-15 06:18:59 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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; python3 -c 'from pm import ensure; [ensure(name, explicit=True) for name in ("uv", "chromium", "npm", "ffmpeg", "ripgrep")]'; python3 -c 'from pathlib import Path; from pm import installed_package; [Path("/usr/local/bin", command).symlink_to(installed_package(package).binary) for command, package in (("python3", "python"), ("node", "node"), ("npm", "npm"), ("ffmpeg", "ffmpeg"), ("rg", "ripgrep"))]; Path("/usr/local/bin/ffprobe").symlink_to(installed_package("ffmpeg").binary.with_name("ffprobe"))'; ffmpeg -version >/dev/null; ffprobe -version >/dev/null; rg --version >/dev/null; python3 -c 'import shutil; from pathlib import Path; from pm import env_for; Path("/usr/local/bin/npx").symlink_to(shutil.which("npx", path=env_for("npm", base_env={})["PATH"]))'; node --version; npm --version; browser_bin="$(python3 -c 'from pm import installed_package; print(installed_package("chromium").binary)')"; test -n "$browser_bin"; "$browser_bin" --version; mkdir -p /etc/hermes; printf '%s' "$browser_bin" > /etc/hermes/agent-browser-executable-path # buildkit
2026-10-15 06:19:00 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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 python3 -c 'from pathlib import Path; from pm import stage_manager_runtime; from scripts.bundles.payload import seal_pm_runtime; root = Path("/opt/hermes"); python = Path("/usr/local/bin/python3").resolve(); stage_manager_runtime(python=python, destination=root / "pm-runtime", project=root / "pm"); seal_pm_runtime(root, python)' # buildkit
2026-10-15 06:19:00 UTC (buildkit.dockerfile.v0)ENV HERMES_PYTHON=/usr/local/bin/python3
2026-10-15 06:19:00 UTC (buildkit.dockerfile.v0)ENV CC=gcc CXX=g++
2026-10-15 06:19:00 UTC (buildkit.dockerfile.v0)COPY pyproject.toml uv.lock ./ # buildkit
2026-10-15 06:19:00 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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-10-15 06:20:13 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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 python3 -m pm.build_env --source /opt/hermes --python /usr/local/bin/python3 --cache /opt/hermes/uv-cache --out /opt/hermes/.venv --no-install-project --sealed --record-selection --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra matrix --extra google-chat # buildkit
2026-10-15 06:20:34 UTC (buildkit.dockerfile.v0)COPY /opt/hermes/node_modules/typescript /opt/hermes/node_modules/typescript # buildkit
2026-10-15 06:20:34 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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/node_modules/.bin && ln -s ../typescript/bin/tsc /opt/hermes/node_modules/.bin/tsc # buildkit
2026-10-15 06:20:34 UTC (buildkit.dockerfile.v0)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-10-15 06:20:38 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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-10-15 06:20:38 UTC (buildkit.dockerfile.v0)COPY /opt/products/tui /opt/hermes/ui-tui # buildkit
2026-10-15 06:20:38 UTC (buildkit.dockerfile.v0)COPY /opt/products/web /opt/hermes/hermes_cli/web_dist # buildkit
2026-10-15 06:20:38 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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-10-15 06:20:38 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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-10-15 06:20:39 UTC (buildkit.dockerfile.v0)COPY --chmod=a+rX,go-w . . # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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 /opt/hermes/.venv/bin/python -m docker.build_agent # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)USER root
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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-10-15 06:20:39 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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; if [ ! -f /opt/hermes/install-stamp.json ]; then printf '{"schemaVersion":2,"commit":"0000000000000000000000000000000000000000","distribution":"docker","source":"fallback","updateMechanism":"external"}\n' > /opt/hermes/install-stamp.json; fi; python3 -c 'import json; from pathlib import Path; path = Path("/opt/hermes/install-stamp.json"); stamp = json.loads(path.read_text()); stamp["pmRuntime"] = "/opt/hermes/pm-runtime"; path.write_text(json.dumps(stamp) + "\n")'; mkdir -p /etc/hermes; python3 -c 'import json, pathlib, tomllib; project = tomllib.loads(pathlib.Path("/opt/hermes/pyproject.toml").read_text(encoding="utf-8"))["project"]; stamp = json.loads(pathlib.Path("/opt/hermes/install-stamp.json").read_text(encoding="utf-8")); commit = stamp.get("commit"); revision = commit if commit and set(commit) != {"0"} else None; 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": revision}, sort_keys=True, separators=(",", ":")) + "\n", encoding="utf-8"); marker.chmod(0o444)' # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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 /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-10-15 06:20:39 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)ENV HERMES_HOME=/opt/data
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)ENV HERMES_WRITE_SAFE_ROOT=/opt/data
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)ENV XDG_RUNTIME_DIR=/tmp/hermes-runtime
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)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-10-15 06:20:39 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=arm64 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/data && chmod 0644 /opt/hermes/tools/facts.json && rm -f /opt/hermes/.venv/.lock /opt/hermes/pm-runtime/.lock # buildkit
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)ENV HERMES_PYTHON=/opt/hermes/.venv/bin/python
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)VOLUME [/opt/data]
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
2026-10-15 06:20:39 UTC (buildkit.dockerfile.v0)CMD []
2026-10-20 09:56:28 UTC (buildkit.dockerfile.v0)ARG NODE_VERSION=24.15.0
2026-10-20 09:56:28 UTC (buildkit.dockerfile.v0)USER root
2026-10-20 09:56:28 UTC (buildkit.dockerfile.v0)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-10-20 09:56:36 UTC (buildkit.dockerfile.v0)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-10-20 09:56:36 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-10-20 09:56:36 UTC (buildkit.dockerfile.v0)COPY package*.json ./ # buildkit
2026-10-20 09:56:36 UTC (buildkit.dockerfile.v0)ENV NODE_OPTIONS=--max-old-space-size=4096
2026-10-20 09:58:37 UTC (buildkit.dockerfile.v0)RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm ci --ignore-scripts && npm rebuild node-pty # buildkit
2026-10-20 09:58:38 UTC (buildkit.dockerfile.v0)COPY . . # buildkit
2026-10-20 10:07:16 UTC (buildkit.dockerfile.v0)RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm run build && npm prune --omit=dev # buildkit
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)RUN |1 NODE_VERSION=24.15.0 /bin/sh -c npm run verify:sharp-runtime # buildkit
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)ENV NODE_ENV=production
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)ENV HOME=/home/agent
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)ENV HERMES_HOME=/home/agent/.hermes
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)ENV HERMES_WEB_UI_MANAGED_GATEWAY=1
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)ENV STUDIO_P2P_UDP_PORT_RANGE=50000-50127
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)ENV NPM_CONFIG_PREFIX=/home/agent/.hermes-web-ui/coding-agent/npm
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)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-10-20 10:07:19 UTC (buildkit.dockerfile.v0)EXPOSE [6060/tcp]
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)EXPOSE [50000/udp 50001/udp 50002/udp 50003/udp 50004/udp 50005/udp 50006/udp 50007/udp 50008/udp 50009/udp 50010/udp 50011/udp 50012/udp 50013/udp 50014/udp 50015/udp 50016/udp 50017/udp 50018/udp 50019/udp 50020/udp 50021/udp 50022/udp 50023/udp 50024/udp 50025/udp 50026/udp 50027/udp 50028/udp 50029/udp 50030/udp 50031/udp 50032/udp 50033/udp 50034/udp 50035/udp 50036/udp 50037/udp 50038/udp 50039/udp 50040/udp 50041/udp 50042/udp 50043/udp 50044/udp 50045/udp 50046/udp 50047/udp 50048/udp 50049/udp 50050/udp 50051/udp 50052/udp 50053/udp 50054/udp 50055/udp 50056/udp 50057/udp 50058/udp 50059/udp 50060/udp 50061/udp 50062/udp 50063/udp 50064/udp 50065/udp 50066/udp 50067/udp 50068/udp 50069/udp 50070/udp 50071/udp 50072/udp 50073/udp 50074/udp 50075/udp 50076/udp 50077/udp 50078/udp 50079/udp 50080/udp 50081/udp 50082/udp 50083/udp 50084/udp 50085/udp 50086/udp 50087/udp 50088/udp 50089/udp 50090/udp 50091/udp 50092/udp 50093/udp 50094/udp 50095/udp 50096/udp 50097/udp 50098/udp 50099/udp 50100/udp 50101/udp 50102/udp 50103/udp 50104/udp 50105/udp 50106/udp 50107/udp 50108/udp 50109/udp 50110/udp 50111/udp 50112/udp 50113/udp 50114/udp 50115/udp 50116/udp 50117/udp 50118/udp 50119/udp 50120/udp 50121/udp 50122/udp 50123/udp 50124/udp 50125/udp 50126/udp 50127/udp]
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/app/bin/start-studio-all.sh"]
2026-10-20 10:07:19 UTC (buildkit.dockerfile.v0)CMD []
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.