Obsidian + Syncthing Setup — 2026-06-08
القرار
د. وائل وافق على إضافة Obsidian (مجاني) + Syncthing (مجاني) بدل Obsidian Sync المدفوع ($4-5/شهر).
القاعدة الذهبية: بديل مجاني أقوى → نأخذه. توفير ~$48-60/سنة + يعمل headless على السيرفر + خصوصية P2P كاملة.
ما تم على السيرفر (Hostinger VPS)
- Syncthing v2.1.1 مثبّت في
/data/.openclaw/tools/bin/syncthing (مسار دائم).
- Config home:
/data/.openclaw/syncthing-config/
- Server Device ID:
WN63NIG-ZDXOOXS-52VKKBM-7UJN5MU-RTKVE5Z-VA3H7QD-VBAJJR6-3P7UDQ6
- GUI: http://127.0.0.1:8384 (user: wael, pass في GUI_CREDENTIALS.txt)
- API key: في GUI_CREDENTIALS.txt (mode 600)
- مجلد المزامنة: id=
openclaw-vault, path=/data/.openclaw/workspace, type=sendreceive, fsWatcher=lحظي
- .stignore: يتجاهل الثقيل (node_modules, projects/MiroFish, media, family-photos, voice, snapshots, caches, صور/فيديو/صوت/pdf/zip). يزامن .md + scripts + json خفيف (~32MB صافي md).
- Discovery/Relay/NAT = True → يعمل خلف NAT بدون فتح منافذ (relay عام مشفّر E2E).
الاستمرارية
- أُضيفت كتلة Syncthing keepalive في
scripts/daemons/daemons_keepalive.sh (cron 31398c3f كل 5min) → يُعاد تشغيله تلقائياً لو مات أو بعد restart السيرفر.
طبقات الحماية الثلاث للمعرفة
1. Syncthing — مزامنة لحظية ثنائية بين السيرفر + أجهزة د. وائل.
2. Git — (اختياري لاحقاً) نسخ تاريخية/تراجع.
3. R2 backup يومي — موجود أصلاً.
تحديث 16:55 — Obsidian mode + Git
- ✅ memory-wiki render mode = obsidian (مطبّق + verified بعد restart). wikilinks + backlinks + dashboards مفعّلة. useOfficialCli=false (التطبيق غير مثبّت على السيرفر).
- ⚠️ مسارات config محمية → عُدّل openclaw.json مباشرة (edit) + restart (نفس درس M-049). backup: openclaw.json.bak-pre-obsidian-.
- ✅ Git layer 4: الـ workspace repo مفعّل، أول commit (980 ملف) + .gitignore (يستثني الثقيل). cron
fc68970c auto-commit كل 6h.
- ملاحظة: .git=154M (شمل ملفات كبيرة قبل .gitignore على المتتبَّع). يمكن تنظيفه لاحقاً بـ git gc/filter لو لزم.
n8n — مثبّت + شغّال (2026-06-08)
- n8n v2.23.4 مثبّت عبر npm global (ليس Docker — dockerd daemon غير شغّال داخل الـ container).
- التشغيل:
/data/.openclaw/n8n-data/start_n8n.sh — host 0.0.0.0 port 5678, tz Asia/Kuwait, secure_cookie=false, diagnostics off.
- الواجهة: http://127.0.0.1:5678 (تُفتح من أي جهاز عبر المتصفّح — لا حاجة لتطبيق).
- الاستمرارية: أُضيف لـ daemons_keepalive.sh (يُعاد تشغيله تلقائياً).
- healthz: {"status":"ok"} verified.
⚠️ Watchdog false-alarm (2026-06-08 17:00)
- أثناء npm install n8n: الحمل بطّأ الـ gateway لحظة → watchdog ظنّه ميتاً → spawn فشل (already running) → تنبيه "Recovery FAILED".
- الحقيقة: إنذار كاذب. 17:04 watchdog أعاد المحاولة ونجح (PID 88590 ثم 88748). صفر تكرار بعده.
- توصية معلّقة: رفع grace period للـ watchdog (20s→45s) لتحمّل الأحمال المؤقتة دون إنذار كاذب.
المتبقي (على أجهزة د. وائل)
- GPD Win Max 2: تثبيت Syncthing + Obsidian، إضافة Server Device ID، فتح vault.
- S24 Ultra: تطبيق "Syncthing" (أو Möbius Sync) + "Obsidian" من المتجر، نفس الربط.
🔴 خطأ حقيقي 17:00 — أنا سبّبت downtime ~4 دقائق (اعتراف + إصلاح)
ما حدث: شغّلت
npm install n8n (ثقيل) بينما النظام مشغول → اختنق الـ gateway → down فعلي 15:00-15:04.
خرق: M-048 (لا عمليات ثقيلة دفعة واحدة). أنا السبب المباشر.
التفاقم: DEBOUNCE_MIN=180s في watchdog_unified.sh → التعافي تأخر 4 دقائق (debounced 71s/123s/174s قبل المحاولة الناجحة 15:04).
الإنذارات وصلت د. وائل (كان يجب كتمها) → غضب محقّ.
الإصلاح المنفّذ:
1. DEBOUNCE_MIN: 180→60s (تعافي أسرع 3×). backup: watchdog_unified.sh.bak-.
2. درس: أي تثبيت ثقيل (npm/pip/apt) → في turn منفصل خفيف، ليس مع عمليات أخرى.
معلّق: كتم false-alarm notifications من الـ watchdog (recovery FAILED الكاذب) — يحتاج فحص منطق الإشعار.
✅ التحسينات #1-#4 منفّذة (2026-06-08 17:20)
- #1 debounce 180→60s ✓ (تعافي أسرع 3×)
- #2 كتم الإنذارات الكاذبة ✓ — watchdog الآن: grace ثانية 25s + لا "FAILED" إلا بعد فشلين متتاليين مؤكّدين (FAILFLAG). يمنع false-alarm العابر.
- #3 Cloudflare quick tunnel لـ n8n ✓ — رابط عام HTTP 200. الرابط الحالي في current_tunnel_url.txt (⚠️ quick=عشوائي يتغيّر عند restart؛ للثبات: named tunnel + domain alqishawi.com المعلّق). أُضيف للـ keepalive.
- #4 قاعدة التثبيت الثقيل ✓ — M-052 في MISTAKES_LEDGER: أي npm/pip/apt install = خطوة معزولة، لا مع restart/فحوصات.
الخدمات الدائمة الآن (كلها في keepalive)
gateway · syncthing · n8n · cloudflared(n8n) · entertainment-hub. RAM: 2.2GB/15GB (13GB حر).
التوصية المعلّقة الوحيدة
ترقية n8n tunnel لـ named tunnel + domain ثابت (alqishawi.com) → رابط لا يتغيّر. يحتاج قرار د. وائل بتفعيل الدومين.