diff --git a/personal/projects/balda/balda-valera.md b/personal/projects/balda/balda-valera.md index 36219351..8014f6fb 100755 --- a/personal/projects/balda/balda-valera.md +++ b/personal/projects/balda/balda-valera.md @@ -1,5 +1,37 @@ # Балда / Валера — эксплуатация & MCP debug +> ## ⛔ СНЕСЁН 2026-09-29 — агент удалён на Mac +> +> По команде Alex: «Валеру снеси на маке (он на старой балде работает, а мы нового готовим), +> только не папку с кодом, а агента». +> +> | Объект | Действие | +> |---|---| +> | Контейнер `balda-agent-valera-1` | ✅ `docker-compose -f docker-compose.yaml down` → Removed | +> | Образ `balda-agent-valera:latest` (`640cb18aaeeb`, 71.6 МБ) | ✅ `docker rmi` → Deleted | +> | Порт **8091** | ✅ освобождён | +> | Папка кода `/Users/admin/Developer/balda` | ✅ **СОХРАНЕНА** (не тронута) | +> | Compose+конфиг `/Users/admin/Docker/balda-agent/` | ✅ **СОХРАНЕНЫ** (`.env`, `.config/balda/`, `docker-compose.yaml`) | +> | `balda-executor` (2.48 ГБ образ) | ⚠️ **НЕ тронут** — это не Валера | +> +> 🔴 **Питфолл: `restart: unless-stopped`** — Валера поднялся бы сам при старте Docker. +> Поэтому одного `docker stop` мало: нужен именно `compose down`. +> +> 🔴 **Питфолл: на этом хосте НЕТ плагина `docker compose`.** +> `docker compose -f` → `unknown shorthand flag: 'f'`. Работает только отдельный бинарь +> **`docker-compose`** (v5.1.3, `/opt/homebrew/bin/docker-compose`). Docker Engine 29.2.1. +> +> 📌 **Как восстановить, если понадобится** (образ придётся пересобрать — он удалён): +> ```bash +> cd ~/Docker/claudio-agent +> docker build --no-cache -f Dockerfile.claudio -t balda-agent-valera:latest /Users/admin/Developer +> cd ~/Docker/balda-agent && docker-compose up -d +> ``` +> Раздел §«Сборка» ниже описывает полный цикл (сборка из `~/Developer/norma-local`). +> +> **Замена:** новый стек Балды — `balda-mm:*` на Kraken со стороны Mattermost, +> см. [[personal/projects/balda/balda-mm-delegation-plan]]. + > ## ⚠️ УСТАРЕЛО (2026-09-25) — читать с оговоркой > Этот док описывает **старый форк-стек**: свой патч `norma-local` (`hostedagent/openai.go`), > `go.mod replace` на локальную норму, DeepSeek через OpenAI-совместимый рантайм. diff --git a/personal/tech/docker-mac-disk-issues.md b/personal/tech/docker-mac-disk-issues.md index 70ebb0b6..208968f6 100755 --- a/personal/tech/docker-mac-disk-issues.md +++ b/personal/tech/docker-mac-disk-issues.md @@ -1,6 +1,12 @@ # Docker на Mac — проблема с диском и сборкой образов -_Последнее обновление: 2026-06-30_ +_Последнее обновление: 2026-09-29_ + +> **2026-09-29: выполнена большая чистка, освобождено 41 ГБ** (57 ГБ → 16 ГБ, 61% → 17%). +> Снесены `balda-executor`, `watchtower`, 16 неиспользуемых образов и buildkit-volume +> 37.71 ГБ. Полный разбор — §«✅ Чистка 2026-09-29» в конце дока. +> ⚠️ Цифры в §«Структура диска» ниже — снимок **2026-06-30** (17 ГБ / 8.4 ГБ кэша), +> оставлены как исторический ориентир. Актуальные размеры — в разделе про чистку. ## Сетап @@ -99,6 +105,93 @@ colima ssh -- df -h /dev/vdb1 - [[how-to/hermes-eagle-mac]] — Hermes на Mac, Zulip Docker стек (RabbitMQ pitfall про Khepri) - [[how-to/openmediavault-rpi5]] — build cache на RPi (та же проблема ENOSPC) +## ✅ Чистка 2026-09-29 — освобождено 41 ГБ + +По команде Alex: снести неиспользуемые образы, `balda-executor`, `watchtower`, balda-теги +старого стека и слои сборки. + +| Метрика | До | После | +|---|---|---| +| **VM disk `/dev/vdb1`** | **57 ГБ (61%)** | **16 ГБ (17%)** | +| Images | 19.12 ГБ | 15.71 ГБ | +| Build Cache | 1.91 ГБ | 1.62 ГБ | +| **buildkit volume** | **37.71 ГБ** | **удалён** | + +🔴 **Главное подтверждение из этого дока:** `docker builder prune` НЕ чистит volume +`buildx_buildkit_arm64builder0_state` — он оставался **37.71 ГБ** после prune. +Реально освободило только удаление контейнера + volume: +```bash +docker rm -f buildx_buildkit_arm64builder0 +docker volume rm buildx_buildkit_arm64builder0_state +``` +📌 **Обратная сторона:** `docker builder ls` → `arm64builder0` теперь **`inactive`**. +Следующая сборка пересоздаст volume с нуля — все закэшированные слои (apt/pip/go mod download) +потеряны. Это ожидаемая цена, не дефект. + +### Что снесено (16 образов + 3 контейнера) + +Контейнеры: `balda-executor`, `watchtower`, `buildx_buildkit_arm64builder0`. + +| Образ | Размер | +|---|---| +| `balda-executor:0.1.0` | 2.48 ГБ | +| `obsidian-mcp-image:0.1.0` | 1.67 ГБ | +| `balda-executor-mcp:0.2.0` | 249 МБ | +| `balda-executor-mcp:0.1.0` | 231 МБ | +| `containrrr/watchtower:latest` | 21.5 МБ | +| `balda-mm:0.1.10` / `0.1.12` / `0.1.13-diag` | 3 × 78.7 МБ | +| `caddy`, `curlimages/curl`, `eclipse-mosquitto`, `tagwriter`, `teddysun/xray`, `ubuntu:noble`, `alpine:3.20`, `alpine:latest` | ~0.9 ГБ | + +### ⚠️ Побочный эффект: Watchtower снят с Mac + +Watchtower жил в compose-проекте `infra` (`~/Docker/infra`). **Автообновление образов +на Mac больше не работает.** Обновлять вручную: +```bash +cd && docker-compose pull && docker-compose up -d +``` +📌 На **Kraken** Watchtower тоже есть — он там отдельная история (и сам провоцировал +падение `mm-postgres`, см. `personal/tech/kraken-docker-startup-order.md`). + +### 🔴 Питфолл: `compose down` НЕ удаляет образы + +После `docker-compose down` контейнер уходит, а **образ остаётся**. Для полного сноса +нужен отдельный `docker rmi `. Именно так остались висеть +`balda-executor:0.1.0` (2.48 ГБ) и `containrrr/watchtower:latest`. + +### 🔴 Питфолл: «unused image» по имени может быть тем же ID, что running + +`obsidian-mcp-image:0.1.0` и `obsidian-mcp-obsidian-mcp:latest` — **разные образы** +(разные ID), первый был артефактом сборки. Но у `budget-*` / `fast-rlm-*` / `zulip-router` +тег `:latest` — **тот же ID**, что у безымянного образа, используемого контейнером. +Удаление такого тега безвредно (слои остаются), но **проверять ID, а не имя**. + +### Бэкап перед чисткой + +`/Users/admin/.hermes/hermes-whale/backups/20260929-121946-docker-cleanup/` +- `balda-executor/` — Dockerfile, compose.override.yaml, docker-compose.yml, agents-mounts.yaml, tools/ +- `infra/` — docker-compose.yaml (где был watchtower) + +### Осталось (не снесено, осознанно) + +`balda-mm:0.1.13`, `0.1.14`, `0.1.15-pr8-5360e90b`, `0.1.15-pr8-5360e90b-runtime210`, +`0.1.15-pr8-0e6d63aa-runtime210`, `balda:mm-classifier` (~560 МБ) — **ветки нового стека**, +который готовится. Снос — по отдельной команде. + +⚠️ Текущий рабочий образ на **Kraken**: `balda-mm:0.1.15-pr8-480ec821-runtime210` +(на Mac его нет). + +### Живые контейнеры (16, все рабочие) + +``` +zulip-zulip-1 zulip-database-1 zulip-rabbitmq-1 zulip-memcached-1 zulip-redis-1 zulip-router +firecrawl-api-1 firecrawl-playwright-service-1 firecrawl-rabbitmq-1 firecrawl-redis-1 +budget-backend budget-frontend obsidian-mcp asana-mcp fast-rlm-mcp portainer +``` + +Не тронуто: 14 volumes (719 МБ — БД Zulip/Postgres), сеть `balda_default`, +папки кода `~/Developer/balda`, `~/Docker/balda-agent`, `~/docker/balda-executor`, `~/Docker/infra`. + + ## Apple Container — потенциальная замена Colima Apple Container (`apple/container`, Apache 2.0, v1.0.0, Jun 9 2026) — нативная Swift-утилита для Linux контейнеров на macOS 26. **VM-per-container** через Virtualization.framework (не shared-kernel). OCI-совместима, pull/push с любых registry.