2026-09-27 15:40:45 UTC
1.29 GB
gcc
CXXg++
HERMES_HOME/opt/data
HERMES_PYTHON/usr/local/bin/python3
HERMES_RUNTIME_DIR/opt/hermes/tools
HERMES_TUI_DIR/opt/hermes/ui-tui
HERMES_WEB_DIST/opt/hermes/hermes_cli/web_dist
HERMES_WRITE_SAFE_ROOT/opt/data
PATH/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
XDG_RUNTIME_DIR/tmp/hermes-runtime
[#000] sha256:307f8152a55ef1e9eeb1acbbee7bc81232615329eaeb00d8dd93b46be297f34c - 3.57% (47 MB)
[#001] sha256:6a1fe50aeb29353e7195228d057968c99b0daf55d0b8669b92109eae9b507cf2 - 22.68% (299 MB)
[#002] sha256:a5ab9eef8297574ccfaf89aece1a83f1e2724f2eed13fd0dd925f80ef46c94c1 - 16.81% (221 MB)
[#003] sha256:845998581afccd9bf8bc28bf0de10d4763eaaa35580ec639879b0b50ab377f10 - 0.07% (883 KB)
[#004] sha256:ab335c55d963a2d4d202191b4f14fa383c26d56dba6cde4b36c50aff5b53e4ad - 0.0% (8.82 KB)
[#005] sha256:9fc23699ab19652129c8aaadf777106532041f6125a5ae460712a5402b36c874 - 0.2% (2.68 MB)
[#006] sha256:be6fb744156edfa48d20da6e30868e1636f0d8d9fe1c23622f56c6c519cb512c - 0.0% (1.43 KB)
[#007] sha256:cd114fe98d950feee09f2e4c73202f3fb803fff45b2f87a27a529ee823458513 - 0.0% (3.25 KB)
[#008] sha256:caf4bed47f0e3eb4ed2bba94447c649d4e12f176c14306c22f34741db784c93c - 0.0% (116 Bytes)
[#009] sha256:537c77595bcbbbd561f9e1f56bb70f08a8fcc76d902ab46ab35edbcfd45f061b - 0.01% (166 KB)
[#010] sha256:6e5c7fdab39a1593a3e4b24864c34809be791108aee51fd70a1779501113c576 - 0.0% (20.9 KB)
[#011] sha256:c76d8661191b0fa7ee2288c91a80b309d056310ce756fbe553eeec2067165661 - 0.0% (4.7 KB)
[#012] sha256:e8493f0d2c7833a146f1d95bec2b225f41f9c3445be77a4321921606c4db843e - 0.0% (3.06 KB)
[#013] sha256:b69e74af69c9ab6ff568d9a0034897b039bee4e3996a72a2fbcf0f5a2d0a3d2b - 43.26% (570 MB)
[#014] sha256:055488d9c99eba5ac3b3b1b4c9b5d265f139b569fea4b9ed8cf6da2f80839dfe - 0.04% (597 KB)
[#015] sha256:60fa719b489b3196c1cefa07a8b88cdd913df298daf87a2d2f599ad698ec11f0 - 0.03% (353 KB)
[#016] sha256:3010354c45f0019e09630d03288d36319992b5651be0aefecbfebc8c3ee1e637 - 0.0% (155 Bytes)
[#017] sha256:cac465c2928e600fe82dfe3d1eaa5c773bfdefefcce6de281876a757452b2f57 - 10.03% (132 MB)
[#018] sha256:cfa4f99975f54169136b2cb028293a0f2017da61f7bec269905a9b6180e3e045 - 0.33% (4.34 MB)
[#019] sha256:1459f55334a20fd12a9e32191fc284957e3c0c8ba24f8e68c48805c0ebde55f4 - 0.0% (198 Bytes)
[#020] sha256:f581243909cc848ce487c7e462f13c70247cb88fd080e0fb67b616c9789fb122 - 0.0% (15.6 KB)
[#021] sha256:547e0666a547ce6afc9ca211cb40445ad73665f252cd3babdfd6b5089b609f5b - 1.19% (15.7 MB)
[#022] sha256:2187a06ec62b2f65ba109f810b04f5c7fcddbc8fc8651f128bf357fc99f27ffd - 0.06% (754 KB)
[#023] sha256:a9a94039f0a381d33e68049a00d5d3273d75733322e5e87bebeff2fc0df9365f - 0.11% (1.47 MB)
[#024] sha256:3771ea97caef896dde0d20b277c4301a7d09d61218f56940100d3a9dbac3e7a7 - 0.0% (116 Bytes)
[#025] sha256:e40887905f0cd14239166d0fc832069f4a1d5a3ae2da046a6105ee6df85aaff0 - 0.0% (128 Bytes)
[#026] sha256:300943de4a4929f9bc76413af43f86b3084f88dfb5115878be9ff510ae92700b - 1.55% (20.4 MB)
[#027] sha256:349853d121c7d08584ac0180fa1f3743779c5ffc87394f7e4768fa9e8bede410 - 0.06% (759 KB)
[#028] sha256:1a5837a531f9ca76e95f281d5ead9c2c9569c56a77a5a291f77bd15d1d606b54 - 0.0% (1.93 KB)
[#029] sha256:f0c738f78269b6aec03ea85d48ab78d09dadd498c9c4718741701545a959015a - 0.0% (542 Bytes)
[#030] sha256:45becf24178e42de2ef0bc7049de95b0ff44a6c7aa70be48165804ef501d6240 - 0.0% (2.65 KB)
[#031] sha256:c053d6fe02cbf502b845bf854f6feb526fdabe99db378389914271cc7d9a9b96 - 0.0% (208 Bytes)
[#032] sha256:a399a8993920c29c273cc30e07bbc90c581213fcaba3b5a49df3eb8bd0660d9c - 0.0% (1.9 KB)
[#033] sha256:1519c2fde3913441d91d59f0b9feadd51f2dafc0696c076bd30547ee3ee16538 - 0.0% (1.19 KB)
[#034] sha256:eec0d7a5de661badb72ce0977cd57987243e8386983508ad3769fda2f294925c - 0.0% (1.89 KB)
[#035] sha256:369fd21a8f01a0a6110d7896565635ef7ba79ba21857dad1adc673a06f04bd91 - 0.0% (812 Bytes)
[#036] sha256:3140a8302c2886829df65b036c6d95efe603ef8a822cd5e4931e36480ab19d32 - 0.0% (1.17 KB)
# debian.sh --arch 'amd64' out/ 'trixie' '@1777939200'
2026-09-27 11:19:04 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1
2026-09-27 11:19:04 UTC (buildkit.dockerfile.v0)ENV PYTHONDONTWRITEBYTECODE=1
2026-09-27 11:19:04 UTC (buildkit.dockerfile.v0)ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/tools
2026-09-27 11:19:04 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-09-27 11:19:04 UTC (buildkit.dockerfile.v0)ARG HERMES_BOT_DESKTOP=1
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)RUN |1 HERMES_BOT_DESKTOP=1 /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-09-27 15:39:23 UTC (buildkit.dockerfile.v0)COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)RUN |1 HERMES_BOT_DESKTOP=1 /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-27 15:39:23 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_VERSION=3.2.3.0
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
2026-09-27 15:39:23 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-27 15:39:23 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
2026-09-27 15:39:24 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-27 15:39:24 UTC (buildkit.dockerfile.v0)WORKDIR /opt/hermes
2026-09-27 15:39:24 UTC (buildkit.dockerfile.v0)ENV HERMES_RUNTIME_DIR=/opt/hermes/tools
2026-09-27 15:39:24 UTC (buildkit.dockerfile.v0)COPY pm/ pm/ # buildkit
2026-09-27 15:39:24 UTC (buildkit.dockerfile.v0)COPY hermes_constants.py hermes_constants.py # buildkit
2026-09-27 15:39:24 UTC (buildkit.dockerfile.v0)COPY hermes_cli/__init__.py hermes_cli/runtime_state.py hermes_cli/ # buildkit
2026-09-27 15:39:24 UTC (buildkit.dockerfile.v0)COPY scripts/bundles/payload.py scripts/bundles/payload.py # buildkit
2026-09-27 15:39:47 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:39:48 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:39:48 UTC (buildkit.dockerfile.v0)ENV HERMES_PYTHON=/usr/local/bin/python3
2026-09-27 15:39:48 UTC (buildkit.dockerfile.v0)ENV CC=gcc CXX=g++
2026-09-27 15:39:48 UTC (buildkit.dockerfile.v0)COPY pyproject.toml uv.lock ./ # buildkit
2026-09-27 15:39:48 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-27 15:40:31 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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 --out /opt/hermes/.venv --no-install-project --sealed --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra matrix --extra google-chat # buildkit
2026-09-27 15:40:42 UTC (buildkit.dockerfile.v0)COPY /opt/hermes/node_modules/typescript /opt/hermes/node_modules/typescript # buildkit
2026-09-27 15:40:42 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:40: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-09-27 15:40:44 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-27 15:40:44 UTC (buildkit.dockerfile.v0)COPY /opt/products/tui /opt/hermes/ui-tui # buildkit
2026-09-27 15:40:44 UTC (buildkit.dockerfile.v0)COPY /opt/products/web /opt/hermes/hermes_cli/web_dist # buildkit
2026-09-27 15:40:44 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-27 15:40:44 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-27 15:40:45 UTC (buildkit.dockerfile.v0)COPY --chmod=a+rX,go-w . . # buildkit
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:40:45 UTC (buildkit.dockerfile.v0)USER root
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-27 15:40:45 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:40:45 UTC (buildkit.dockerfile.v0)COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:40:45 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)ENV HERMES_HOME=/opt/data
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)ENV HERMES_WRITE_SAFE_ROOT=/opt/data
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)ENV XDG_RUNTIME_DIR=/tmp/hermes-runtime
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
2026-09-27 15:40:45 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-09-27 15:40:45 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:40:45 UTC (buildkit.dockerfile.v0)VOLUME [/opt/data]
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
2026-09-27 15:40:45 UTC (buildkit.dockerfile.v0)CMD []
2026-09-27 15:41:48 UTC
1.26 GB
gcc
CXXg++
HERMES_HOME/opt/data
HERMES_PYTHON/usr/local/bin/python3
HERMES_RUNTIME_DIR/opt/hermes/tools
HERMES_TUI_DIR/opt/hermes/ui-tui
HERMES_WEB_DIST/opt/hermes/hermes_cli/web_dist
HERMES_WRITE_SAFE_ROOT/opt/data
PATH/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
XDG_RUNTIME_DIR/tmp/hermes-runtime
[#000] sha256:b5d74b688654dda99557234223479d1600781c2797759908abb12a2e782ab1ad - 3.67% (47.4 MB)
[#001] sha256:44dad65e084e6a2c097f7397b89c66c01610028dcecc8fcd06574e4b5f5213f1 - 22.18% (286 MB)
[#002] sha256:d6e5641246de77ccb312864b18d7fb750a84aed5265fb3781341b1dd797ec360 - 17.44% (225 MB)
[#003] sha256:62a73671ed346e9a1c61209114a009f07dbd080a76ef60938fb7f11c775b69bd - 0.07% (871 KB)
[#004] sha256:cd11b3e98eb214cf44273ca08e8567e210ff6585c004f8292d26a4a193367431 - 0.0% (8.52 KB)
[#005] sha256:c580994f5f7f2bca589793756f83c6079b9dcb3a9b7e5d42a8d9c35a2b7cb7e6 - 0.24% (3.12 MB)
[#006] sha256:57e22de375fcb7548f9aeada259b10c7cc47ba5b1853c54f9d269878a32215f2 - 0.0% (1.43 KB)
[#007] sha256:8442174df9c5c9ce450a28f11a4ade9f0e2de4c600a20e81e570b813142ec3ea - 0.0% (3.24 KB)
[#008] sha256:556be4aab66117d14444547a78ce57d317dea6e3f50e1053e694695060513476 - 0.0% (115 Bytes)
[#009] sha256:d4a5701032ce461f5ad329cfdc160b532e9d391c3aff22ce2f3a8058d6df5da3 - 0.01% (163 KB)
[#010] sha256:784de1f744c296b1b7f109be9662ca460d01b8e3015299d212173f48fc91e806 - 0.0% (20.9 KB)
[#011] sha256:b65776cf72abbe1e7fe484fe3aec63dd23cbcfc80f7a2d21409e4d908711e1a0 - 0.0% (4.71 KB)
[#012] sha256:120cad1c53e2ea127ee31c35df04439b09a98bf7e988a42adc28603c9e20b573 - 0.0% (3.07 KB)
[#013] sha256:67e15e9088aafce14eb61c70fcffeaad60e28585e0f29421491a3bc9bf95214d - 42.82% (553 MB)
[#014] sha256:99ee7df832dde9e4da6be9ff5f9d1b0c5c899cafa78dd48dca9e257a3c420705 - 0.05% (597 KB)
[#015] sha256:e4c0609db391f54a89f4dded16f8847db01b1a2dc03c1cdca7d3024d26e8284b - 0.03% (353 KB)
[#016] sha256:002401bbbb1733365aa4d6acee37c13302e9f3a81dc23d1df1a44503c3b3f214 - 0.0% (154 Bytes)
[#017] sha256:517a16ef47baf70f27ea98c3cac82abd066bc99957485395c7c8cbb2252f9353 - 10.13% (131 MB)
[#018] sha256:fbdb45ff6ab9d35ba0eefb5f1e66330487363e532ecf73d7532465e0c57d9496 - 0.34% (4.34 MB)
[#019] sha256:fac5d2624dad788e12cde0fa4b5bcb2a3ea8c722535958894340f2278858f2f1 - 0.0% (201 Bytes)
[#020] sha256:6cbb5335e07b8943eca32a6e837fb5cd17ed71d7a06fc24d1f4a2e2e618df71f - 0.0% (15.6 KB)
[#021] sha256:45113d91e1bdc39782edcaa516ef76fbf24a7a2c7d62776a4f7d973446348ef2 - 1.22% (15.7 MB)
[#022] sha256:541a20ef50549ab0daf972069ed71834815f7fde5f718e751bf2f6c81c9adfb2 - 0.06% (754 KB)
[#023] sha256:68b725a21d95a1412eec0e8818fb3aa954926b48fad5cce13ac3c69c73dae24a - 0.11% (1.47 MB)
[#024] sha256:620af9f0f374162c5237b0a5f5a0533a10a04cf5b56969a5555f55e3c11b1703 - 0.0% (116 Bytes)
[#025] sha256:42674783f3fddf52a59b3ea0018c37303e1dae72554c1d1c5aaa05c0fdee06f8 - 0.0% (128 Bytes)
[#026] sha256:eefbaad6f4f610e0a5d41a3df2d1527b20685f02c34e1a856eceb93ed9e4d3a8 - 1.58% (20.3 MB)
[#027] sha256:ed7cdfb2a1fc30dc506cb02eaf70be96c12ad20665140d26721f5640d667d76a - 0.06% (759 KB)
[#028] sha256:e78547167470394d5661d32201012cd3899c8f9b58e82214c8a9df2c1b37861e - 0.0% (1.93 KB)
[#029] sha256:8825321dc17cece1f032b3e1f201f7d10e6f8fe0ac3425eeb0d5845b9fbc0fde - 0.0% (544 Bytes)
[#030] sha256:9e45c351df40bcd22f21a210ac7ec5b0c2d13e30f907ffd290746f796ef89402 - 0.0% (2.65 KB)
[#031] sha256:ce42695890249fd6ab191dee6f3336f84e0fdf72cd6ad78f45d2a6c5bde083cc - 0.0% (209 Bytes)
[#032] sha256:b723591621e04e599db4b9021a744005cd039e6256b61376b769b5ba7b4095ad - 0.0% (1.9 KB)
[#033] sha256:43bbeb880266f3e0cb28328c0901db5c16b416d2024dc71994d21dc91937b970 - 0.0% (1.18 KB)
[#034] sha256:5c8e7f1a0bf670b5129c1a46cc79ac0634fb13f1baf641fbc9ec2ecd3fad6184 - 0.0% (1.89 KB)
[#035] sha256:e9c1d32e92435d39f3a8d6595c20320f34d5168092910118291bcccf2766bcea - 0.0% (810 Bytes)
[#036] sha256:90041ea079a7ffe38d7c19066cd58e65e7f89c9c794183ca11e40b214f8b7165 - 0.0% (1.17 KB)
# debian.sh --arch 'arm64' out/ 'trixie' '@1777939200'
2026-09-27 08:50:34 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1
2026-09-27 08:50:34 UTC (buildkit.dockerfile.v0)ENV PYTHONDONTWRITEBYTECODE=1
2026-09-27 08:50:34 UTC (buildkit.dockerfile.v0)ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/tools
2026-09-27 08:50:34 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-09-27 08:50:34 UTC (buildkit.dockerfile.v0)ARG HERMES_BOT_DESKTOP=1
2026-09-27 15:39:06 UTC (buildkit.dockerfile.v0)RUN |1 HERMES_BOT_DESKTOP=1 /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-09-27 15:39:06 UTC (buildkit.dockerfile.v0)COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
2026-09-27 15:39:06 UTC (buildkit.dockerfile.v0)RUN |1 HERMES_BOT_DESKTOP=1 /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-27 15:39:06 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=arm64
2026-09-27 15:39:06 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_VERSION=3.2.3.0
2026-09-27 15:39:06 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
2026-09-27 15:39:06 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
2026-09-27 15:39:06 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
2026-09-27 15:39:06 UTC (buildkit.dockerfile.v0)ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
2026-09-27 15:39:07 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:39:07 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
2026-09-27 15:39:07 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:39:07 UTC (buildkit.dockerfile.v0)WORKDIR /opt/hermes
2026-09-27 15:39:07 UTC (buildkit.dockerfile.v0)ENV HERMES_RUNTIME_DIR=/opt/hermes/tools
2026-09-27 15:39:07 UTC (buildkit.dockerfile.v0)COPY pm/ pm/ # buildkit
2026-09-27 15:39:07 UTC (buildkit.dockerfile.v0)COPY hermes_constants.py hermes_constants.py # buildkit
2026-09-27 15:39:07 UTC (buildkit.dockerfile.v0)COPY hermes_cli/__init__.py hermes_cli/runtime_state.py hermes_cli/ # buildkit
2026-09-27 15:39:07 UTC (buildkit.dockerfile.v0)COPY scripts/bundles/payload.py scripts/bundles/payload.py # buildkit
2026-09-27 15:39:39 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:39:40 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:39:40 UTC (buildkit.dockerfile.v0)ENV HERMES_PYTHON=/usr/local/bin/python3
2026-09-27 15:39:40 UTC (buildkit.dockerfile.v0)ENV CC=gcc CXX=g++
2026-09-27 15:39:40 UTC (buildkit.dockerfile.v0)COPY pyproject.toml uv.lock ./ # buildkit
2026-09-27 15:39:40 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:16 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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 --out /opt/hermes/.venv --no-install-project --sealed --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra matrix --extra google-chat # buildkit
2026-09-27 15:41:42 UTC (buildkit.dockerfile.v0)COPY /opt/hermes/node_modules/typescript /opt/hermes/node_modules/typescript # buildkit
2026-09-27 15:41:42 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41: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-09-27 15:41:47 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:47 UTC (buildkit.dockerfile.v0)COPY /opt/products/tui /opt/hermes/ui-tui # buildkit
2026-09-27 15:41:47 UTC (buildkit.dockerfile.v0)COPY /opt/products/web /opt/hermes/hermes_cli/web_dist # buildkit
2026-09-27 15:41:47 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:47 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:47 UTC (buildkit.dockerfile.v0)COPY --chmod=a+rX,go-w . . # buildkit
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:48 UTC (buildkit.dockerfile.v0)USER root
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:48 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:48 UTC (buildkit.dockerfile.v0)COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:48 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)ENV HERMES_HOME=/opt/data
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)ENV HERMES_WRITE_SAFE_ROOT=/opt/data
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)ENV XDG_RUNTIME_DIR=/tmp/hermes-runtime
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
2026-09-27 15:41:48 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-09-27 15:41:48 UTC (buildkit.dockerfile.v0)RUN |7 HERMES_BOT_DESKTOP=1 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-09-27 15:41:48 UTC (buildkit.dockerfile.v0)VOLUME [/opt/data]
2026-09-27 15:41:48 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
2026-09-27 15:41:48 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.