From 2d59bb44c37dcb37d6dd8de42f5cee6837660df3 Mon Sep 17 00:00:00 2001 From: Hermes Date: Fri, 22 May 2026 13:03:51 -0400 Subject: [PATCH 1/2] fix: remove venv volume mount conflicting with upstream entrypoint.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The volume mount /mnt/HoardingCow_docker_data/Hermes/venv overrides the container's built-in .venv with whatever is on the host. On a fresh start or after a clean build, an empty/missing venv directory causes entrypoint.sh line 62 (source .venv/bin/activate) to fail with set -e. The Docker image already builds a complete venv — persisting it on the host is unnecessary and fragile. --- ai/compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/ai/compose.yml b/ai/compose.yml index ca5f181..3126c2b 100755 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -61,8 +61,6 @@ services: - /mnt/HoardingCow_docker_data/Syncthing/telos-ro:/opt/data/telos-ro:ro # Syncthing-shared inbox — write tasks here, they sync to user's laptop - /mnt/HoardingCow_docker_data/Syncthing/telos-rw:/opt/data/telos-rw:rw - # Persist Python venv across container recreation (Matrix bridge deps, etc.) - - /mnt/HoardingCow_docker_data/Hermes/venv:/opt/hermes/.venv devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri -- 2.49.1 From 567850bd13c7f5a54f007fd914feda4b6bcb7a2f Mon Sep 17 00:00:00 2001 From: Hermes Date: Fri, 22 May 2026 13:04:43 -0400 Subject: [PATCH 2/2] feat: bake Matrix bridge deps into Docker image instead of volume mount - Add libolm-dev system dep (required by mautrix[encryption]) - Add mautrix[encryption] + openai pip packages to build - These were previously installed inline at container startup and persisted via the fragile venv volume mount (now removed) --- ai/hermes/Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ai/hermes/Dockerfile b/ai/hermes/Dockerfile index c3a76fa..253b9b7 100644 --- a/ai/hermes/Dockerfile +++ b/ai/hermes/Dockerfile @@ -34,6 +34,7 @@ USER root RUN apt-get update && \ apt-get install -y --no-install-recommends \ libportaudio2 ca-certificates poppler-utils imagemagick \ + libolm-dev \ texlive-latex-base texlive-latex-extra texlive-fonts-recommended \ texlive-xetex texlive-science \ qemu-user-static binfmt-support emacs-nox && \ @@ -42,6 +43,12 @@ RUN apt-get update && \ # ---------- UV ---------- COPY --chmod=0755 --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/ +# ---------- Matrix bridge + extra pip deps ---------- +# Previously installed inline at container startup and persisted via volume mount. +# Now baked into the image so the fragile venv volume mount can be removed. +RUN . /opt/hermes/.venv/bin/activate && \ + uv pip install --no-cache-dir 'mautrix[encryption]' openai + # ---------- Piper TTS ---------- RUN . /opt/hermes/.venv/bin/activate && \ uv pip install --no-cache-dir piper-tts sounddevice numpy && \ -- 2.49.1