Radarr, Sonarr и другим Starrs в настоящее время не хватает встроенного механизма для обработки зависших загрузок, этот проект призван решить эту проблему.
Swaparr вдохновлен веткой Reddit «Я написал сценарий, который заменяет..» от Douglas96.
Если Swaparr был вам полезен и вы цените возможности программного обеспечения с открытым исходным кодом, подумайте о том, чтобы дать этому репозиторию звезду. Ваш жест во многом поддержит наши усилия и поможет другим открыть для себя Свапарр!
Swaparr незаметно работает в фоновом режиме, предлагая полные возможности настройки и четкую видимость через журналы консоли. Его основная функция — решать проблему остановок загрузки в экземплярах Starr.
Автоматическое обнаружение: Swaparr сканирует все активные загрузки в ваших экземплярах Starr каждые 10 минут (регулируется), чтобы выявить потенциальные замедления.
Система предупреждений: идентифицированным загрузкам присваивается предупреждение, и этот цикл оценки периодически повторяется. Если загрузка накапливает максимально допустимое количество страйков, Swaparr автоматически удаляет ее из вашего экземпляра.
Кастомизация: Swaparr предлагает варианты настройки для точной настройки поведения при нанесении ударов.
Предупреждение
Swaparr все еще находится в стадии бета-тестирования, до выхода версии 1.0.0
все может измениться.
Требуется Docker и его плагин Compose. Ниже приведена таблица того, как установить оба для вашей системы:
Операционная система | Официальные инструкции |
---|---|
Линукс | docs.docker.com/../linux-install |
MacOS | docs.docker.com/.../mac-install |
Окна | docs.docker.com/.../windows-install |
Начните с предоставленного файла компоновки в качестве основы и настройте его, исключив или изменив любые службы.
версия: '3'сервисы: радар: изображение: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-radarrrestart: если-stoppedenvironment: - BASEURL=http://127.0.0.1:7878 # IP или полное доменное имя (обязательно) - APIKEY=7f3a8..cbc07 # Ключ API радара (обязательно) - PLATFORM=radarr # "radarr", "sonarr".. (Необязательно) по умолчанию: радар - MAX_STRIKES=3 # Положительное число (Необязательно) по умолчанию: 3 - SCAN_INTERVAL=10м # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 10м - MAX_DOWNLOAD_TIME=2ч # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 2h — IGNORE_ABOVE_SIZE=25 ГБ # 1 ТБ, 1 ГБ, 1 МБ и т. д. (Необязательно) по умолчанию: 25 ГБ — REMOVE_FROM_CLIENT=true # Логическое значение (Необязательно) по умолчанию: true # -- (Необязательный) sonarr: изображение: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-sonarrrestart: if-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP или полное доменное имя (обязательно) - APIKEY=7f3a8..cbc07 # Ключ API Sonarr (обязательно) - PLATFORM=sonarr # "radarr", "sonarr".. (Необязательно) по умолчанию: радар - MAX_STRIKES=3 # Положительное число (Необязательно) по умолчанию: 3 - SCAN_INTERVAL=10м # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 10м - MAX_DOWNLOAD_TIME=2ч # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 2h — IGNORE_ABOVE_SIZE=25 ГБ # 1 ТБ, 1 ГБ, 1 МБ и т. д. (Необязательно) по умолчанию: 25 ГБ — REMOVE_FROM_CLIENT=true # Логическое значение (Необязательно) по умолчанию: true
версия: '3'сервисы: радар: изображение: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-radarrrestart: если-stoppedenvironment: - BASEURL=http://127.0.0.1:7878 # IP или полное доменное имя (обязательно) - APIKEY=7f3a8..cbc07 # Ключ API радара (обязательно) - PLATFORM=radarr # "radarr", "sonarr".. (Необязательно) по умолчанию: радар - MAX_STRIKES=3 # Положительное число (Необязательно) по умолчанию: 3 - SCAN_INTERVAL=10м # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 10м - MAX_DOWNLOAD_TIME=2ч # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 2h — IGNORE_ABOVE_SIZE=25 ГБ # 1 ТБ, 1 ГБ, 1 МБ и т. д. (Необязательно) по умолчанию: 25 ГБ — REMOVE_FROM_CLIENT=true # Логическое значение (Необязательно) по умолчанию: true # -- (Необязательный) sonarr: изображение: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-sonarrrestart: if-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP или полное доменное имя (обязательно) - APIKEY=7f3a8..cbc07 # Ключ API Sonarr (обязательно) - PLATFORM=sonarr # "radarr", "sonarr".. (Необязательно) по умолчанию: радар - MAX_STRIKES=3 # Положительное число (Необязательно) по умолчанию: 3 - SCAN_INTERVAL=10м # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 10м - MAX_DOWNLOAD_TIME=2ч # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 2h — IGNORE_ABOVE_SIZE=25 ГБ # 1 ТБ, 1 ГБ, 1 МБ и т. д. (Необязательно) по умолчанию: 25 ГБ — REMOVE_FROM_CLIENT=true # Логическое значение (Необязательно) по умолчанию: true # -- (Необязательный) лидарр: изображение: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-lidarrrestart: if-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP или полное доменное имя (обязательно) - APIKEY=7f3a8..cbc07 # Ключ API Lidarr (обязательно) - PLATFORM=lidarr # "radarr", "sonarr".. (Необязательно) по умолчанию: радар - MAX_STRIKES=3 # Положительное число (Необязательно) по умолчанию: 3 - SCAN_INTERVAL=10м # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 10м - MAX_DOWNLOAD_TIME=2ч # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 2h — IGNORE_ABOVE_SIZE=25 ГБ # 1 ТБ, 1 ГБ, 1 МБ и т. д. (Необязательно) по умолчанию: 25 ГБ — REMOVE_FROM_CLIENT=true # Логическое значение (Необязательно) по умолчанию: true # -- (Необязательный) readarr: изображение: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-readarrrestart: if-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP или полное доменное имя (обязательно) - APIKEY=7f3a8..cbc07 # Ключ API Readarr (обязательно) - PLATFORM=readarr # "radarr", "sonarr".. (Необязательно) по умолчанию: радар - MAX_STRIKES=3 # Положительное число (Необязательно) по умолчанию: 3 - SCAN_INTERVAL=10м # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 10м - MAX_DOWNLOAD_TIME=2ч # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 2h — IGNORE_ABOVE_SIZE=25 ГБ # 1 ТБ, 1 ГБ, 1 МБ и т. д. (Необязательно) по умолчанию: 25 ГБ — REMOVE_FROM_CLIENT=true # Логическое значение (Необязательно) по умолчанию: true # -- (Необязательный) whisparr: изображение: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-whisparrrestart: if-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP или полное доменное имя (обязательно) - APIKEY=7f3a8..cbc07 # Ключ API Whisparr (обязательно) - PLATFORM=whisparr # "radarr", "sonarr".. (Необязательно) по умолчанию: радар - MAX_STRIKES=3 # Положительное число (Необязательно) по умолчанию: 3 - SCAN_INTERVAL=10м # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 10м - MAX_DOWNLOAD_TIME=2ч # 1д, 6ч, 30м и т.д.. (Необязательно) по умолчанию: 2h — IGNORE_ABOVE_SIZE=25 ГБ # 1 ТБ, 1 ГБ, 1 МБ и т. д. (Необязательно) по умолчанию: 25 ГБ — REMOVE_FROM_CLIENT=true # Логическое значение (Необязательно) по умолчанию: true
Чтобы запустить Swaparr, выполните следующую команду:
docker compose up -d
Вы можете отслеживать деятельность Swaparr и отслеживать обработку загрузок, выполнив следующую команду. Опустите параметр
, чтобы просмотреть журналы для всех платформ:
docker compose logs
Чтобы выключить Swaparr, выполните следующую команду:
docker compose down
Обновить Swaparr очень просто: извлеките последние изображения и перезапустите службу:
docker compose pull
docker compose down
docker compose up -d
Краткое изложение, которое прольет вам свет на несколько вещей:
Имя | По умолчанию | Описание |
---|---|---|
БАЗЕРЛ | http://127.0.0.1:7878 | URL-адрес радара, сонара или другого экземпляра Starr. |
АПИКЕЙ | 7f3a8..cbc07 | Ключ API радара, сонара или другого экземпляра Starr. |
ПЛАТФОРМА | radarr | Указывает тип платформы Starr: radarr , sonarr , lidarr , readarr или whisparr . |
MAX_STRIKES | 3 | Максимальное количество предупреждений, которое может накопить загрузка перед ее удалением. |
СКАН_ИНТЕРВАЛ | 10m | Как часто Swaparr проверяет наличие зависших загрузок. |
MAX_DOWNLOAD_TIME | 2h | Максимально допустимое время загрузки, прежде чем она будет считаться остановленной. |
IGNORE_ABOVE_SIZE | 25GB | Файлы большего размера будут игнорироваться и не контролироваться. |
REMOVE_FROM_CLIENT | true | Удалить как из очереди, так и из клиента загрузки (по умолчанию) ИЛИ false только из очереди экземпляра starr. |
Статус | Описание |
---|---|
Normal | Загрузка идет как положено; никаких проблем не обнаружено. |
Striked | Загрузка помечена как медленная или остановленная; может быть удален, если он продолжает накапливать страйки. |
Removed | Была предпринята попытка удалить загрузку из экземпляра starr. |
Ignored | Загрузка не отслеживается, поскольку она выходит за установленные пороговые значения (например, по размеру или времени). |
Queued | Загрузка находится в очереди и ожидает начала; удара не будет. |
Если вам нужна помощь, вы хотите внести свой вклад или нашли ошибку, которую нужно исправить, просто откройте проблему. Мы все прислушиваемся и готовы сотрудничать с вами!