رفتن به محتوا

عیب‌یابی

تازه‌وارد

نشانهٔ مشکل خود را پیدا کنید، علت را بخوانید و راه‌حل را دنبال کنید. مثال‌ها از نام کانتینر 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 وصل شود.

علت: کانتینر متوقف است، پورت نگاشت نشده یا یک پراکسی سر راه است.

راه‌حل:

  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 (نیازمند تصمیم) بررسی کنید و طرح را تأیید یا رد کنید.
پیوند به وارد کردن‌ها کپی می‌شوند، نه hardlink

نشانه: doctor می‌گوید hardlinkها کار نمی‌کنند، یا بعد از وارد کردن‌ها مصرف دیسک دو برابر می‌شود.

علت: پوشه‌های دانلود و کتابخانه روی دیسک‌ها یا نگاشت‌های متفاوت هستند، یا دیسک نمی‌تواند hardlink بسازد (DrivePool، بسیاری از NASها و اشتراک‌های SMB، Docker Desktop روی Windows). باز هم هر فایل فقط یک بار نوشته می‌شود. دانلودهای تمام‌شدهٔ یوزنت وقتی با کتابخانه روی یک دیسک باشند جابه‌جا می‌شوند.

راه‌حل: به‌جای نگاشت‌های جدا، یک پوشهٔ والد مشترک را در کانتینر نگاشت کنید. پوشه‌ها را ببینید.

HolyArrs بالا نمی‌آید

پیوند به HolyArrs بالا نمی‌آید

نشانه: کانتینر متوقف می‌شود یا بلافاصله دوباره راه می‌افتد.

علت: لاگ آن را نام می‌برد. موارد رایج: /config روی یک اشتراک شبکه یا مسیر FUSE، یا یک بخش خراب.

راه‌حل:

  1. اگر لاگ همین را می‌گوید، /config را به یک دیسک محلی ببرید. HolyArrs پایگاه دادهٔ خود را روی اشتراک شبکه اجرا نمی‌کند.
  2. وگرنه در حالت امن شروع کنید، آن را از Settings (تنظیمات) درست کنید و دوباره عادی راه‌اندازی کنید.

نشانه: قابلیتی که دربارهٔ آن خوانده‌اید در برنامه نیست.

علت: ممکن است در این نسخه نگه داشته شده باشد.

راه‌حل: قابلیت‌های نگه‌داشته‌شده را ببینید.

صفحه‌ها نام و تصویر ندارند

پیوند به صفحه‌ها نام و تصویر ندارند

نشانه: عنوان‌ها بدون پوستر و جزئیات نشان داده می‌شوند.

علت: به سرور فراداده نمی‌شود وصل شد.

راه‌حل: DNS و فایروال خود را بررسی کنید. بخش Network در doctor نشان می‌دهد سرور جواب می‌دهد یا نه.

بررسی‌ها و گزینه‌های doctor

doctor درون کانتینر و با همان کاربری اجرا می‌شود که HolyArrs با آن کار می‌کند، پس به همان چیزی برمی‌خورد که HolyArrs برمی‌خورد.

بخش چه نشان می‌دهد
App نسخه، کاربر و گروه، umask، و اینکه در کانتینر اجرا می‌شود یا نه.
Config folder صاحب، دسترسی‌ها، فضای خالی، و اینکه روی دیسک محلی است یا نه.
Library and download folders وجود، صاحب، قابل‌نوشتن‌بودن، فضای خالی، و hardlinkها بین پوشه‌های دانلود و کتابخانه.
Network اینکه نام سرور فراداده resolve می‌شود و جواب می‌دهد یا نه.
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 آن را بدون محدودیت زمان بررسی می‌کند. لاگ‌ها را ببینید.

ایمیج شل ندارد

ایمیج فقط برنامهٔ 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 به آن ستاره بدهید، حمایت مالی کنید یا برای من یک قهوه بخرید.