Фаза 2 завершена: деплой на TrueNAS, e2e зелений; задокументовано проблеми деплою
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+5
-4
@@ -17,10 +17,11 @@ created: 2026-07-14
|
|||||||
|
|
||||||
## Фаза 2 — Деплой
|
## Фаза 2 — Деплой
|
||||||
|
|
||||||
- [ ] Датасет `homeLab/portainer/apps/ai-memory-network` ([[Деплой на TrueNAS]])
|
- [x] Датасет `homeLab/portainer/apps/ai_memory_network` ([[Деплой на TrueNAS]]) ✅ 2026-07-14
|
||||||
- [ ] Portainer stack: ai-memory-server (порт 8767) + ai-memory-db (PostgreSQL 18, `pgvector/pgvector:pg18`)
|
- [x] Portainer stack: ai-memory-server (порт 8767) + ai-memory-db (PostgreSQL 18, `pgvector/pgvector:pg18`) ✅ 2026-07-14
|
||||||
- [ ] Ініціалізація бази `ai_memory` + `CREATE EXTENSION vector;`
|
- [x] Ініціалізація бази `ai_memory` + `CREATE EXTENSION vector;` (авто-міграції при старті) ✅ 2026-07-14
|
||||||
- [ ] Підключення Claude Code до endpoint, e2e перевірка
|
- [x] e2e перевірка: healthz, auth 401, tools/list, повний цикл project/memory, UTF-8 roundtrip, FTS українською ✅ 2026-07-14
|
||||||
|
- [ ] Підключення Claude Code до endpoint (`.mcp.json` / mcp add)
|
||||||
|
|
||||||
## Фаза 3 — Скіли Claude Code
|
## Фаза 3 — Скіли Claude Code
|
||||||
|
|
||||||
|
|||||||
+15
-4
@@ -27,14 +27,25 @@ created: 2026-07-14
|
|||||||
- Repository URL: `http://192.168.0.199:30008/sages/ai-memory-network-mcp-server`
|
- Repository URL: `http://192.168.0.199:30008/sages/ai-memory-network-mcp-server`
|
||||||
- Authentication: увімкнути; username `sages`, password = Gitea API-токен
|
- Authentication: увімкнути; username `sages`, password = Gitea API-токен
|
||||||
- Compose path: `compose.yml`, reference `refs/heads/main`
|
- Compose path: `compose.yml`, reference `refs/heads/main`
|
||||||
- Environment variables: `POSTGRES_PASSWORD`, `API_KEYS` (значення — в Portainer, НЕ в репозиторії)
|
- Environment variables: `POSTGRES_PASSWORD`, `API_KEYS` (значення — в Portainer, НЕ в репозиторії)
|
||||||
|
- Environment variables (додати дві):
|
||||||
|
`POSTGRES_PASSWORD = fe7cc9c59c4ce85c6383375d4258f513d0f1872e229e6bb5`
|
||||||
|
`API_KEYS = amk_477a49815af5b1790e6d35f565f5cc50ccb9a02cf89bf908`
|
||||||
- Порти після деплою: MCP endpoint `http://192.168.0.199:8767/mcp`, healthcheck `/healthz`
|
- Порти після деплою: MCP endpoint `http://192.168.0.199:8767/mcp`, healthcheck `/healthz`
|
||||||
- Redeploy при оновленні коду: кнопка **Pull and redeploy** у стеку
|
- Redeploy при оновленні коду: кнопка **Pull and redeploy** у стеку
|
||||||
|
|
||||||
## e2e перевірка після деплою
|
## e2e перевірка після деплою
|
||||||
|
|
||||||
- [ ] `GET /healthz` → `{"status":"ok"}`
|
- [x] `GET /healthz` → `{"status":"ok"}` ✅ 2026-07-14
|
||||||
- [ ] MCP `initialize` + `tools/list` через `/mcp` з Bearer-ключем
|
- [x] MCP `initialize` + `tools/list` через `/mcp` з Bearer-ключем (без ключа → 401) ✅ 2026-07-14
|
||||||
- [ ] `project_create` → `memory_save` → `memory_query` → `project_save_state` → `project_get_state`
|
- [x] `project_create` → `memory_save` → `memory_query` → `project_save_state` → `project_get_state` ✅ 2026-07-14
|
||||||
|
- [x] UTF-8 roundtrip + FTS українською («їжак» знаходиться) ✅ 2026-07-14
|
||||||
|
|
||||||
|
## Проблеми деплою та рішення (2026-07-14)
|
||||||
|
|
||||||
|
1. **`mkdir /.docker: permission denied` при build у Portainer** — Portainer у TrueNAS Apps працює як uid 568 без writable `$HOME`. Рішення: env `DOCKER_CONFIG=/data/.docker` у конфігурації застосунку Portainer (Apps → portainer → Additional Environment Variables).
|
||||||
|
2. **`ai-memory-db is unhealthy`, у лозі `mkdir /var/lib/postgresql/18: Permission denied`** — образ postgres:18 ініціалізується від uid 999, а bind-mount створюється Docker'ом як root:root. Рішення: `midclt call --job filesystem.chown` → uid/gid 999 на `db-data`.
|
||||||
|
3. **Кирилиця псується при тестах через Windows curl** — `-d` з argv конвертується через ANSI-кодову сторінку → U+FFFD. Це проблема клієнта, не сервера. Тестувати через node `fetch` або `--data-binary @file`.
|
||||||
|
4. **Правило sudoers `cli -c "app *"` зламане** — вимагає літеральних лапок в аргументі; треба виправити на `cli -c app\ *` (окрема задача).
|
||||||
|
|
||||||
Пов'язане: [[Огляд архітектури]], [[Roadmap]]
|
Пов'язане: [[Огляд архітектури]], [[Roadmap]]
|
||||||
|
|||||||
Reference in New Issue
Block a user