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

Импорт ключей из файла

Настройка

Заполните один файл своими Источниками, загрузчиками, медиасерверами, сайтами субтитров и почтой, импортируйте его, и вводить каждый ключ в Настройках не придётся.

  • HolyArrs работает в Docker, его конфигурация лежит в /config.
  • Вы можете создать ключ API владельца в Settings > API > API keys (Настройки > API > Ключи API).
  1. Скопируйте holyarrs-secrets.template.yaml в holyarrs-secrets.yaml.

  2. Заполните то, чем пользуетесь. Остальное оставьте пустым; пустое значит «пропустить».

  3. Сделайте так, чтобы читать файл могли только вы:

    Terminal window
    chmod 600 holyarrs-secrets.yaml
  4. Смонтируйте его в контейнер только для чтения:

    volumes:
    - /srv/holyarrs/config:/config
    - /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro
  5. Создайте ключ API владельца с областью доступа admin (администратор) в Settings > API > API keys. Впишите его в блок holyarrs в файле вместе с адресом http://127.0.0.1:6262.

  6. Сделайте пробный запуск. Он ничего не меняет:

    Terminal window
    docker exec holyarrs /holyarrs import-secrets -file /run/secrets/holyarrs.yaml -dry-run

    Вы увидите по одной строке would set на каждый элемент.

  7. Запустите по-настоящему (та же команда без -dry-run). Вы увидите строки set и код выхода 0.

  8. Проверьте новые Источники и загрузчики, затем возобновите их. Проверьте новые медиасерверы и оповещения, затем включите их.

  9. Удалите файл на хосте (см. Удалите файл). Удалите и ключ API, если он вам больше не нужен.

Чем становится каждый блок

Ссылка на «Чем становится каждый блок»
В файле Чем становится
trakt.client_id Ключ приложения Trakt (Settings > Outside lists (Настройки > Внешние списки)).
tmdb, tvdb Принимаются из старых файлов. Метаданным ключи не нужны.
opensubtitles, subdl Сайт субтитров с вашей учётной записью.
addic7ed Сайт субтитров Addic7ed, только сериалы.
indexers По одному Источнику на запись, paused (на паузе).
jackett, prowlarr Их ключ подставляется в любую запись indexers с тем же адресом, у которой нет ключа.
qbittorrent, sabnzbd Загрузчик, paused.
nzbget, transmission, deluge Пропускаются. Импорт пока не умеет их настраивать; добавьте их в Settings > Downloaders (Настройки > Загрузчики).
jellyfin, emby, plex Медиасервер, off (выключен), пока вы его не проверите.
smtp, discord, webhook Оповещения «Email», «Discord» и «Webhook», off, пока вы их не проверите.
radarr, sonarr, lidarr, prowlarr, bazarr, seerr Ключ, сохранённый для Move from other apps (переезд с других приложений).
holyarrs Нужен только для связи с HolyArrs, пока он работает. Никогда не сохраняется.

Каждый ключ попадает в зашифрованное хранилище, так же как ключ, введённый в Настройках.

Переключатель локальной сети

Ссылка на «Переключатель локальной сети»

В каждом блоке с адресом можно указать allow_local_network: true. Это разрешает элементу обращаться к этому компьютеру или к вашей домашней сети (192.168.x.x, 10.x.x.x, имя контейнера). Без него элемент достаёт только до интернета, поэтому загрузчик в домашней сети не ответит. HolyArrs никогда не угадывает это по адресу. Это тот же переключатель, что May reach the local network (может обращаться к локальной сети) в Настройках.

Запустите одноразовый контейнер на той же конфигурации. Он сохраняет прямо в папку конфигурации, и блок holyarrs ему не нужен:

Terminal window
docker stop holyarrs
docker run --rm -e PUID=1000 -e PGID=1000 \
-v /srv/holyarrs/config:/config \
-v /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro \
holyarrs/holyarrs:latest import-secrets -file /run/secrets/holyarrs.yaml
docker start holyarrs

Укажите те же PUID и PGID, что у приложения, иначе папка конфигурации перейдёт к 1000:1000. У пользователя PUID должны быть права на чтение файла. Если вы используете HOLYARRS_MASTER_KEY_FILE, дайте одноразовому контейнеру ту же переменную и ту же точку монтирования.

Запускать повторно безопасно. Совпавшие элементы помечаются unchanged; сохраняются только изменённые.

Элемент По чему сопоставляется
Источники название
Загрузчики, медиасерверы тип и адрес
Оповещения название и тип
Сайты субтитров, прежние приложения тип

Источник или загрузчик, у которого изменился адрес или ключ, снова ставится на паузу. Если вы сами возобновили его, повторный запуск оставит его работать. Пустой api_key в записи indexers сохраняет прежний ключ; чтобы удалить его, добавьте clear_key: true.

С флагом -delete команда перезаписывает файл нулями и удаляет его, но только после запуска, в котором ничего не сорвалось. Файл, смонтированный только для чтения, изнутри контейнера удалить нельзя, поэтому удалите его на хосте:

Система Команда
Linux shred -u holyarrs-secrets.yaml
macOS rm -P holyarrs-secrets.yaml
Windows Remove-Item holyarrs-secrets.yaml, затем очистите Корзину.

На SSD и в файловых системах с копированием при записи старые блоки могут остаться на диске. Сами ключи теперь лежат в зашифрованном хранилище.

Признак проблемы Причина Решение
Файл могут читать другие пользователи Слишком широкие права. Выполните chmod 600. В Windows держите его в папке, которую можете открыть только вы.
Неизвестный ключ остановил импорт Опечатка или табуляция в указанной строке. Исправьте эту строку. Ничего не было сохранено.
Обычный http отклонён Адрес holyarrs находится не на этом компьютере. Запускайте внутри контейнера с http://127.0.0.1:6262 или используйте https.
Загрузчик в домашней сети не отвечает Нет разрешения на локальную сеть. Укажите allow_local_network: true в этом блоке.
Одноразовый контейнер сменил владельцев папок Другие PUID/PGID. Укажите PUID и PGID приложения.
-delete ничего не сделал Что-то сорвалось, или файл смонтирован только для чтения. Удалите его на хосте.
Флаги и коды выхода
Флаг Что делает По умолчанию
-file <path> Файл с секретами. нет
-dry-run Только сообщить, что было бы задано. выключен
-config <folder> Папка конфигурации. /config
-delete После запуска без сбоев перезаписать файл нулями и удалить его. выключен
-forget-move-credentials Удалить все сохранённые ключи прежних приложений и остановиться. выключен
-allow-http-lan Разрешить обычный http:// к адресу в домашней сети. Выводит предупреждение. выключен
-allow-readable-file Принять файл, который могут читать другие пользователи. Docker Desktop в Windows показывает все файлы как доступные для чтения. выключен

Адрес holyarrs должен быть https:// или обычным http:// только к этому компьютеру (127.0.0.1, ::1, localhost). По обычному http ваш ключ владельца и весь файл передаются без шифрования.

Код выхода Что значит
0 Все элементы обработаны успешно.
1 С каким-то элементом произошёл сбой. Исправьте файл и запустите снова.
2 Неверная командная строка или файл.
Вывод

По одной строке на элемент: set (или would set при пробном запуске, иногда с примечанием), unchanged, skipped (empty), skipped (why) или failed: why. Команда никогда не выводит ключ, пароль, токен или адрес. В Историю попадает одно событие, только с количествами. Ошибка, которая показала бы значение из вашего файла, показывает вместо него [hidden].

Формат файла

Небольшое строгое подмножество YAML:

  • блоки задаются отступами из пробелов, никогда не табуляцией; списки через - ,
  • значения пишутся как есть, в "double quotes" или в 'single quotes' (символ ' внутри одинарных кавычек пишите дважды),
  • # начинает комментарий в начале строки или после пробела вне кавычек, так что пароль, в котором есть #, берите в кавычки,
  • берите в кавычки значение, которое начинается с &, *, !, |, >, [, {, %, @ или обратной кавычки либо содержит : .

Неизвестный ключ или файл больше 256 КБ останавливает весь импорт до того, как что-либо сохранено; в сообщении указаны ключ и строка. Ссылка на файл вместо самого файла отклоняется.

Особые поля
Поле Правило
SABnzbd Нужен полный api_key. nzb_key, имя пользователя или пароль пропускаются и никогда не сохраняются.
tvdb.api_key, tvdb.unique_user_key, trakt.redirect_urls Принимаются и пропускаются.
smtp.host Только имя сервера, без схемы и порта.
smtp.port От 1 до 65535. По умолчанию 587.
smtp.from Один обычный адрес электронной почты.
Блоки прежних приложений Используются в Move from other apps с Use the saved key (использовать сохранённый ключ). Никогда не показываются, доступны только владельцу, удаляются после одного успешного чтения.

HolyArrs бесплатен. Если он сэкономил вам время, поставьте звезду на GitHub, станьте спонсором или угостите меня кофе.