Skip to content

fix(infra): salvage Docker/install PRs #6934 #6910 #6904 + entrypoint dirs from #6936 - #7407

Merged
teknium1 merged 4 commits into
mainfrom
hermes/bucket3
Apr 10, 2026
Merged

fix(infra): salvage Docker/install PRs #6934 #6910 #6904 + entrypoint dirs from #6936#7407
teknium1 merged 4 commits into
mainfrom
hermes/bucket3

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Summary

Salvage of 4 infra PRs. Contributor authorship preserved.

Cherry-picked:

Partial salvage from #6936 (Tranquil-Flow) — Added missing skins, plans, workspace directories to entrypoint.sh mkdir. Left HERMES_HOME hardcoded as-is.

No test changes needed — all changes are in Docker/install/deps config.

Tranquil-Flow and others added 4 commits April 10, 2026 15:11
Playwright's --with-deps flag only supports apt-based dependency
installation. The install script previously ran it on all non-Arch
systems, failing silently on Gentoo, Fedora, openSUSE, and others.

- Restrict --with-deps to known apt-based distributions
- Add explicit guidance for RPM-based (dnf) and zypper-based systems
- Show visible warnings instead of suppressing failures with || true
- Correct misleading comment that claimed dnf/zypper support

Fixes #6865
…d lifetime

Two issues with sandbox container spawning:

1. PID 1 was `sleep 2h` which doesn't call wait() — every background
   process that exited became a zombie (<defunct>), and the process
   tool reported them as "running" because zombie PIDs still exist in
   the process table. Fix: add --init to docker run, which uses
   tini (Docker) or catatonit (Podman) as PID 1 to reap children
   automatically. Both runtimes support --init natively.

2. The fixed 2-hour lifetime was arbitrary and sometimes too short
   for long agent sessions. Fix: replace 'sleep 2h' with
   'sleep infinity'. The idle reaper (_cleanup_inactive_envs, gated
   by terminal.lifetime_seconds, default 300s) already handles
   cleanup based on last activity timestamp — there's no need for
   the container itself to have a fixed death timer.

Fixes #6908.
Add the [socks] extra to the httpx dependency to include the required
'socksio' package. This fixes the error: "Using SOCKS proxy, but the
'socksio' package is not installed" when users configure SOCKS proxy
settings.
The profile system expects these directories but they weren't
being created on container startup. Adds them to the mkdir list
alongside the existing dirs.

Co-authored-by: Tranquil-Flow <tranquil_flow@protonmail.com>
@teknium1
teknium1 merged commit e8f16f7 into main Apr 10, 2026
5 of 6 checks passed
malaiwah pushed a commit to malaiwah/hermes-agent that referenced this pull request Apr 12, 2026
- find_podman() now checks for both `podman` and `podman-remote` in
  PATH and search paths. This supports gateway deployments where the
  hermes container has podman-remote but not podman (e.g. our Alpine
  LXC setup where podman-remote talks to the host Podman socket).
- Add --init flag to PodmanEnvironment._build_run_cmd() for zombie
  reaping, matching the Docker backend (merged in NousResearch#7407).
- Add test for podman-remote discovery.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants