تخطَّ إلى المحتوى

حل المشكلات

جديد هنا

ابحث عن العَرَض الذي تراه، واقرأ السبب، ثم اتبع الحل. تستعمل الأمثلة اسم الحاوية holyarrs؛ فاستعمل اسم حاويتك إن كان مختلفًا.

  1. راقب سجل التشغيل: docker logs -f holyarrs. الأسرار محجوبة فيه. اضغط Ctrl+C لإيقاف المتابعة؛ وتبقى الحاوية تعمل.
  2. شغّل أداة الفحص doctor: docker exec holyarrs /holyarrs doctor. كل سطر يقول OK أو WARN أو FAIL، وكل WARN أو FAIL يذكر طريقة إصلاحه.
  3. ما زلت عالقًا؟ نزّل حزمة دعم واسأل. راجع الحصول على الدعم.

تعذّر الوصول إلى صفحة الويب

رابط إلى تعذّر الوصول إلى صفحة الويب

العَرَض: لا يستطيع المتصفح الاتصال بالعنوان http://your-server:6262.

السبب: الحاوية متوقفة، أو المنفذ غير معيَّن، أو وكيل (proxy) يعترض الطريق.

الحل:

  1. نفّذ docker ps. سترى holyarrs ومعه 0.0.0.0:6262->6262.
  2. إذا ظلت الحاوية تعيد التشغيل، فاقرأ السبب في docker logs holyarrs.
  3. إذا كنت تستعمل مسارًا مثل /holyarrs، فراجع الوكيل العكسي و URL base.

العَرَض: تقول أداة doctor إن مجلدًا غير قابل للكتابة، أو يفشل الاستيراد بخطأ في الأذونات.

السبب: مالك المجلد على الجهاز المضيف لا يطابق PUID و PGID.

الحل: نفّذ أمر chown الذي تقترحه أداة doctor، أو اضبط PUID و PGID على مالك المجلد. وعلى NAS، امنح ذلك المستخدم القراءة والكتابة من شاشة الأذونات. راجع NAS و Synology و Unraid.

العَرَض: تبقى الأعمال ناقصة ولا يصل شيء إلى برنامج التنزيل.

السبب: لا يجيب أي مصدر، أو برنامج التنزيل غير موصول، أو لا يجتاز أي إصدار قواعد الاختيار عندك.

الحل:

  1. افتح Settings > Downloaders (الإعدادات > برامج التنزيل) وانقر Test (اختبار) على برنامج التنزيل. يجب أن ينجح الاختبار.
  2. افتح Settings > Sources (الإعدادات > المصادر) وانقر Test على كل مصدر.
  3. في صفحة العمل، افتح Choose a release (اختيار إصدار) لترى كل نتيجة وأسباب عدم اختيارها.

راجع برامج التنزيل والمصادر.

نُزِّل ولم يُستورد

رابط إلى نُزِّل ولم يُستورد

العَرَض: اكتمل التنزيل في برنامج التنزيل، لكن العمل ليس في المكتبة.

السبب: لا يرى HolyArrs الملف في المسار نفسه، أو لا يستطيع الكتابة في مجلد المكتبة، أو الاستيراد بحاجة إلى قرار.

الحل:

  1. أعطِ HolyArrs وبرنامج التنزيل مجلد التنزيل نفسه في المسار نفسه، مثل /downloads، أو اضبط Downloader’s path (مسار برنامج التنزيل) و HolyArrs’ path (مسار HolyArrs) في إعدادات برنامج التنزيل.
  2. شغّل أداة doctor وأصلح كل FAIL يخص مجلدات التنزيل أو مجلدات المكتبة.
  3. ابحث في قائمة التنزيلات عن العناصر المعلَّمة Needs a decision (بحاجة إلى قرار)، ثم وافق على الخطة أو ألغِها.

الاستيراد ينسخ الملفات بدل الروابط الثابتة

رابط إلى الاستيراد ينسخ الملفات بدل الروابط الثابتة

العَرَض: تقول أداة doctor إن الروابط الثابتة (hardlinks) لا تعمل، أو يتضاعف استهلاك القرص بعد الاستيراد.

السبب: مجلدات التنزيل ومجلدات المكتبة على أقراص مختلفة أو في نقاط تركيب مختلفة.

الحل: ركّب مجلدًا أبًا واحدًا مشتركًا في الحاوية بدل مجلدات منفصلة. راجع المجلدات.

العَرَض: تتوقف الحاوية أو تعيد التشغيل فورًا.

السبب: يذكره سجل التشغيل. والأسباب الشائعة: وجود /config على مشاركة شبكية أو مسار FUSE، أو قسم معطّل.

الحل:

  1. انقل /config إلى قرص محلي إذا طلب سجل التشغيل ذلك. لا يشغّل HolyArrs قاعدة بياناته على مشاركة شبكية.
  2. وإلا فابدأ في الوضع الآمن، وأصلح الخلل من Settings (الإعدادات)، ثم أعد التشغيل بالطريقة العادية.

العَرَض: ميزة قرأت عنها ليست في التطبيق.

السبب: ربما حُجبت في هذا الإصدار من التطبيق.

الحل: راجع الميزات المحجوبة.

الصفحات بلا أسماء أو صور

رابط إلى الصفحات بلا أسماء أو صور

العَرَض: تظهر الأعمال بلا ملصقات أو تفاصيل.

السبب: تعذّر الوصول إلى خادم البيانات الوصفية.

الحل: تحقق من DNS ومن الجدار الناري. يبيّن قسم Network في أداة doctor هل يجيب الخادم.

فحوص أداة doctor وخياراتها

تعمل أداة doctor داخل الحاوية بالمستخدم نفسه الذي يعمل به HolyArrs، فتصطدم بما يصطدم به HolyArrs.

القسم يعرض
App إصدار التطبيق، والمستخدم والمجموعة، وقيمة umask، وهل يعمل داخل حاوية.
Config folder المالك، والحقوق، والمساحة الفارغة، وهل هو على قرص محلي.
Library and download folders هل المجلد موجود، ومالكه، وهل يقبل الكتابة، والمساحة الفارغة، والروابط الثابتة بين مجلدات التنزيل ومجلدات المكتبة.
Network هل يُحَلّ اسم خادم البيانات الوصفية وهل يجيب.
Clock الوقت، والمنطقة الزمنية (TZ)، وتحذير حين تكون الساعة خاطئة بوضوح.
الخيار ما يفعله
-config <folder> يفحص مجلد إعدادات آخر لـ HolyArrs غير /config.
-json يطبع التقرير بصيغة JSON.

رمز الخروج 0 يعني أن لا شيء فشل؛ و1 يعني أن سطرًا يقول FAIL. لا يعرض التقرير مفاتيح ولا كلمات مرور ولا رموزًا أبدًا. وهو يقرأ فقط، ما عدا ملف اختبار صغيرًا يكتبه ثم يزيله. وإذا شُغّل بالمستخدم root، فإنه يسلّم أيضًا مجلد الإعدادات إلى PUID:PGID، كما في التشغيل العادي.

إذا ظل HolyArrs يعيد التشغيل، يفشل docker exec. شغّل أداة doctor في حاوية جديدة بالمجلدات نفسها:

Terminal window
docker run --rm --volumes-from holyarrs -e PUID=<puid> -e PGID=<pgid> -e TZ=<tz> holyarrs/holyarrs:<tag> doctor

ومع Compose: docker compose run --rm holyarrs doctor.

فحص المجلدات عند بدء التشغيل

عند بدء التشغيل، يفحص HolyArrs مجلداته ويكتب في سجل التشغيل سطر ملخص واحدًا، مثل folders: 4 ok, 1 not writable، ثم سطرًا لكل مجلد فيه مشكلة مع حلها. يتوقف الفحص بعد 3 ثوانٍ حتى لا يعلق بدء التشغيل أبدًا. والمجلد الذي يتأخر كثيرًا في الرد يُعدّ غير مفحوص؛ وغالبًا يكون السبب قرصًا يستيقظ من السكون أو مشاركة شبكية بطيئة. وتفحصه أداة doctor بلا حد زمني. راجع سجلات التشغيل.

لا توجد صدفة (shell) في الصورة

لا تحتوي الصورة إلا على برنامج HolyArrs، فتبقى صغيرة وتترك للمهاجم أقل ما يمكن. يفشل الأمر docker exec holyarrs sh عن قصد. ولنظرة أقرب، شغّل بجانبها حاوية مساعدة مؤقتة:

Terminal window
docker run --rm -it --pid container:holyarrs --network container:holyarrs --volumes-from holyarrs busybox sh

ترى هذه الحاوية عملية HolyArrs، وتشاركه شبكته، وفيها المجلدات نفسها في المسارات نفسها. وهي تعمل بالمستخدم root، فانظر ولا تغيّر: الملف المكتوب بالمستخدم root قد لا يستطيع HolyArrs قراءته. وللاختبار بمستخدم HolyArrs، أضف --user <PUID>:<PGID>.

معرفة إصدار التطبيق
Terminal window
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs

ويعرض قسم App في أداة doctor الشيء نفسه.

HolyArrs مجاني. إذا وفّر عليك وقتًا، امنحه نجمة على GitHub أو ادعمه ماليًا أو ادعُني إلى فنجان قهوة.