Перейти до вмісту

Імпорт ключів із файлу

Налаштування

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

  • 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 Одне джерело на кожен запис, на паузі.
jackett, prowlarr Їхній ключ заповнює кожен запис indexers з тією самою адресою, у якого немає ключа.
qbittorrent, sabnzbd Завантажувач, на паузі.
nzbget, transmission, deluge Пропускаються. Імпорт поки не вміє їх налаштовувати; додай їх у Settings > Downloaders (завантажувачі).
jellyfin, emby, plex Медіасервер, вимкнений, доки ти його не перевіриш.
smtp, discord, webhook Сповіщення «Email», «Discord» і «Webhook», вимкнені, доки ти їх не перевіриш.
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 KB зупиняє весь імпорт, перш ніж щось буде збережено; повідомлення називає ключ і рядок. Посилання на файл відхиляється.

Особливі поля
Поле Правило
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, підтримай проєкт або пригости мене кавою.