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]]