obsidian auto-sync 2026-04-17 23:02:26
This commit is contained in:
@@ -30,21 +30,34 @@ Vault `~/knowledge-base` хранился только в Gitea (`git.dttb.ru/ol
|
||||
### Архитектура
|
||||
|
||||
```
|
||||
Mac (~/knowledge-base)
|
||||
│ git push (ручной / obsidian-git плагин)
|
||||
│ rclone bisync → Nextcloud (Stop-hook + ручной sync.sh)
|
||||
iPhone Obsidian / Nextcloud клиенты
|
||||
↕ HTTPS WebDAV
|
||||
Nextcloud dttb.ru (VM 250)
|
||||
↕ Apple File Provider API (macOS 26+)
|
||||
~/Library/CloudStorage/Nextcloud-admin@dttb․ru/Knowledge Base/
|
||||
↕ rclone bisync LOCAL↔LOCAL (launchd каждые 60 сек)
|
||||
~/knowledge-base/ ◄── primary workspace
|
||||
│ git push/pull + obsidian-git autoPush (5 мин)
|
||||
▼
|
||||
Gitea (git.dttb.ru) ◄───── source of truth для серверных клиентов
|
||||
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
|
||||
```
|
||||
|
||||
### Ключевая находка: local-to-local bisync через launchd
|
||||
|
||||
Первая попытка была rclone bisync ↔ WebDAV через launchd — падала с `Host unreachable` (Go из launchd-контекста macOS не может коннектиться на LAN). Обход:
|
||||
1. Nextcloud.app настроен через webflow OAuth на admin@dttb.ru
|
||||
2. macOS File Provider (native Apple API, не Qt) зеркалит весь `admin@dttb.ru` в `~/Library/CloudStorage/Nextcloud-admin@dttb․ru/`
|
||||
3. rclone bisync теперь работает **между двумя локальными путями** — без network-syscalls, launchd-проблема обойдена
|
||||
4. File Provider сам делает upload/download в Nextcloud (Apple-подписан, имеет полный network context)
|
||||
|
||||
**Задержка:** iPhone → Mac vault ≈ File Provider (10-30с) + rclone launchd (≤60с) ≈ 90 сек max.
|
||||
|
||||
### Расширение на серверы (2026-04-17)
|
||||
|
||||
| Хост | Путь | Режим | Триггер | Скрипт |
|
||||
@@ -100,13 +113,16 @@ GUI Nextcloud.app запускается в Aqua-session (не launchd), раб
|
||||
**На Mac:**
|
||||
```
|
||||
~/.config/nextcloud-kb/
|
||||
├── app-password chmod 600
|
||||
├── rclone.conf chmod 600
|
||||
├── app-password chmod 600 (для WebDAV ручного sync.sh)
|
||||
├── rclone.conf chmod 600
|
||||
├── rclone-filter.lst
|
||||
├── sync.sh chmod 700
|
||||
├── sync.log логи sync-обёртки
|
||||
├── rclone.log подробные логи rclone
|
||||
└── sync.lock.d/ mkdir-lock (временный)
|
||||
├── sync.sh chmod 700 (WebDAV bisync — ручной + Stop-hook)
|
||||
├── sync-local.sh chmod 700 (local bisync — через launchd)
|
||||
├── sync.log, sync-local.log логи
|
||||
├── rclone.log, rclone-local.log подробные rclone логи
|
||||
└── sync.lock.d/ sync-local.lock.d/ atomic locks
|
||||
|
||||
~/Library/LaunchAgents/ru.dttb.kb-sync-local.plist StartInterval=60s
|
||||
```
|
||||
|
||||
**На code-server (LXC 132):**
|
||||
|
||||
Reference in New Issue
Block a user