--- title: Hermes — Native (Eagle) vs Docker (Kraken) Deployment created: '2026-05-22' updated: '2026-05-22' last_synced: '2026-05-22' type: comparison namespace: work tags: - hermes - deployment - mac - kraken - comparison confidence: 0.9 sources: - wiki/tech/hermes-eagle-mac.md - wiki/tech/hermes-docker-kraken.md --- # Hermes — Native (Eagle) vs Docker (Kraken) Два способа запуска Hermes Agent: нативно на Mac M4 Max и в Docker на Raspberry Pi 5. ## Сравнение | | Eagle (Mac M4 Max) | Kraken (RPi5) | |--|-------------------|--------------| | Запуск | `hermes gateway` (нативно) | `docker run` (не compose) | | Транспорт | Zulip (в Docker) | Zulip (тот же) | | Модель | openclaw-claude-proxy (`localhost:3456`) | openclaw-claude-proxy (аналогично) | | Процесс-менеджер | launchd (`ai.claude-proxy`) | Docker `--restart=unless-stopped` | | PATH в launchd | нужен явный `export PATH=...` | нет проблемы (Docker env) | | Токен | `source ~/.hermes/.env` в wrapper | передаётся через `-e` флаг docker run | | MCP | mcpvault (`/Users/admin/obsidian`) | mcpvault (`/vault` — mount) | | Логи Claude-proxy | `~/.hermes/logs/claude-proxy.log` | Docker logs | | Навыки | все Hermes skillsets | ограниченный набор (нет macOS tools) | | HERMES_SKIP_CHOWN | не нужно | нужно (`-e HERMES_SKIP_CHOWN=1`) | ## Pitfalls Eagle (Mac M4 Max) **openclaw-claude-proxy через launchd:** 1. launchd не наследует login-сессию → CLAUDE_CODE_OAUTH_TOKEN не виден → "Not logged in" - Фикс: явный `source ~/.hermes/.env` в wrapper-скрипте 2. PATH не содержит `/opt/homebrew/bin` → Claude CLI не найден - Фикс: явный `export PATH="/opt/homebrew/bin:..."` в wrapper-скрипте 3. Порт 3456 занят после перезагрузки: - `lsof -ti :3456 | xargs kill -9 && launchctl unload && launchctl load ...` 4. `provider: openai` не существует в Hermes — нужно `custom` 5. `base_url` должен включать `/v1` (Hermes дописывает `/chat/completions`) **Zulip Docker:** - RabbitMQ 4.x Khepri WAL crash при переполнении диска → пользователи исчезают - Фикс: `docker system prune` (освободить место) + пересоздать volume если повреждён - Без log rotation логи заполняют Docker VM (~6 ГБ за несколько месяцев) - Mac Docker Desktop sparse disk — `docker system prune` запускает compaction ## Pitfalls Kraken (Docker) - `HERMES_SKIP_CHOWN=1` обязателен (RPi5 не имеет прав chown в контейнере) - `--init` флаг обязателен (zombie reaping) - `--network=host` для доступа к Zulip на том же хосте - Vault монтируется через `-v /home/kraken/obsidian:/vault` - Полный набор правил → [[tech/hermes-docker-kraken]] ## Общее для обоих - Модель: `claude-sonnet-4-6` через openclaw-claude-proxy - MCP: mcpvault (vault path разный, но tool API одинаковый) - Zulip transport: организация `zulip.mallexxx.duckdns.org` - Obsidian vault синхронизируется через git ## Связанные страницы - [[tech/hermes-eagle-mac]] — детали настройки на Eagle - [[tech/hermes-docker-kraken]] — детали Docker деплоя на Кракен - [[personal-os-architecture]] — полная карта системы - [[tech/kraken-network]] — сетевая топология