From 8a948e02d711882ed235d7a2171f463a30f79bf5 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sun, 27 Sep 2026 16:40:46 +0600 Subject: [PATCH] =?UTF-8?q?[2026-09-27]=20kraken:=20Watchtower=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D1=91=D0=BD=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=BA=D1=80=D0=B8=D1=82=D0=B8=D1=87=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=20(mm-postgres/mattermost/balda-mm/obsidian-mcp)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- personal/tech/kraken-docker-startup-order.md | 51 +++++++++++++++++--- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/personal/tech/kraken-docker-startup-order.md b/personal/tech/kraken-docker-startup-order.md index 22cc9f19..d8d1e2df 100644 --- a/personal/tech/kraken-docker-startup-order.md +++ b/personal/tech/kraken-docker-startup-order.md @@ -261,15 +261,54 @@ ssh kraken "sudo -n dmesg | grep -i -E 'oom|killed process'" **Ни один файл НЕ изменён.** Бэкап compose-файлов сделан. Обе правки (Watchtower, слияние проектов) ожидают решения Alex. +## ✅ ВЫПОЛНЕНО (2026-09-27, вечер) + +**Причина №1 (Watchtower) — ИСПРАВЛЕНО.** Причина №2 (порядок запуска) — **снята с повестки**: +`depends_on` внутри проекта работает корректно. + +### Что сделано + +1. **Корневая причина, почему прошлые правки не действовали:** контейнер `watchtower` создан + **2026-05-12** из файла `/home/kraken/watchtower/docker-compose.yml`, **которого больше нет** + (директория удалена). Файл в `/srv/.../docker/watchtower/docker-compose.yml` был уже исправлен + (`nickfedor/watchtower:1.22.2` + `--interval 86400 --cleanup --label-enable`), но **никогда не применялся**. + Работал старый `containrrr/watchtower` (мёртв с 2023-11) с `Cmd: []` — **без `--label-enable`**, + поэтому лез во все контейнеры подряд. +2. Бэкап: `/home/kraken/_backup-compose-20260927/` (+ `watchtower-active.yml`). +3. Метка `com.centurylinklabs.watchtower.enable: "false"` добавлена в compose четырёх сервисов. +4. Watchtower пересоздан из `/srv/.../docker/watchtower/` → образ `nickfedor/watchtower:1.22.2`, + `Cmd: [--interval 86400 --cleanup --label-enable]`, running. +5. Контейнеры пересозданы (`docker compose up -d`) — **метка применяется только при создании + контейнера**; `docker update --label-add` **НЕ СУЩЕСТВУЕТ** (проверено: `unknown flag: --label-add`). + +### Результат (проверено) + +| Контейнер | Метка | Статус | +|---|---|---| +| `mm-postgres` | `false` | running, healthy | +| `mattermost` | `false` | running, healthy | +| `balda-mm` | `false` | running | +| `obsidian-mcp` | `false` | running | + +Watchtower: `nickfedor/watchtower:1.22.2`, `--interval 86400 --cleanup --label-enable`, next run +24h. + +🔴 **Причина №2 (порядок запуска) — НЕ ТРЕБУЕТ ЛЕЧЕНИЯ.** При `docker compose up -d` вывод показал: +`mm-postgres Starting → Waiting → Healthy → mattermost Starting` — **`depends_on: condition: service_healthy` +работает корректно**. Слияние трёх проектов в один **НЕ требуется**: реальная причина падения была +только Watchtower. Отдельный проект у `balda`/`obsidian-mcp` проблемы не создаёт. + +⚠️ Не проверено: **поведение при ребуте хоста** (соблюдается ли порядок между проектами при загрузке +системы). Но поскольку Watchtower больше не убивает контейнеры, риск снижен радикально. + ## Открытые вопросы -- [ ] **Решение Alex:** правим Watchtower (вариант 1/2) или порядок запуска (слияние compose)? -- [ ] Поставить `com.centurylinklabs.watchtower.enable=false` на `mm-postgres`, `mattermost`, - `balda-mm`, `obsidian-mcp` + `--label-enable` у Watchtower. -- [ ] Слить `balda` + `obsidian-mcp` в проект `mattermost` — см. «План слияния» выше. -- [ ] `swap`-файл (см. `kraken-host-resource-limits.md`) — **отдельная задача**, не связана с этим разбором. +- [x] **Решение Alex принято:** правим Watchtower. **ВЫПОЛНЕНО.** +- [x] `com.centurylinklabs.watchtower.enable=false` на `mm-postgres`, `mattermost`, + `balda-mm`, `obsidian-mcp` + `--label-enable` у Watchtower. **ВЫПОЛНЕНО.** +- [x] Слияние `balda` + `obsidian-mcp` в проект `mattermost` — **НЕ ТРЕБУЕТСЯ**. +- [ ] `swap`-файл (см. `kraken-host-resource-limits.md`) — **отдельная задача**. - [ ] `folder2ram-hdd-bind.service` — падал 2026-09-23, разобрать отдельно. -- [ ] `/home/kraken/_backup-compose-20260927/` — удалить после завершения правок. +- [ ] `/home/kraken/_backup-compose-20260927/` — удалить после проверки Alex. ## Связанные документы