Namespace
nousresearch
Image / Tag
hermes-agent:v2026.8.13
Content Digest
sha256:68e15ae2a6d894d0ccbd9f8aacbbe13d4d28fa5dc9b6a303970b67bb2499b1a6
Details
Created

2026-08-13 20:39:16 UTC

Size

905 MB

Content Digest
Labels
  • org.opencontainers.image.revision
    f80f453ae0679347e38abc917c7f94f717bf96c5

Environment
HERMES_DISABLE_LAZY_INSTALLS

1

HERMES_HOME

/opt/data

HERMES_LAZY_INSTALL_TARGET

/opt/data/lazy-packages

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/.playwright

PYTHONDONTWRITEBYTECODE

1

PYTHONUNBUFFERED

1

npm_config_install_links

false


Layers

[#000] sha256:307f8152a55ef1e9eeb1acbbee7bc81232615329eaeb00d8dd93b46be297f34c - 5.2% (47 MB)

[#001] sha256:63b7d05a3b635553cfc839b6f99ab207077dcca244929138454e0aef00537a69 - 42.59% (385 MB)

[#002] sha256:c501074bc21a20d68e222e3c4c7197f3c54ade0fb12d50edba9ddebde1bcec92 - 0.1% (883 KB)

[#003] sha256:622d74641eb1481a6c75ca4ccd4bb40376c02a0ec617bee88c1124543d69666e - 0.0% (10.9 KB)

[#004] sha256:9fc23699ab19652129c8aaadf777106532041f6125a5ae460712a5402b36c874 - 0.3% (2.68 MB)

[#005] sha256:94fabdc182187ac1b7edbede73b060efe5ed50aa7ae81872456739d0f01513b6 - 0.0% (1.43 KB)

[#006] sha256:c8afaf588c94c8c7b2945ababbbabffb9a51ccdd55cf634c17e175d87af790d5 - 0.0% (3.24 KB)

[#007] sha256:bb4c2ee239cf6c93f0799b1f884e5624fda26703fa5301b456b5216e3a3530ef - 2.58% (23.3 MB)

[#008] sha256:ecf6f869e94fcb9f748cb08c3c60af5a4df905965a7004d8164fc6434b781fc3 - 5.28% (47.8 MB)

[#009] sha256:3d285c9720ac9c3324a0e74c6b9e16489861f23607030a07687251d5936990e1 - 0.32% (2.91 MB)

[#010] sha256:d9d1af1d44d2f8e1f2c07b63e6b37b04b59466d69b0e9fd54f3ab96fe8a54569 - 0.0% (210 Bytes)

[#011] sha256:ebf3364bb291b96ecc0a9e478548ff6f7e328815492ddbe0a0f60a5feff5e0dd - 0.0% (116 Bytes)

[#012] sha256:1f8c205e26b138edf5bf050fcaf4d06bac9475716f1890691a1aff3beaddc87c - 0.02% (153 KB)

[#013] sha256:b0bd3353b6e6d66c4c14629260a0408c895af6cce11c51102a11c5c079192cdb - 0.0% (760 Bytes)

[#014] sha256:e2f627de33a14e1bae6ff5301ad9c11928a34b8384ede7e4c03391d558f9e27c - 0.0% (710 Bytes)

[#015] sha256:50df9f07665d1129805d5d44a268430dd8d7d7f636c6e4795f5e5c6fe78dd95d - 0.04% (392 KB)

[#016] sha256:75e5ccf20007834375f1838abdd4e773f8f933f5a0e04a8d9d69c377b048ec80 - 0.0% (14.1 KB)

[#017] sha256:03c3116910b9ad2219affc6241b32666a621d646ef1ac3f1e12ff577d30f2227 - 28.89% (261 MB)

[#018] sha256:577f0e70eb2c62bae6d1dffc7f68fe121394ead644d2b9422be58e899da7538b - 0.0% (18.4 KB)

[#019] sha256:95ccae2ad596ae5a00da5e4bd6b17526a7fe3f6e9dc594c45f7a66cb69295c07 - 2.09% (18.9 MB)

[#020] sha256:f06e5c644adffc30be7eb243e6975d62d3bdc92e4e332ddb9551afebb54743f4 - 0.02% (208 KB)

[#021] sha256:edfcbc84b36fac76e4e3897843cc8968a35098c46f2d4550fc4a88d9ada8fa99 - 0.0% (158 Bytes)

[#022] sha256:ca6306a8de3364b9e5c1729f467f11c7adef06b6024f6afd6840be984cdd175f - 9.99% (90.4 MB)

[#023] sha256:88745400f417e6a668429948859befa13d2a15eed457a315f9be6bbe696eb3a6 - 0.11% (1.03 MB)

[#024] sha256:2da2f84f5aadc42ad43c6b870308b1170a90b19046dd10c8ae2111aa0f6f401d - 0.1% (958 KB)

[#025] sha256:e8f7a11f34a57cb1692e417f1c3291f3e80519e5a5b246787eba10da9e808612 - 0.0% (14.1 KB)

[#026] sha256:6073f316817a5a67946df4e568a43fb0764fba4261389b954982aa4da9aaf357 - 0.36% (3.22 MB)

[#027] sha256:380b04d6cb0aabc6884bea093cd9b6f598cd38747f58da385bed97d3865e7e70 - 2.0% (18.1 MB)

[#028] sha256:7e89129c806209b721351155ee1461a5bdce644364fc13504bc9b154e9655140 - 0.0% (24.9 KB)

[#029] sha256:d270633f9500bb5506fe983c3f6c3cbb875e4b35976ebbae8447d356810d582f - 0.0% (1.93 KB)

[#030] sha256:900cdfec28d68436dada41a9320ada06450040f0a207edd81b210b6402d3c10d - 0.0% (197 Bytes)

[#031] sha256:6658b64a25c72bb78480a8c5e97a023fcc6371e897235ad7d4872879392d686e - 0.0% (2.68 KB)

[#032] sha256:39c8561fb86db8ff6903758e94a7ced098e715fc06188601266c008b58e6d18a - 0.0% (209 Bytes)

[#033] sha256:5b71b524ba20cde2411b8c9fc7c17e9048f920818f928944a778e46d2a17f0fb - 0.0% (1.9 KB)

[#034] sha256:92eec28f08ef924e771697d32f4bea20801cb4086f78bc357a248eb9dc508327 - 0.0% (1.18 KB)

[#035] sha256:52ac627eb4005aa992c3fe076766a6be418f0fade6dcca83cc6f56f27aa612f5 - 0.0% (1.89 KB)

[#036] sha256:0204909f6c3fc9c9662e583513e0433d03e760e68099935a36c0b129c1e0fcd4 - 0.0% (813 Bytes)

[#037] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-05-05 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'trixie' '@1777939200'

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/.playwright

2026-08-02 03:11:08 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 ripgrep ffmpeg gcc g++ make cmake python3-dev python3-venv libffi-dev libolm-dev libatomic1 procps git openssh-client docker-cli xz-utils && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so.0 && ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so && printf '/usr/local/lib\n' > /etc/ld.so.conf.d/000-sqlite-fixed.conf && ldconfig && python3 -c "import sqlite3, sys; v = sqlite3.sqlite_version_info; sys.exit(f'linked SQLite {sqlite3.sqlite_version} still has the WAL-reset bug') if v < (3, 51, 3) else None; db = sqlite3.connect(':memory:'); db.execute(\"CREATE VIRTUAL TABLE docs USING fts5(content, tokenize='trigram')\"); db.execute(\"INSERT INTO docs VALUES ('hermes')\"); sys.exit('SQLite FTS5 trigram self-test failed') if db.execute(\"SELECT count(*) FROM docs WHERE docs MATCH 'erm'\").fetchone()[0] != 1 else None; db.close()" # buildkit

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.3.0

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581

2026-08-02 03:11:08 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e

2026-08-02 03:11:09 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c set -eu; case "${TARGETARCH:-amd64}" in amd64) s6_arch="x86_64"; s6_arch_sha="${S6_OVERLAY_X86_64_SHA256}" ;; arm64) s6_arch="aarch64"; s6_arch_sha="${S6_OVERLAY_AARCH64_SHA256}" ;; *) echo "Unsupported TARGETARCH=${TARGETARCH} for s6-overlay" >&2; exit 1 ;; esac; base="https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}"; curl -fsSL --retry 3 -o /tmp/s6-overlay-noarch.tar.xz "${base}/s6-overlay-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-symlinks-noarch.tar.xz "${base}/s6-overlay-symlinks-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-arch.tar.xz "${base}/s6-overlay-${s6_arch}.tar.xz"; { printf '%s %s\n' "${S6_OVERLAY_NOARCH_SHA256}" /tmp/s6-overlay-noarch.tar.xz; printf '%s %s\n' "${s6_arch_sha}" /tmp/s6-overlay-arch.tar.xz; printf '%s %s\n' "${S6_OVERLAY_SYMLINKS_SHA256}" /tmp/s6-overlay-symlinks-noarch.tar.xz; } > /tmp/s6-overlay.sha256; sha256sum -c /tmp/s6-overlay.sha256; tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-arch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz; rm /tmp/s6-overlay-*.tar.xz /tmp/s6-overlay.sha256 # buildkit

2026-08-02 03:11:09 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit

2026-08-02 03:11:09 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c useradd -u 10000 -m -d /opt/data hermes # buildkit

2026-08-02 03:11:09 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/ # buildkit

2026-08-02 03:11:09 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 /usr/local/bin/node /usr/local/bin/ # buildkit

2026-08-02 03:11:10 UTC (buildkit.dockerfile.v0)

COPY /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/npm # buildkit

2026-08-02 03:11:10 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c ln -sf /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && ln -sf /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx # buildkit

2026-08-02 03:11:10 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/hermes

2026-08-13 09:42:54 UTC (buildkit.dockerfile.v0)

COPY package.json package-lock.json ./ # buildkit

2026-08-13 09:42:54 UTC (buildkit.dockerfile.v0)

COPY web/package.json web/ # buildkit

2026-08-13 09:42:54 UTC (buildkit.dockerfile.v0)

COPY ui-tui/package.json ui-tui/ # buildkit

2026-08-13 09:42:54 UTC (buildkit.dockerfile.v0)

COPY ui-tui/packages/hermes-ink/ ui-tui/packages/hermes-ink/ # buildkit

2026-08-13 09:42:54 UTC (buildkit.dockerfile.v0)

COPY apps/shared/ apps/shared/ # buildkit

2026-08-13 09:42:54 UTC (buildkit.dockerfile.v0)

ENV npm_config_install_links=false

2026-08-13 09:43:20 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c npm install --prefer-offline --no-audit --fetch-retries=5 && for i in 1 2 3; do npx playwright install --with-deps chromium --only-shell && break || { [ "$i" = 3 ] && exit 1; echo "playwright install failed (attempt $i); retrying in 10s"; sleep 10; }; done && npm cache clean --force # buildkit

2026-08-13 09:43:20 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-08-13 09:43:25 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c cd plugins/platforms/photon/sidecar && npm ci --no-audit --fetch-retries=5 && npm cache clean --force # buildkit

2026-08-13 18:58:02 UTC (buildkit.dockerfile.v0)

COPY pyproject.toml uv.lock ./ # buildkit

2026-08-13 18:58:02 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c touch ./README.md # buildkit

2026-08-13 18:58:59 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c uv sync --frozen --no-install-project --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra hindsight --extra matrix # buildkit

2026-08-13 18:58:59 UTC (buildkit.dockerfile.v0)

COPY web/ web/ # buildkit

2026-08-13 18:58:59 UTC (buildkit.dockerfile.v0)

COPY ui-tui/ ui-tui/ # buildkit

2026-08-13 18:58:59 UTC (buildkit.dockerfile.v0)

COPY apps/shared/ apps/shared/ # buildkit

2026-08-13 18:59:07 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c cd web && npm run build && cd ../ui-tui && npm run build # buildkit

2026-08-13 20:39:12 UTC (buildkit.dockerfile.v0)

COPY --chmod=a+rX,go-w . . # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c uv pip install --no-cache-dir --no-deps -e "." # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

USER root

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

RUN |6 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /opt/hermes/bin && cp /opt/hermes/docker/hermes-exec-shim.sh /opt/hermes/bin/hermes && chmod 0755 /opt/hermes/bin/hermes && printf 'docker\n' > /opt/hermes/.install_method # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ARG HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

RUN |7 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5 /bin/sh -c if [ -n "${HERMES_GIT_SHA}" ]; then printf '%s\n' "${HERMES_GIT_SHA}" > /opt/hermes/.hermes_build_sha; fi # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

RUN |7 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5 /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-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ENV HERMES_TUI_DIR=/opt/hermes/ui-tui

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ENV HERMES_HOME=/opt/data

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ENV HERMES_WRITE_SAFE_ROOT=/opt/data

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ENV HERMES_DISABLE_LAZY_INSTALLS=1

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ENV HERMES_LAZY_INSTALL_TARGET=/opt/data/lazy-packages

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit

2026-08-13 20:39:16 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-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

RUN |7 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5 /bin/sh -c mkdir -p /opt/data # buildkit

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

VOLUME [/opt/data]

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]

2026-08-13 20:39:16 UTC (buildkit.dockerfile.v0)

CMD []

Details
Created

2026-08-13 20:38:24 UTC

Size

893 MB

Content Digest
Labels
  • org.opencontainers.image.revision
    f80f453ae0679347e38abc917c7f94f717bf96c5

Environment
HERMES_DISABLE_LAZY_INSTALLS

1

HERMES_HOME

/opt/data

HERMES_LAZY_INSTALL_TARGET

/opt/data/lazy-packages

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/.playwright

PYTHONDONTWRITEBYTECODE

1

PYTHONUNBUFFERED

1

npm_config_install_links

false


Layers

[#000] sha256:b5d74b688654dda99557234223479d1600781c2797759908abb12a2e782ab1ad - 5.3% (47.4 MB)

[#001] sha256:1ea2de9e8b4d4515aeb33a7044bf891a0a668c6a7f93d0f3fddf4a56673bd2e7 - 41.47% (370 MB)

[#002] sha256:818e51bf9ef57c95dfe2e3721eae900df4db831a1312e178dabb60f9b379b2d9 - 0.1% (871 KB)

[#003] sha256:cc4a401548e1b5517f0a31f712b2b7c886934b81558d473f5d1c4a40f6fdae5c - 0.0% (10.7 KB)

[#004] sha256:c580994f5f7f2bca589793756f83c6079b9dcb3a9b7e5d42a8d9c35a2b7cb7e6 - 0.35% (3.12 MB)

[#005] sha256:b2b20c8d0c23dc740ecd4578df3dc945cd0c5f150d56120eda902cb1e28a0eea - 0.0% (1.42 KB)

[#006] sha256:acacf2d4e2541025c374b4aebd73a5b6f7525f77557e4371ade5cdd954ac0218 - 0.0% (3.24 KB)

[#007] sha256:a66a96dc27e627aead2366203ea48ed87c476f020ef051031dd3d31ddea0df41 - 2.5% (22.3 MB)

[#008] sha256:51865194ccdd220fc1734ec7a4822d4cfdc6fa95574343cef6d5092c8131cd7b - 5.37% (48 MB)

[#009] sha256:262ae8828465228f7bea4ee8335ded340235aef9ad2e5fbfa0a711d11a750404 - 0.33% (2.91 MB)

[#010] sha256:eac13e347cc2f54761a547eae92c2eeb6454d7b885ae6512b63d3741440efb2b - 0.0% (209 Bytes)

[#011] sha256:3680fed4ab858d9b8aeaf9faeeaf1b3dbca054892408104d40a15366f9c7163d - 0.0% (114 Bytes)

[#012] sha256:d44bcaa9a87b8ec9dbc3635d9573c87bd9dfb2c7158a96b673193dd95ab9ef79 - 0.02% (153 KB)

[#013] sha256:09d57cb9979a0483014dd98aec810c6ccfde7bda4b6a16e25767be86eb5d75b2 - 0.0% (759 Bytes)

[#014] sha256:0cbc28f09ce1971e54e44ceed11203305bfd3cc15a4618e6b0a25ab54b86d95a - 0.0% (711 Bytes)

[#015] sha256:ceca312d4f5f342b3c449302b1a3fae691021e5146f47a53e01229556b4df766 - 0.04% (392 KB)

[#016] sha256:81810e2a6dd25959a77d89f880f88a5a978007cb51fb45149a4400808fd5ea0d - 0.0% (14.1 KB)

[#017] sha256:2b58c1834d14eff26c950b37c9484b837d219242d06f028463ce4a00c847df59 - 29.9% (267 MB)

[#018] sha256:46f01cbc2cc54aeef8441da8bf3818ff80874592a82a5d79a118c0c9380bdab0 - 0.0% (18.4 KB)

[#019] sha256:80e917497ecb0e99c5dfcbf0e1b4ad290d5de08cc168771b35f034c370377845 - 2.11% (18.9 MB)

[#020] sha256:64a0a7724a9ff170bbd4005303c3f96f1b89afa92e83454e474f774a8303b5e1 - 0.02% (208 KB)

[#021] sha256:3078ce17cc36a7257247c8118bc0ad8eb9c3712a98f7817eac6b438e89da13c2 - 0.0% (158 Bytes)

[#022] sha256:59b3cf5c52fcea501e50af6b87f1527ae1e43eb94f99fc2195eb9e51b0a3aa25 - 9.87% (88.2 MB)

[#023] sha256:d1c1aa86cdd0902165e8b26cfce6dcf3f90af4979061e5fc6bd53b80dd636f7d - 0.11% (1.03 MB)

[#024] sha256:08b81826a0b072cf5fc4e249f535bc736813cbedb491570bfdd5b00c972b70ca - 0.1% (958 KB)

[#025] sha256:3dc201c819e2954fde9e32b0d35b204ae06eae95a77b396e13534b131d1072e2 - 0.0% (14.1 KB)

[#026] sha256:097ebb16c21fdb8ee454da93589c3c7d13264c79b616bbf519a36097f5815d60 - 0.36% (3.22 MB)

[#027] sha256:27b1b826856b71c5a171988c92d0861315808d316d8f15215ce92d119cedbf88 - 2.03% (18.1 MB)

[#028] sha256:0b99d8a7cfb41e89007f4326e0dcca5622619baf2bcdd31a0ed3de5dbe813e17 - 0.0% (25 KB)

[#029] sha256:61f3e658cf53ed75ec6c458711144c961a724ee8489f3ff82295f5af396eebfa - 0.0% (1.93 KB)

[#030] sha256:99930db94d0566a35120bf8079a9293a973a0520fb2a2aeee97435d8845cf60e - 0.0% (196 Bytes)

[#031] sha256:44eec8e5755906becfd75479c67b734e5c7a912fe9d3ab16beac60914b097192 - 0.0% (2.68 KB)

[#032] sha256:5eaa2667f6284943ffd0059a8baf51d4f1e76226ae8d4909e5ca07fcaa711443 - 0.0% (208 Bytes)

[#033] sha256:0a598fb64b7cbac54be2d3fdc8e53fd75efe7a9fe009b5b6594a7f95dc044c1c - 0.0% (1.9 KB)

[#034] sha256:3f306782dac684d2f66793c143d87ddef3705d2d70cf395aefe0baf5a7188da7 - 0.0% (1.18 KB)

[#035] sha256:430cff3a3ff633a84d84abe67923bfeb396243e394caf23a0bc6cbcefec2f443 - 0.0% (1.89 KB)

[#036] sha256:f1e6d1baecb1f51632ed4cfbc6004c540d698ad8253f91748d6993807fc6b546 - 0.0% (812 Bytes)

[#037] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-05-05 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'trixie' '@1777939200'

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/.playwright

2026-08-02 03:11:00 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 ripgrep ffmpeg gcc g++ make cmake python3-dev python3-venv libffi-dev libolm-dev libatomic1 procps git openssh-client docker-cli xz-utils && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so.0 && ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so && printf '/usr/local/lib\n' > /etc/ld.so.conf.d/000-sqlite-fixed.conf && ldconfig && python3 -c "import sqlite3, sys; v = sqlite3.sqlite_version_info; sys.exit(f'linked SQLite {sqlite3.sqlite_version} still has the WAL-reset bug') if v < (3, 51, 3) else None; db = sqlite3.connect(':memory:'); db.execute(\"CREATE VIRTUAL TABLE docs USING fts5(content, tokenize='trigram')\"); db.execute(\"INSERT INTO docs VALUES ('hermes')\"); sys.exit('SQLite FTS5 trigram self-test failed') if db.execute(\"SELECT count(*) FROM docs WHERE docs MATCH 'erm'\").fetchone()[0] != 1 else None; db.close()" # buildkit

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.3.0

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581

2026-08-02 03:11:00 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e

2026-08-02 03:11:01 UTC (buildkit.dockerfile.v0)

RUN |6 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-08-02 03:11:01 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit

2026-08-02 03:11:01 UTC (buildkit.dockerfile.v0)

RUN |6 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-08-02 03:11:01 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/ # buildkit

2026-08-02 03:11:02 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 /usr/local/bin/node /usr/local/bin/ # buildkit

2026-08-02 03:11:02 UTC (buildkit.dockerfile.v0)

COPY /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/npm # buildkit

2026-08-02 03:11:02 UTC (buildkit.dockerfile.v0)

RUN |6 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 ln -sf /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && ln -sf /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx # buildkit

2026-08-02 03:11:02 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/hermes

2026-08-13 09:42:21 UTC (buildkit.dockerfile.v0)

COPY package.json package-lock.json ./ # buildkit

2026-08-13 09:42:21 UTC (buildkit.dockerfile.v0)

COPY web/package.json web/ # buildkit

2026-08-13 09:42:21 UTC (buildkit.dockerfile.v0)

COPY ui-tui/package.json ui-tui/ # buildkit

2026-08-13 09:42:21 UTC (buildkit.dockerfile.v0)

COPY ui-tui/packages/hermes-ink/ ui-tui/packages/hermes-ink/ # buildkit

2026-08-13 09:42:21 UTC (buildkit.dockerfile.v0)

COPY apps/shared/ apps/shared/ # buildkit

2026-08-13 09:42:21 UTC (buildkit.dockerfile.v0)

ENV npm_config_install_links=false

2026-08-13 09:42:46 UTC (buildkit.dockerfile.v0)

RUN |6 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 npm install --prefer-offline --no-audit --fetch-retries=5 && for i in 1 2 3; do npx playwright install --with-deps chromium --only-shell && break || { [ "$i" = 3 ] && exit 1; echo "playwright install failed (attempt $i); retrying in 10s"; sleep 10; }; done && npm cache clean --force # buildkit

2026-08-13 09:42:46 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-08-13 09:42:50 UTC (buildkit.dockerfile.v0)

RUN |6 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-08-13 18:57:45 UTC (buildkit.dockerfile.v0)

COPY pyproject.toml uv.lock ./ # buildkit

2026-08-13 18:57:45 UTC (buildkit.dockerfile.v0)

RUN |6 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-08-13 18:58:54 UTC (buildkit.dockerfile.v0)

RUN |6 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 uv sync --frozen --no-install-project --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra hindsight --extra matrix # buildkit

2026-08-13 18:58:54 UTC (buildkit.dockerfile.v0)

COPY web/ web/ # buildkit

2026-08-13 18:58:54 UTC (buildkit.dockerfile.v0)

COPY ui-tui/ ui-tui/ # buildkit

2026-08-13 18:58:54 UTC (buildkit.dockerfile.v0)

COPY apps/shared/ apps/shared/ # buildkit

2026-08-13 18:59:03 UTC (buildkit.dockerfile.v0)

RUN |6 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 web && npm run build && cd ../ui-tui && npm run build # buildkit

2026-08-13 20:38:22 UTC (buildkit.dockerfile.v0)

COPY --chmod=a+rX,go-w . . # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

RUN |6 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 uv pip install --no-cache-dir --no-deps -e "." # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

USER root

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

RUN |6 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/bin/hermes && printf 'docker\n' > /opt/hermes/.install_method # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ARG HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

RUN |7 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 HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5 /bin/sh -c if [ -n "${HERMES_GIT_SHA}" ]; then printf '%s\n' "${HERMES_GIT_SHA}" > /opt/hermes/.hermes_build_sha; fi # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

RUN |7 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 HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5 /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-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ENV HERMES_TUI_DIR=/opt/hermes/ui-tui

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ENV HERMES_HOME=/opt/data

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ENV HERMES_WRITE_SAFE_ROOT=/opt/data

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ENV HERMES_DISABLE_LAZY_INSTALLS=1

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ENV HERMES_LAZY_INSTALL_TARGET=/opt/data/lazy-packages

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit

2026-08-13 20:38:24 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-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

RUN |7 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 HERMES_GIT_SHA=f80f453ae0679347e38abc917c7f94f717bf96c5 /bin/sh -c mkdir -p /opt/data # buildkit

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

VOLUME [/opt/data]

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]

2026-08-13 20:38:24 UTC (buildkit.dockerfile.v0)

CMD []

Danger Zone
Delete Tag

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.

Delete