hermes-agent-docker (sha256:ec92c82e900a83e1613e3d6d3605a1bdc0c280d394127627057a3e4a68ab2a03)
Installation
docker pull code.mehalter.com/mehalter/hermes-agent-docker@sha256:ec92c82e900a83e1613e3d6d3605a1bdc0c280d394127627057a3e4a68ab2a03sha256:ec92c82e900a83e1613e3d6d3605a1bdc0c280d394127627057a3e4a68ab2a03Image layers
| # debian.sh --arch 'amd64' out/ 'trixie' '@1783900800' |
| ENV PYTHONUNBUFFERED=1 |
| ENV PYTHONDONTWRITEBYTECODE=1 |
| ENV VIRTUAL_ENV=/opt/hermes/venv |
| ENV UV_PYTHON_INSTALL_DIR=/opt/uv/python |
| ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/.playwright |
| ENV HERMES_HOME=/opt/data |
| ENV HERMES_RUNTIME_HOME=/opt/hermes-runtime |
| ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist |
| ENV HERMES_TUI_DIR=/opt/hermes/ui-tui |
| ENV HERMES_DISABLE_LAZY_INSTALLS=1 |
| ENV HOME=/opt/hermes-runtime/home |
| ENV XDG_CONFIG_HOME=/opt/hermes-runtime/config |
| ENV XDG_CACHE_HOME=/opt/hermes-runtime/cache |
| ENV XDG_STATE_HOME=/opt/hermes-runtime/state |
| ENV npm_config_install_links=false |
| ENV PATH=/opt/data/.local/bin:/opt/hermes/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN /bin/sh -c rm -f /etc/apt/apt.conf.d/docker-clean && apt-get update && apt-get install -y --no-install-recommends build-essential ca-certificates cmake curl dnsutils file ffmpeg htop ghostscript git gzip gnupg iputils-ping less libolm-dev libportaudio2 mupdf-tools netcat-openbsd openssh-client poppler-utils python3 python-is-python3 qpdf ripgrep rsync tar tini unzip wget xz-utils zip procps python3-venv # buildkit |
| COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit |
| 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 |
| COPY /usr/local/bin/docker /usr/local/bin/docker-real # buildkit |
| COPY /opt/uv /opt/uv # buildkit |
| COPY /opt/hermes /opt/hermes # buildkit |
| COPY /usr/local/bin /usr/local/bin # buildkit |
| COPY /usr/local/lib/node_modules /usr/local/lib/node_modules # buildkit |
| RUN /bin/sh -c chmod 755 /usr/local/bin/docker-real && rm -f /etc/apt/apt.conf.d/docker-clean && install -d -m 1777 "$HERMES_RUNTIME_HOME" /ms-playwright && npx playwright install --with-deps chromium # buildkit |
| COPY docker-wrapper.sh /usr/local/bin/docker # buildkit |
| COPY healthcheck.sh /usr/local/bin/hermes-healthcheck # buildkit |
| COPY entrypoint.sh /opt/hermes/docker/entrypoint.sh # buildkit |
| RUN /bin/sh -c chmod 755 /usr/local/bin/docker /usr/local/bin/hermes-healthcheck /opt/hermes/docker/entrypoint.sh # buildkit |
| RUN /bin/sh -c chmod -R a=rX,go-w /opt/uv /opt/hermes /ms-playwright # buildkit |
| RUN /bin/sh -c install -d -m 1777 /opt/data # buildkit |
| USER 1000:1000 |
| WORKDIR /opt/hermes |
| VOLUME [/opt/data] |
| HEALTHCHECK {Test:[CMD /usr/local/bin/hermes-healthcheck] Interval:30s Timeout:10s StartPeriod:30s StartInterval:0s Retries:3} |
| ENTRYPOINT ["/usr/bin/tini" "-g" "--" "/opt/hermes/docker/entrypoint.sh"] |
Details
2026-07-31 10:03:51 -04:00
Versions (20)
View all
Container
2
OCI / Docker
linux/amd64
2.5 GiB
buildcache
2026-07-31
v2026.7.30
2026-07-31
v2026.7.20
2026-07-28
v2026.7.7.2
2026-07-20
main
2026-07-07