Перейти к содержимому

Устранение неполадок

Новичкам

Найдите свой признак проблемы, прочитайте причину и выполните решение. В примерах контейнер называется 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 (требует решения) и одобрите план или откажитесь от него.

При импорте получаются копии, а не жёсткие ссылки

Ссылка на «При импорте получаются копии, а не жёсткие ссылки»

Признак проблемы: doctor сообщает, что жёсткие ссылки (hardlink) не работают, или после импорта занятое место на диске удваивается.

Причина: папки загрузок и Медиатеки лежат на разных дисках или точках монтирования.

Решение: смонтируйте в контейнер одну общую родительскую папку вместо отдельных. См. Папки.

Признак проблемы: контейнер сразу останавливается или перезапускается.

Причина: она названа в журнале. Частые причины: /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. В отчёте никогда нет ключей, паролей и токенов. Doctor только читает, не считая маленького проверочного файла, который он записывает и удаляет. Если его запустить от 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, станьте спонсором или угостите меня кофе.