[2026-09-23] eagle: family/how-to/hermes-docker-kraken.md personal/projects/personal-os/hermes-deployment-patterns.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-23 12:45:45 +06:00
1 parent a804c4a7cf
commit 4f1b26fb45
2 files changed
+113 -70

No files matched your search

@@ -41,13 +41,22 @@ See [[claude-python-cli-proxy]] for full details and token-refresh procedure.
## Pattern 2: Kraken Docker (RPi5)
**Where:** Kraken RPi5, `docker run` (not compose)
**Transport:** Zulip (same instance or separate)
**Model backend:** Gemini or OpenRouter via Hermes gateway
**Autostart:** `--restart unless-stopped` on the container
**Where:** Kraken RPi5, `docker compose` из `docker/hermes-build/`
(⚠️ ранее здесь было «`docker run`, not compose» — **это устарело**, проверено 2026-09-23)
**Transport:** Zulip (same instance or separate)
**Model backend:** Gemini or OpenRouter via Hermes gateway
**Autostart:** `restart: unless-stopped` в compose
**Why docker run, not compose:** explicit restart behavior; avoids accidental
`docker compose down` wipes. Config volume: `~/.hermes` on Kraken host.
**Образ:** `ghcr.io/mallexxx/hermes-kraken:latest` (`image:`, **без** `build:`). uid процесса — **1000**
(из `USER` в образе, продублирован в compose как `user: "1000:1000"`).
Config volume: `…/docker/hermes/config` → `/opt/data` (`HERMES_HOME`).
⚠️ **Урок (2026-09-23), переносимый на любой Docker-деплой Hermes:** uid, под которым стартует
контейнер, ОБЯЗАН иметь запись в `/etc/passwd`. Иначе `ssh`/`git` внутри контейнера падают с
`No user exists for uid <N>` **до** чтения ключа. Записать запись изнутри нельзя (`/etc/passwd`
root-owned) → либо bind-mount готового passwd, либо `useradd` в **Dockerfile**, если образ
действительно собирается локально. Проверять `docker inspect --format '{{.Config.Image}}'` +
наличие `build:` в compose **до** правки Dockerfile. Подробности: [[tech/hermes-docker-kraken]].
See [[tech/hermes-docker-kraken]].