hermes-agent-himalaya (sha256:90d6f7d6bc5b70e51f06ce60becffa0aa52834315e35b23c6c0a35aa1c7e1fe4)
Installation
docker pull code.lab.cowley.tech/homelab/hermes-agent-himalaya@sha256:90d6f7d6bc5b70e51f06ce60becffa0aa52834315e35b23c6c0a35aa1c7e1fe4sha256:90d6f7d6bc5b70e51f06ce60becffa0aa52834315e35b23c6c0a35aa1c7e1fe4About this package
Simple docker sandbox image for Hermes Agent
Image layers
| umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:rockcraft-base /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/.temp_layer.9106.tar --tag 26.04 |
| umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=config.entrypoint --clear=config.cmd |
| umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=config.cmd --config.cmd /bin/bash |
| umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --config.env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=config.labels --config.label org.opencontainers.image.version=26.04 --config.label org.opencontainers.image.title=ubuntu --config.label org.opencontainers.image.created=2026-06-10T03:30:57.931695+00:00 --config.label org.opencontainers.image.description=The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide. |
| umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=manifest.annotations --manifest.annotation org.opencontainers.image.version=26.04 --manifest.annotation org.opencontainers.image.title=ubuntu --manifest.annotation org.opencontainers.image.created=2026-06-10T03:30:57.931695+00:00 --manifest.annotation org.opencontainers.image.description=The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide. |
| umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/.temp_layer.control_data.9106.tar |
| ARG TARGETPLATFORM=linux/amd64 |
| ENV NPM_CONFIG_PREFIX=/usr/local/share/npm-global |
| ENV PATH=/home/agent/.local/bin:/usr/local/share/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV NO_PROXY=localhost,127.0.0.1,::1,172.17.0.0/16 |
| ENV no_proxy=localhost,127.0.0.1,::1,172.17.0.0/16 |
| WORKDIR /home/agent/workspace |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -euxo pipefail # Add Docker repos apt-get update apt-get install -yy --no-install-recommends \ ca-certificates \ curl \ gnupg install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ gpg --dearmor -o /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null # buildkit |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -ex # Remove base image user userdel ubuntu || true # Create non-root user useradd --create-home --uid 1000 --shell /bin/bash agent groupadd -f docker usermod -aG sudo agent usermod -aG docker agent # Configure sudoers mkdir /etc/sudoers.d chmod 0755 /etc/sudoers.d echo "agent ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/agent echo "Defaults:%sudo env_keep += \"http_proxy https_proxy no_proxy HTTP_PROXY HTTPS_PROXY NO_PROXY SSL_CERT_FILE NODE_EXTRA_CA_CERTS REQUESTS_CA_BUNDLE JAVA_TOOL_OPTIONS\"" > /etc/sudoers.d/proxyconfig # Create sandbox config mkdir -p /home/agent/.docker/sandbox/locks # Pre-create .local directories with correct ownership to prevent OCI runtime # from creating them as root when mounting volumes at deep paths like # /home/agent/.local/share/opencode (see docker/dash#914). mkdir -p /home/agent/.local/share /home/agent/.local/state chown -R agent:agent /home/agent # Set up npm global package folder under /usr/local/share mkdir -p /usr/local/share/npm-global chown -R agent:agent /usr/local/share/npm-global # buildkit |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c touch /etc/sandbox-persistent.sh && chmod 644 /etc/sandbox-persistent.sh && chown agent:agent /etc/sandbox-persistent.sh # buildkit |
| ENV BASH_ENV=/etc/sandbox-persistent.sh |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -ex cat > /etc/profile.d/sandbox-persistent.sh << 'PROFILEEOF' # Source the sandbox persistent environment file if [ -f /etc/sandbox-persistent.sh ]; then . /etc/sandbox-persistent.sh fi # Export BASH_ENV so non-interactive child shells also source the persistent env export BASH_ENV=/etc/sandbox-persistent.sh PROFILEEOF chmod 644 /etc/profile.d/sandbox-persistent.sh # buildkit |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -ex # Create our prepend content cat > /tmp/sandbox-bashrc-prepend << 'PREPEND' # Docker Sandbox: Source persistent environment for interactive shells if [ -f /etc/sandbox-persistent.sh ]; then . /etc/sandbox-persistent.sh fi # Export BASH_ENV so non-interactive child shells also source the persistent env export BASH_ENV=/etc/sandbox-persistent.sh PREPEND # Prepend our content to existing bashrc cat /tmp/sandbox-bashrc-prepend /etc/bash.bashrc > /tmp/new-bashrc mv /tmp/new-bashrc /etc/bash.bashrc chmod 644 /etc/bash.bashrc rm /tmp/sandbox-bashrc-prepend # buildkit |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -ex cat > /home/agent/.bashrc << 'BASHRCEOF' # Source the sandbox persistent environment file if [ -f /etc/sandbox-persistent.sh ]; then . /etc/sandbox-persistent.sh fi # Export BASH_ENV for child non-interactive shells export BASH_ENV=/etc/sandbox-persistent.sh BASHRCEOF chmod 644 /home/agent/.bashrc chown agent:agent /home/agent/.bashrc # buildkit |
| COPY /uv /usr/local/bin/uv # buildkit |
| COPY /out/clipboard-bridge /usr/local/bin/clipboard-bridge # buildkit |
| USER root |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -euxo pipefail apt-get update apt-get install -yy --no-install-recommends \ bubblewrap \ dnsutils \ docker-buildx-plugin \ docker-ce-cli \ docker-compose-plugin \ git \ gh \ jq \ less \ lsof \ make \ openssh-client \ procps \ psmisc \ ripgrep \ rsync \ socat \ sudo \ tini \ unzip apt-get clean rm -rf /var/lib/apt/lists/* # buildkit |
| USER agent |
| ENTRYPOINT ["tini" "--"] |
| USER root |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -euxo pipefail apt-get update apt-get install -yy --no-install-recommends \ bc \ default-jdk-headless \ golang \ man-db \ nodejs \ npm \ python3 \ python3-pip apt-get clean rm -rf /var/lib/apt/lists/* # buildkit |
| USER agent |
| RUN |1 TARGETPLATFORM=linux/amd64 /bin/sh -c set -ex echo 'PS1='"'"'\u@\h:\W\$ '"'" >> /home/agent/.bashrc printf '\n# Source .bashrc for login shells\nif [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n' >> /home/agent/.bash_profile chown agent:agent /home/agent/.bashrc /home/agent/.bash_profile # buildkit |
| CMD ["bash"] |
| ARG HERMES_REF=main |
| ARG CODEX_VERSION=0.118.0 |
| COPY docker-entrypoint.sh /usr/local/bin/hermes-entrypoint # buildkit |
| USER root |
| RUN |2 HERMES_REF=main CODEX_VERSION=0.118.0 /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* && mkdir -p /home/agent/.hermes /home/agent/.local/bin && chown -R agent:agent /home/agent/.hermes /home/agent/.local # buildkit |
| USER agent |
| ENV HOME=/home/agent |
| ENV PATH=/home/agent/.local/bin:/home/agent/.local/bin:/usr/local/share/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| WORKDIR /home/agent |
| RUN |2 HERMES_REF=main CODEX_VERSION=0.118.0 /bin/sh -c curl -fsSL "https://raw.githubusercontent.com/NousResearch/hermes-agent/${HERMES_REF}/scripts/install.sh" | bash -s -- --skip-setup --branch "${HERMES_REF}" --dir /home/agent/hermes-agent # buildkit |
| RUN |2 HERMES_REF=main CODEX_VERSION=0.118.0 /bin/sh -c NPM_CONFIG_PREFIX=/home/agent/.local npm install -g @openai/codex@${CODEX_VERSION} # buildkit |
| RUN |2 HERMES_REF=main CODEX_VERSION=0.118.0 /bin/sh -c cd /home/agent/hermes-agent && (npm audit fix >/dev/null || [ $? -eq 1 ]) # buildkit |
| RUN |2 HERMES_REF=main CODEX_VERSION=0.118.0 /bin/sh -c cd /home/agent/hermes-agent/scripts/whatsapp-bridge && (npm audit fix >/dev/null || [ $? -eq 1 ]) # buildkit |
| RUN |2 HERMES_REF=main CODEX_VERSION=0.118.0 /bin/sh -c HERMES_HOME=/home/agent/.hermes HOME=/home/agent hermes skills list >/dev/null # buildkit |
| USER root |
| RUN |2 HERMES_REF=main CODEX_VERSION=0.118.0 /bin/sh -c mkdir -p /usr/local/share/hermes-home && cp -a /home/agent/.hermes/. /usr/local/share/hermes-home/ && chmod 755 /usr/local/bin/hermes-entrypoint && chown -R agent:agent /usr/local/share/hermes-home # buildkit |
| USER agent |
| WORKDIR /home/agent/workspace |
| VOLUME [/home/agent/.hermes] |
| ENTRYPOINT ["/usr/local/bin/hermes-entrypoint"] |
| USER root |
| RUN /bin/sh -c apt-get update && apt-get -y install python3-venv # buildkit |
| RUN /bin/sh -c groupadd --system hermes --gid 10001 && useradd --system --no-log-init --gid hermes --uid 10001 --create-home --home /data/hermes --shell /bin/bash hermes # buildkit |
| RUN /bin/sh -c curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | sh # buildkit |
| RUN /bin/sh -c sudo -u agent uv pip install --python /home/agent/hermes-agent/venv/bin/python python-telegram-bot # buildkit |
| USER agent |
Labels
| Key | Value |
|---|---|
| com.docker.sandboxes | templates |
| com.docker.sandboxes.base | ubuntu:questing |
| com.docker.sandboxes.flavor | shell |
| org.opencontainers.image.created | 2026-07-03T19:09:57.578Z |
| org.opencontainers.image.description | Simple docker sandbox image for Hermes Agent |
| org.opencontainers.image.licenses | MIT |
| org.opencontainers.image.revision | c4bcbe2eb1cc92f36f74714f342fc1a5da4c3d9d |
| org.opencontainers.image.source | https://github.com/xmbshwll/hermes-agent-docker |
| org.opencontainers.image.title | hermes-agent-docker |
| org.opencontainers.image.url | https://github.com/xmbshwll/hermes-agent-docker |
| org.opencontainers.image.version | v2026.7.1 |
Details
2026-07-06 10:02:09 +00:00
Versions (2)
View all
Container
2
OCI / Docker
linux/amd64
MIT
2 GiB