Radarr, Sonarr und die anderen Starr verfügen derzeit nicht über einen integrierten Mechanismus zur Bewältigung blockierter Downloads. Dieses Projekt zielt darauf ab, dieses Problem zu lösen.
Swaparr ist inspiriert von einem Reddit-Thread „Ich habe ein Skript geschrieben, das…“ von Douglas96.
Wenn Swaparr für Sie hilfreich war und Sie die Leistungsfähigkeit von Open-Source-Software schätzen, denken Sie bitte darüber nach, diesem Repository einen Stern zu geben. Ihre Geste wird unsere Bemühungen erheblich unterstützen und anderen helfen, Swaparr zu entdecken!
Swaparr arbeitet leise im Hintergrund und bietet vollständige Anpassungsoptionen und klare Sichtbarkeit durch Konsolenprotokolle. Seine Hauptfunktion besteht darin, das Problem blockierter Downloads in Starr-Instanzen zu beheben.
Automatische Erkennung: Swaparr scannt alle 10 Minuten (einstellbar) alle aktiven Downloads in Ihren Starr-Instanzen, um mögliche Verlangsamungen zu identifizieren.
Strike-System: Identifizierte Downloads erhalten einen Strike und dieser Bewertungszyklus wiederholt sich regelmäßig. Wenn ein Download die maximal zulässige Anzahl an Strikes erreicht, entfernt Swaparr ihn automatisch von Ihrer Instanz.
Anpassung: Swaparr bietet Anpassungsoptionen zur Feinabstimmung des Schlagverhaltens.
Warnung
Swaparr befindet sich noch in der Beta-Phase. Bis zur Version 1.0.0
können sich die Dinge noch ändern
Docker und sein Compose-Plugin sind erforderlich. Nachfolgend finden Sie eine Matrix, wie Sie beide für Ihr System installieren:
Betriebssystem | Offizielle Anweisungen |
---|---|
Linux | docs.docker.com/../linux-install |
MacOS | docs.docker.com/.../mac-install |
Windows | docs.docker.com/.../windows-install |
Beginnen Sie mit der bereitgestellten Compose-Datei als Grundlage und passen Sie sie an, indem Sie alle Dienste ausschließen oder anpassen.
Version: '3'services: radarr:image: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-radarrrestart:less-stoppedenvironment: - BASEURL=http://127.0.0.1:7878 # IP oder FQDN (erforderlich) - APIKEY=7f3a8..cbc07 # Radarr-API-Schlüssel (erforderlich) - PLATFORM=radarr # "radarr", "sonarr".. (Optional) Standard: radarr - MAX_STRIKES=3 # Positive Zahl (Optional) Standard: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m usw. (Optional) Standard: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m usw.. (Optional) Standard: 2h – IGNORE_ABOVE_SIZE=25GB # 1 TB, 1 GB, 1 MB usw. (Optional) Standard: 25 GB – REMOVE_FROM_CLIENT=true # Boolean (Optional) Standard: true # – (Optional) sonarr: Bild: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-sonarrrestart: unlimited-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP oder FQDN (erforderlich) - APIKEY=7f3a8..cbc07 # Sonarr-API-Schlüssel (erforderlich) - PLATFORM=sonarr # "radarr", "sonarr".. (Optional) Standard: radarr - MAX_STRIKES=3 # Positive Zahl (Optional) Standard: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m usw. (Optional) Standard: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m usw.. (Optional) Standard: 2h – IGNORE_ABOVE_SIZE=25GB # 1 TB, 1 GB, 1 MB usw. (Optional) Standard: 25 GB – REMOVE_FROM_CLIENT=true # Boolean (Optional) Standard: true
Version: '3'services: radarr:image: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-radarrrestart:less-stoppedenvironment: - BASEURL=http://127.0.0.1:7878 # IP oder FQDN (erforderlich) - APIKEY=7f3a8..cbc07 # Radarr-API-Schlüssel (erforderlich) - PLATFORM=radarr # "radarr", "sonarr".. (Optional) Standard: radarr - MAX_STRIKES=3 # Positive Zahl (Optional) Standard: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m usw. (Optional) Standard: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m usw.. (Optional) Standard: 2h – IGNORE_ABOVE_SIZE=25GB # 1 TB, 1 GB, 1 MB usw. (Optional) Standard: 25 GB – REMOVE_FROM_CLIENT=true # Boolean (Optional) Standard: true # – (Optional) sonarr: Bild: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-sonarrrestart: unlimited-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP oder FQDN (erforderlich) - APIKEY=7f3a8..cbc07 # Sonarr-API-Schlüssel (erforderlich) - PLATFORM=sonarr # "radarr", "sonarr".. (Optional) Standard: radarr - MAX_STRIKES=3 # Positive Zahl (Optional) Standard: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m usw. (Optional) Standard: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m usw.. (Optional) Standard: 2h – IGNORE_ABOVE_SIZE=25GB # 1 TB, 1 GB, 1 MB usw. (Optional) Standard: 25 GB – REMOVE_FROM_CLIENT=true # Boolean (Optional) Standard: true # – (Optional) lidarr: Bild: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-lidarrrestart: unlimited-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP oder FQDN (erforderlich) - APIKEY=7f3a8..cbc07 # Lidarr-API-Schlüssel (erforderlich) - PLATFORM=lidarr # "radarr", "sonarr".. (Optional) Standard: radarr - MAX_STRIKES=3 # Positive Zahl (Optional) Standard: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m usw. (Optional) Standard: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m usw.. (Optional) Standard: 2h – IGNORE_ABOVE_SIZE=25GB # 1 TB, 1 GB, 1 MB usw. (Optional) Standard: 25 GB – REMOVE_FROM_CLIENT=true # Boolean (Optional) Standard: true # – (Optional) readarr: Bild: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-readarrrestart: unlimited-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP oder FQDN (erforderlich) - APIKEY=7f3a8..cbc07 # Readarr-API-Schlüssel (erforderlich) - PLATFORM=readarr # "radarr", "sonarr".. (Optional) Standard: radarr - MAX_STRIKES=3 # Positive Zahl (Optional) Standard: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m usw. (Optional) Standard: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m usw.. (Optional) Standard: 2h – IGNORE_ABOVE_SIZE=25GB # 1 TB, 1 GB, 1 MB usw. (Optional) Standard: 25 GB – REMOVE_FROM_CLIENT=true # Boolean (Optional) Standard: true # – (Optional) whisparr: Bild: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-whisparrrestart: unlimited-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP oder FQDN (erforderlich) - APIKEY=7f3a8..cbc07 # Whisparr-API-Schlüssel (erforderlich) - PLATFORM=whisparr # "radarr", "sonarr".. (Optional) Standard: radarr - MAX_STRIKES=3 # Positive Zahl (Optional) Standard: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m usw. (Optional) Standard: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m usw.. (Optional) Standard: 2h – IGNORE_ABOVE_SIZE=25GB # 1 TB, 1 GB, 1 MB usw. (Optional) Standard: 25 GB – REMOVE_FROM_CLIENT=true # Boolean (Optional) Standard: true
Um Swaparr zu starten, führen Sie den folgenden Befehl aus:
docker compose up -d
Sie können die Aktivitäten von Swaparr überwachen und die Verarbeitung von Downloads verfolgen, indem Sie den folgenden Befehl ausführen. Lassen Sie den Parameter
weg, um Protokolle für alle Plattformen anzuzeigen:
docker compose logs
Um Swaparr herunterzufahren, führen Sie den folgenden Befehl aus:
docker compose down
Das Aktualisieren von Swaparr ist ein Kinderspiel. Rufen Sie die neuesten Bilder ab und starten Sie den Dienst neu:
docker compose pull
docker compose down
docker compose up -d
Ein kurzer Überblick, um ein paar Dinge für Sie zu beleuchten:
Name | Standard | Beschreibung |
---|---|---|
BASEURL | http://127.0.0.1:7878 | Die URL einer Radarr-, Sonarr- oder anderen Starr-Instanz. |
APIKEY | 7f3a8..cbc07 | Der API-Schlüssel einer Radarr-, Sonarr- oder anderen Starr-Instanz. |
PLATTFORM | radarr | Gibt den Typ der Starr-Plattform an, entweder radarr , sonarr , lidarr , readarr oder whisparr . |
MAX_STRIKES | 3 | Maximale Anzahl von Strikes, die ein Download ansammeln kann, bevor er entfernt wird. |
SCAN_INTERVAL | 10m | Wie oft prüft Swaparr, ob Downloads blockiert sind? |
MAX_DOWNLOAD_TIME | 2h | Maximal zulässige Downloadzeit, bevor der Download als blockiert gilt. |
IGNORE_ABOVE_SIZE | 25GB | Dateien, die größer als diese Größe sind, werden ignoriert und nicht überwacht. |
REMOVE_FROM_CLIENT | true | Nur die Warteschlange einer Starr-Instanz aus der Warteschlange und dem Download-Client entfernen (Standard) ODER false . |
Status | Beschreibung |
---|---|
Normal | Der Download verläuft wie erwartet; Es wurden keine Probleme festgestellt. |
Striked | Der Download wurde als langsam oder blockiert gekennzeichnet. kann entfernt werden, wenn es weiterhin zu Streiks kommt. |
Removed | Es wurde versucht, den Download aus der Starr-Instanz zu entfernen. |
Ignored | Der Download wird nicht überwacht, da er außerhalb der festgelegten Schwellenwerte liegt (z. B. Größen- oder Zeitlimits). |
Queued | Der Download befindet sich in der Warteschlange und wartet auf den Start. wird nicht bestraft. |
Egal, ob Sie Hilfe benötigen, mithelfen möchten oder einen Fehler finden, der behoben werden muss, öffnen Sie einfach ein Problem. Wir sind ganz Ohr und bereit, mit Ihnen zusammenzuarbeiten!