decision: +code-server auto-sync (cron 5м) и openclaw read-only (cron 15м)

This commit is contained in:
dttb
2026-04-17 22:45:18 +03:00
parent f17e70400d
commit b9f0700a2e

View File

@@ -30,12 +30,31 @@ Vault `~/knowledge-base` хранился только в Gitea (`git.dttb.ru/ol
### Архитектура
```
~/knowledge-base/ ← один источник истины
├── .git/ push в Gitea (git.dttb.ru) [история, review]
└── файлы → rclone bisync на Nextcloud [мгновенный sync]
через sync.sh, триггер Stop-hook
Mac (~/knowledge-base)
git push (ручной / obsidian-git плагин)
rclone bisync Nextcloud (Stop-hook + ручной sync.sh)
Gitea (git.dttb.ru) ◄───── source of truth для серверных клиентов
├─► code-server LXC 132 /root/knowledge-base
│ cron */5: kb-autosync.sh (pull + auto-commit + push)
└─► openclaw LXC 137 /root/knowledge-base (READ-ONLY)
cron */15: kb-pull.sh (pull --ff-only only)
Nextcloud (dttb.ru/Knowledge Base) ◄── сервисная копия для iPhone Obsidian
```
### Расширение на серверы (2026-04-17)
| Хост | Путь | Режим | Триггер | Скрипт |
|------|------|-------|---------|--------|
| Mac | `~/knowledge-base` | RW, git + rclone+NC | Stop-hook Claude, ручной | `~/.config/nextcloud-kb/sync.sh` |
| code-server LXC 132 | `/root/knowledge-base` | RW git | cron `*/5 * * * *` | `/usr/local/bin/kb-autosync.sh` |
| openclaw LXC 137 | `/root/knowledge-base` | **RO git** (push disabled) | cron `*/15 * * * *` | `/usr/local/bin/kb-pull.sh` |
**openclaw read-only** через `git remote set-url --push origin DISABLED_READONLY` — любая попытка push из бота завершится ошибкой "Could not resolve host", случайно перезаписать не сможет.
### Компоненты
- **`/Users/ai/.config/nextcloud-kb/rclone.conf`** — WebDAV ремоут `kbsync:` на `https://dttb.ru/remote.php/dav/files/admin`, app password в obscured виде
@@ -77,6 +96,8 @@ GUI Nextcloud.app запускается в Aqua-session (не launchd), раб
- `.git/` **не** в Nextcloud — git и nextcloud параллельные каналы, не вложенные
### Файлы экосистемы
**На Mac:**
```
~/.config/nextcloud-kb/
├── app-password chmod 600
@@ -88,6 +109,26 @@ GUI Nextcloud.app запускается в Aqua-session (не launchd), раб
└── sync.lock.d/ mkdir-lock (временный)
```
**На code-server (LXC 132):**
```
/root/knowledge-base/ полный RW git-клон
/usr/local/bin/kb-autosync.sh cron-скрипт */5
/var/log/kb-autosync.log логи
/tmp/kb-autosync.lock flock
```
**На openclaw (LXC 137):**
```
/root/knowledge-base/ RO git-клон (push disabled)
/usr/local/bin/kb-pull.sh cron-скрипт */15
/var/log/kb-pull.log логи
```
### Сквозной тест 2026-04-17 (пройден)
- Mac создаёт файл → `git push` → code-server `kb-autosync.sh` fast-forward через 0-5 мин → openclaw `kb-pull.sh` ff-only через 0-15 мин ✓
- code-server создаёт файл → auto-commit + push → Mac `git pull` подтягивает ✓
- Mac удаляет файл → push → обе LXC удаляют у себя при следующем sync ✓
### Credentials Nextcloud (dttb.ru)
- URL: `https://dttb.ru`
- User: `admin` / пароль `1qaz!QAZ`