From f9afd79f3ecb0fd6ef1e0adeb0e4a10fdb5ecb07 Mon Sep 17 00:00:00 2001 From: Thierry Pouplier Date: Wed, 29 Apr 2026 02:19:24 +0000 Subject: [PATCH 1/6] fix: Add openai and matrix-nio dependencies for Hermes Matrix bridge --- ai/compose.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) mode change 100644 => 100755 ai/compose.yml diff --git a/ai/compose.yml b/ai/compose.yml old mode 100644 new mode 100755 index 460d44d..639df16 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -30,7 +30,10 @@ services: container_name: hermes restart: always # Gateway run enables the internal API server on port 8642 - command: gateway run + # Install openai and matrix-nio for Matrix bridge compatibility on startup + # Uses uv (modern Python package manager) with --system flag for venv installation + entrypoint: > + sh -c "/opt/hermes/.venv/bin/uv pip install openai matrix-nio[encryption] --system -q && /opt/hermes/.venv/bin/hermes gateway run" environment: - OLLAMA_HOST=http://ollama:11434 - API_SERVER_ENABLED=true @@ -38,9 +41,10 @@ services: - API_SERVER_HOST=0.0.0.0 - API_SERVER_KEY=hermes_local_key - GATEWAY_ALLOW_ALL_USERS=true - - OPENROUTER_API_KEY=${OPENROUTER_API_KEY} + - OPENROUTER_API_KEY=${OPEN...KEY} volumes: - /mnt/HoardingCow_docker_data/Hermes/data:/opt/data + - /mnt/HoardingCow_docker_data/Hermes/venv:/opt/hermes/.venv devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri From a404f5e2c44411fac1c88fe07e9af724458012e2 Mon Sep 17 00:00:00 2001 From: Thierry Pouplier Date: Wed, 29 Apr 2026 02:43:35 +0000 Subject: [PATCH 2/6] fix: Correct OPENROUTER_API_KEY variable name --- ai/compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ai/compose.yml b/ai/compose.yml index 639df16..72ebf85 100755 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -41,7 +41,7 @@ services: - API_SERVER_HOST=0.0.0.0 - API_SERVER_KEY=hermes_local_key - GATEWAY_ALLOW_ALL_USERS=true - - OPENROUTER_API_KEY=${OPEN...KEY} + - OPENROUTER_API_KEY=${OPENROUTER_API_KEY} volumes: - /mnt/HoardingCow_docker_data/Hermes/data:/opt/data - /mnt/HoardingCow_docker_data/Hermes/venv:/opt/hermes/.venv From 2aab06cc1a76b2b13400453f318fbc97b80d061f Mon Sep 17 00:00:00 2001 From: Thierry Pouplier Date: Wed, 29 Apr 2026 03:34:15 +0000 Subject: [PATCH 3/6] fix: use mautrix[encryption] instead of matrix-nio for Matrix bridge The Hermes Matrix gateway uses the mautrix SDK, not matrix-nio. This fixes E2EE support by installing the correct library. Refs: PR #2 --- ai/compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ai/compose.yml b/ai/compose.yml index 72ebf85..e96993f 100755 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -30,10 +30,10 @@ services: container_name: hermes restart: always # Gateway run enables the internal API server on port 8642 - # Install openai and matrix-nio for Matrix bridge compatibility on startup + # Install openai and mautrix[encryption] for Matrix bridge with E2EE support on startup # Uses uv (modern Python package manager) with --system flag for venv installation entrypoint: > - sh -c "/opt/hermes/.venv/bin/uv pip install openai matrix-nio[encryption] --system -q && /opt/hermes/.venv/bin/hermes gateway run" + sh -c "/opt/hermes/.venv/bin/uv pip install openai mautrix[encryption] --system -q && /opt/hermes/.venv/bin/hermes gateway run" environment: - OLLAMA_HOST=http://ollama:11434 - API_SERVER_ENABLED=true From bcc4b6d157b48d531eae7b6a0d6c6b4dce932df0 Mon Sep 17 00:00:00 2001 From: Hermes Date: Thu, 14 May 2026 21:35:31 -0400 Subject: [PATCH 4/6] feat: add Syncthing service for Hermes org-file sync --- ai/compose.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/ai/compose.yml b/ai/compose.yml index aca3347..3bf9070 100644 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -54,6 +54,10 @@ services: - TZ=America/Montreal volumes: - /mnt/HoardingCow_docker_data/Hermes/data:/opt/data + # Syncthing-shared org files — read-only view of user's agenda + - /mnt/HoardingCow_docker_data/Syncthing/org-ro:/opt/data/org-ro:ro + # Syncthing-shared inbox — write tasks here, they sync to user's laptop + - /mnt/HoardingCow_docker_data/Syncthing/org-rw:/opt/data/org-rw:rw devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri @@ -63,6 +67,24 @@ services: networks: - ai_backend + syncthing: + image: syncthing/syncthing:latest + container_name: syncthing + hostname: syncthing + restart: always + ports: + - "127.0.0.1:8384:8384" + - "22000:22000" + - "21027:21027/udp" + environment: + - TZ=America/Montreal + volumes: + - /mnt/HoardingCow_docker_data/Syncthing/config:/var/syncthing/config + - /mnt/HoardingCow_docker_data/Syncthing/org-ro:/org-ro + - /mnt/HoardingCow_docker_data/Syncthing/org-rw:/org-rw + networks: + - ai_backend + ollama: build: context: ./ollama From f9fb28d56078e7503516ac69307e862f3929c92b Mon Sep 17 00:00:00 2001 From: Hermes Date: Thu, 14 May 2026 21:40:00 -0400 Subject: [PATCH 5/6] fix: route Syncthing web UI through Traefik with HTTPS --- ai/compose.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ai/compose.yml b/ai/compose.yml index 3bf9070..1d333db 100644 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -73,7 +73,7 @@ services: hostname: syncthing restart: always ports: - - "127.0.0.1:8384:8384" + - "8384:8384" - "22000:22000" - "21027:21027/udp" environment: @@ -84,6 +84,17 @@ services: - /mnt/HoardingCow_docker_data/Syncthing/org-rw:/org-rw networks: - ai_backend + - ai_net + labels: + - "traefik.enable=true" + - "traefik.http.routers.syncthing-http.rule=Host(`syncthing.lazyworkhorse.net`)" + - "traefik.http.routers.syncthing-http.entrypoints=web" + - "traefik.http.routers.syncthing-http.middlewares=redirect-to-https" + - "traefik.http.routers.syncthing-https.rule=Host(`syncthing.lazyworkhorse.net`)" + - "traefik.http.routers.syncthing-https.entrypoints=websecure" + - "traefik.http.routers.syncthing-https.tls=true" + - "traefik.http.routers.syncthing-https.tls.certresolver=njalla" + - "traefik.http.services.syncthing.loadbalancer.server.port=8384" ollama: build: From 6a44120b1a6b40cb4b2e77147609bc766d6988b3 Mon Sep 17 00:00:00 2001 From: Thierry Pouplier Date: Mon, 18 May 2026 20:25:18 -0400 Subject: [PATCH 6/6] Fixed syncthing dir path --- ai/compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ai/compose.yml b/ai/compose.yml index 1d333db..1db7831 100644 --- a/ai/compose.yml +++ b/ai/compose.yml @@ -55,9 +55,9 @@ services: volumes: - /mnt/HoardingCow_docker_data/Hermes/data:/opt/data # Syncthing-shared org files — read-only view of user's agenda - - /mnt/HoardingCow_docker_data/Syncthing/org-ro:/opt/data/org-ro:ro + - /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/org-rw:/opt/data/org-rw:rw + - /mnt/HoardingCow_docker_data/Syncthing/telos-rw:/opt/data/telos-rw:rw devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri @@ -80,8 +80,8 @@ services: - TZ=America/Montreal volumes: - /mnt/HoardingCow_docker_data/Syncthing/config:/var/syncthing/config - - /mnt/HoardingCow_docker_data/Syncthing/org-ro:/org-ro - - /mnt/HoardingCow_docker_data/Syncthing/org-rw:/org-rw + - /mnt/HoardingCow_docker_data/Syncthing/telos-ro:/telos-ro + - /mnt/HoardingCow_docker_data/Syncthing/telos-rw:/telos-rw networks: - ai_backend - ai_net