From 95e7ca667bfa33a2d6e255d988093d5f29f61691 Mon Sep 17 00:00:00 2001 From: sages-ds Date: Tue, 14 Jul 2026 15:26:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D1=82=D0=B0=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=B5=D0=BF=D0=BB=D0=BE=D1=8E:=20=D0=B4=D0=B0=D1=82?= =?UTF-8?q?=D0=B0=D1=81=D0=B5=D1=82=20=D1=81=D1=82=D0=B2=D0=BE=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE,=20=D1=96=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA?= =?UTF-8?q?=D1=86=D1=96=D1=8F=20Portainer=20repository-stack,=20=D1=87?= =?UTF-8?q?=D0=B5=D0=BA=D0=BB=D1=96=D1=81=D1=82=20e2e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- Деплой на TrueNAS.md | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Деплой на TrueNAS.md b/Деплой на TrueNAS.md index 74a3279..597c23c 100644 --- a/Деплой на TrueNAS.md +++ b/Деплой на TrueNAS.md @@ -9,7 +9,7 @@ created: 2026-07-14 ## План -1. **Датасет:** `homeLab/portainer/apps/ai-memory-network` (dataset preset = **Apps**) — для конфігів/volumes контейнера. +1. **Датасет:** `homeLab/portainer/apps/ai_memory_network` (dataset preset = **Apps**, snake_case за конвенцією сусідніх датасетів) — ✅ створено 2026-07-14 через midclt. 2. **Portainer stack** `ai-memory-network` (два сервіси): - контейнер `ai-memory-server` (Node.js 22, образ збирається з репозиторію); порт: HTTP MCP endpoint (напр. `8767`, щоб не конфліктувати з project-agent на `8766`); @@ -18,8 +18,23 @@ created: 2026-07-14 volume на датасеті проекту; порт назовні не публікуємо (доступ лише всередині stack-мережі). 3. **БД:** база `ai_memory`, користувач `ai_memory`; `CREATE EXTENSION vector;` — одразу при ініціалізації (embeddings увімкнуться у фазі 2 без змін схеми). -## Відкриті питання +## Деплой стека (Portainer UI) -- [ ] Спосіб збирання образу: registry Gitea чи build у Portainer з git-репозиторію +Рішення: **build прямо в Portainer з git-репозиторію**. + +- Portainer: `https://192.168.0.199:31015` → Stacks → Add stack → **Repository** +- Name: `ai-memory-network` +- Repository URL: `http://192.168.0.199:30008/sages/ai-memory-network-mcp-server` +- Authentication: увімкнути; username `sages`, password = Gitea API-токен +- Compose path: `compose.yml`, reference `refs/heads/main` +- Environment variables: `POSTGRES_PASSWORD`, `API_KEYS` (значення — в Portainer, НЕ в репозиторії) +- Порти після деплою: MCP endpoint `http://192.168.0.199:8767/mcp`, healthcheck `/healthz` +- Redeploy при оновленні коду: кнопка **Pull and redeploy** у стеку + +## e2e перевірка після деплою + +- [ ] `GET /healthz` → `{"status":"ok"}` +- [ ] MCP `initialize` + `tools/list` через `/mcp` з Bearer-ключем +- [ ] `project_create` → `memory_save` → `memory_query` → `project_save_state` → `project_get_state` Пов'язане: [[Огляд архітектури]], [[Roadmap]]