diff --git a/.wiki/concepts/mappa-vds-deploy-runbook.md b/.wiki/concepts/mappa-vds-deploy-runbook.md index 78ea9d3..f77552f 100644 --- a/.wiki/concepts/mappa-vds-deploy-runbook.md +++ b/.wiki/concepts/mappa-vds-deploy-runbook.md @@ -22,7 +22,7 @@ mappa (#985). Не делать чужую часть. - **Образ:** `registry.kzntsv.site/mappa:` — тег = version из package.json, GIT_SHA передаётся `--build-arg GIT_SHA=` (Dockerfile в корне репо, multi-stage node:22-alpine; **обязательный COPY `src/lib/schema.sql` → `dist/src/lib/schema.sql`** — tsc не копирует .sql, - без него migrate() падает «schema.sql not found»). Прод на 2026-08-28 = **v0.28.0** (GIT_SHA f1ba4e9). + без него migrate() падает «schema.sql not found»). Прод на 2026-08-28 = **v0.29.0** (GIT_SHA 4e013bd). Deploy-паттерн: релизная ветка `deploy/vX.Y.Z` из батч-tip → бамп package.json → merge в master. - **Стек Portainer:** `mappa` (Id 27, endpoint 1). Source-of-truth compose: `admin/host-stacks/vds-kzntsv/mappa.compose.yml`. @@ -112,3 +112,14 @@ ssh vds.kzntsv.site 'docker ps --filter name=mappa --format "{{.Status}}"' миграция создаёт PG-конфиг `mappa` (гейт newly_created) и перестраивает tsvec ВСЕХ сущностей (~13.5k коммитов). Старт после деплоя дольше обычного; health может отвечать 404/не стартовать до ~1 мин — это ожидаемо, не паника. Проверять `docker ps` (health: starting) + повторять /health. +9. **attachment upload: boundary регистрозависим, content-type lowercases (v0.29.0, 2026-08-28)** — + сервер приводит content-type к lowercase (`ct.toLowerCase()`), а boundary в multipart — + регистрозависим (RFC 2046). Клиент с boundary, содержащим ЗАГЛАВНЫЕ (напр. `----LV0290`), + получает 400 «file field required»: delimiter не матчится. Рабочий вариант — lowercase-boundary + (`----lv0290`). Плюс: curl на Windows (mingw) шлёт multipart с LF-разделителями — серверный + парсер ждёт CRLF; надёжно — собрать multipart с CRLF вручную (`--data-binary`). Кандидат на + фикс в mappa: не lowercasing'ить boundary / матчить регистронезависимо. +8. **Одноразовый ре-индекс tsvec при создании конфига токенизатора (v0.28.0, 2026-08-28)** — + миграция создаёт PG-конфиг `mappa` (гейт newly_created) и перестраивает tsvec ВСЕХ сущностей + (~13.5k коммитов). Старт после деплоя дольше обычного; health может отвечать 404/не стартовать + до ~1 мин — это ожидаемо, не паника. Проверять `docker ps` (health: starting) + повторять /health. diff --git a/host-stacks/vds-kzntsv/mappa.compose.yml b/host-stacks/vds-kzntsv/mappa.compose.yml index e5dea57..5a82dd3 100644 --- a/host-stacks/vds-kzntsv/mappa.compose.yml +++ b/host-stacks/vds-kzntsv/mappa.compose.yml @@ -5,7 +5,7 @@ services: mappa: - image: registry.kzntsv.site/mappa:v0.28.0 + image: registry.kzntsv.site/mappa:v0.29.0 container_name: mappa restart: unless-stopped mem_limit: 512m