حلّ ديسكورد

فشل Obsidian LiveSync مع CouchDB على CasaOS: ما الذي يجب ضبطه؟

A CasaOS user repeatedly failed to install or start an Obsidian LiveSync CouchDB app, while replies disagreed on whether the BigBear image itself was broken.

الخلاصة الرئيسية: لا تحكم بأن الصورة معطوبة استنادًا إلى خطأ التثبيت وحده. تتطلب LiveSync المستضافة ذاتيًا بيانات اعتماد CouchDB صالحة، وتخزينًا دائمًا قابلًا للكتابة، وتهيئة، وCORS، ونقطة نهاية يمكن الوصول إليها. وقد يظل قالب التطبيق بنقرة واحدة بحاجة إلى هذه القيم.

لقطة شاشة لفشل تثبيت CouchDB لـ Obsidian LiveSync في CasaOS
استخدم إعدادات الحاوية والسجلات المُنشأة لتحديد طبقة العطل.
خطأ حاوية CouchDB من إعداد Obsidian LiveSync في CasaOS
يحدد خطأ الحاوية الدقيق ما إذا كان ينبغي إصلاح بيانات الاعتماد أو التخزين أو التهيئة أو الشبكة.

عيّن متغيرات CouchDB المطلوبة

تتطلب متغيرات CouchDB في المشروع الأساسي بيانات اعتماد المسؤول واسم قاعدة بيانات:

COUCHDB_USER=admin
COUCHDB_PASSWORD=strong-random-password
COUCHDB_DATABASE=obsidiannotes

اقرأ سجلات الحاوية قبل إجراء تعديلات عشوائية

docker ps -a | grep -i couch
docker logs --tail 200 <container-name>

ابحث عن المتغيرات المفقودة، وأخطاء الأذونات، وفشل تحميل الإعدادات، وفشل التهيئة، أو تعارضات المنافذ.

يجب أن تكون وحدة التخزين الدائمة قابلة للكتابة

تشير إعدادات تخزين CouchDB في المشروع الأساسي إلى أن مالك مجلدي البيانات والإعدادات قد يكون UID 5984. وقد يؤدي المالك غير الصحيح إلى إيقاف الحاوية.

تحقق من CouchDB قبل Obsidian

curl -u admin:YOUR_PASSWORD http://SERVER_IP:5984/_up

يتوقع فحص سلامة CouchDB في المشروع الأساسي حالة سليمة قبل إعداد الإضافة.

هيّئ قاعدة بيانات LiveSync

تشغيل عملية CouchDB ليس الإعداد الكامل. شغّل مسار التهيئة الحالي من المشروع الأساسي حتى تتوفر قيم قاعدة البيانات والإعدادات المطلوبة قبل توصيل إضافة Obsidian.

تحتاج المزامنة عن بُعد إلى مسار HTTPS آمن

يوفر المشروع الأساسي الآن ملفات تعريف لـ Caddy وTailscale وCloudflare. استخدم HTTP عاديًا للاختبار المحلي فقط؛ وينبغي أن تستخدم المزامنة عن بُعد أو عبر الهاتف مسار HTTPS مدعومًا.

يعرض BigBear حاليًا حزمة Obsidian LiveSync المستندة إلى CouchDB. قارن ملف compose المُنشأ بالمتغيرات الواردة في المشروع الأساسي بدلًا من افتراض صحة أيٍّ منهما.

يتضمن دليل تطبيقات ZimaOS أحمال عمل مرتبطة بـ Obsidian، كما يساعد إعداد Docker في CasaOS على توضيح إعدادات القالب مقابل إعدادات وقت التشغيل.

ZimaBoard 2 كافٍ لحِمل قاعدة البيانات الخفيف هذا؛ فمتانة التخزين أهم من القدرة الحوسبية الخام.

قارن القالب بملف compose الحالي للمصدر الأصلي

يشغّل ملف compose الحالي للمصدر الأصلي CouchDB باستخدام متغيرات اسم المستخدم/كلمة المرور المطلوبة، وبيانات دائمة، وملف إعدادات LiveSync مخصص. إذا اختلف قالب من المجتمع، فحدّد الفرق قبل وصف صورة الحاوية بأنها معيبة. فالصورة وقالب compose وتهيئة التطبيق طبقات منفصلة.

لا تفرض مستخدم حاوية CouchDB بشكل عشوائي

يحذّر ملف compose الحالي للمصدر الأصلي صراحةً من تعيين قيمة ثابتة المستخدم: لأن نقطة إدخال CouchDB تبدأ بامتيازات كافية لكتابة إعداداتها ثم تتخلى عن هذه الامتيازات لصالح معرّف مستخدم CouchDB. يمكن لقالب يتجاوز هذا السلوك أن يتسبب في فشل الأذونات أثناء بدء التشغيل.

تحقق من CORS بعد عمل نقطة نهاية الصحة

حالة صحية /_up يثبت الرد أن CouchDB قيد التشغيل، لكنه لا يثبت أن عملاء Obsidian يمكنهم استخدامه. اختبر ترويسات الرد باستخدام مصدر Obsidian وتأكد من أن إعداد LiveSync يسمح بمصادر سطح المكتب/الهاتف المحمول المتوقعة.

أبقِ قاعدة البيانات خارج نطاق الإنترنت المفتوح

المنفذ 5984 الخاص بـ CouchDB هو نقطة نهاية لقاعدة البيانات، وليس صفحة مشاركة للمستهلكين. للمزامنة عن بُعد، يُفضّل استخدام أنماط HTTPS المدعومة من المصدر الأصلي—مثل Caddy أو Tailscale أو Cloudflare—بدلًا من إعادة توجيه جهاز التوجيه مباشرةً إلى المنفذ 5984.

استخدم ترتيب استكشاف الأخطاء وإصلاحها هذا

  1. تبقى الحاوية قيد التشغيل.
  2. /_up تُرجع حالة صحية مع بيانات الاعتماد.
  3. تبقى البيانات الدائمة محفوظة بعد إعادة التشغيل.
  4. اكتملت التهيئة.
  5. إعداد CORS صحيح.
  6. تعمل نقطة نهاية HTTPS عن بُعد.
  7. يتطابق معرّف URI الخاص بإضافة Obsidian واسم المستخدم وكلمة المرور وقاعدة البيانات مع قيم الخادم.

إن الانتقال مباشرةً إلى إعدادات الإضافة قبل تنفيذ الخطوات من 1 إلى 5 يجعل استكشاف الأخطاء وإصلاحها أصعب بكثير.

الأسئلة الشائعة

هل صورة BigBear معيبة بالتأكيد؟

لم يثبت النقاش الأصلي ذلك. قارن ملف compose الخاص به بمتطلبات المصدر الحالي أولًا.

لماذا يمكن لـ CouchDB أن يعمل بينما يفشل Obsidian؟

يجب أن تتطابق تهيئة قاعدة البيانات وCORS وبيانات الاعتماد واسم قاعدة البيانات وعنوان URL لنقطة النهاية.