Radarr, Sonarr y los otros Starrs actualmente carecen de un mecanismo integrado para manejar descargas estancadas, este proyecto tiene como objetivo resolver eso.
Swaparr está inspirado en un hilo de Reddit "Escribí un guión que responde..." de Douglas96.
Si Swaparr le ha sido útil y aprecia el poder del software de código abierto, considere darle una estrella a este repositorio. ¡Tu gesto apoyará enormemente nuestros esfuerzos y ayudará a otros a descubrir Swaparr!
Swaparr opera silenciosamente en segundo plano, ofreciendo opciones de personalización completas y visibilidad clara a través de los registros de la consola. Su función principal es abordar el problema de las descargas detenidas en casos estrellados.
Detección automática: Swaparr escanea todas las descargas activas en sus instancias starr cada 10 minutos (ajustable) para identificar posibles desaceleraciones.
Sistema de huelga: las descargas identificadas reciben una huelga y este ciclo de evaluación se repite periódicamente. Si una descarga acumula el máximo de ataques permitidos, Swaparr la elimina automáticamente de su instancia.
Personalización: Swaparr ofrece opciones de personalización para ajustar el comportamiento de golpe.
Advertencia
Swaparr todavía está en versión beta, las cosas podrían cambiar antes de llegar a la versión 1.0.0
Se requieren Docker y su complemento de redacción. A continuación se muestra una matriz sobre cómo instalar ambos en su sistema:
Sistema operativo | Instrucciones oficiales |
---|---|
linux | docs.docker.com/../linux-install |
Mac OS | docs.docker.com/.../mac-install |
ventanas | docs.docker.com/.../windows-install |
Comience con el archivo de redacción proporcionado como base y personalícelo excluyendo o ajustando cualquier servicio.
versión: '3'servicios: radarr:imagen: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-radarrrestart: less-stoppedenvironment: - BASEURL=http://127.0.0.1:7878 # IP o FQDN (Obligatorio) - APIKEY=7f3a8..cbc07 # Clave API de Radarr (Obligatorio) - PLATFORM=radarr # "radarr", "sonarr".. (Opcional) predeterminado: radarr - MAX_STRIKES=3 # Número positivo (Opcional) predeterminado: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m, etc. (Opcional) predeterminado: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m, etc. (Opcional) predeterminado: 2h - IGNORE_ABOVE_SIZE=25GB # 1TB, 1GB, 1MB, etc. (Opcional) predeterminado: 25GB - REMOVE_FROM_CLIENT=true # Booleano (opcional) predeterminado: verdadero # -- (Opcional) sonarr: imagen: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-sonarrrestart: a menos que-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP o FQDN (Obligatorio) - APIKEY=7f3a8..cbc07 # Clave API de Sonarr (Obligatorio) - PLATFORM=sonarr # "radarr", "sonarr".. (Opcional) predeterminado: radarr - MAX_STRIKES=3 # Número positivo (Opcional) predeterminado: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m, etc. (Opcional) predeterminado: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m, etc. (Opcional) predeterminado: 2h - IGNORE_ABOVE_SIZE=25GB # 1TB, 1GB, 1MB, etc. (Opcional) predeterminado: 25GB - REMOVE_FROM_CLIENT=true # Booleano (opcional) predeterminado: verdadero
versión: '3'servicios: radarr:imagen: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-radarrrestart: less-stoppedenvironment: - BASEURL=http://127.0.0.1:7878 # IP o FQDN (Obligatorio) - APIKEY=7f3a8..cbc07 # Clave API de Radarr (Obligatorio) - PLATFORM=radarr # "radarr", "sonarr".. (Opcional) predeterminado: radarr - MAX_STRIKES=3 # Número positivo (Opcional) predeterminado: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m, etc. (Opcional) predeterminado: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m, etc. (Opcional) predeterminado: 2h - IGNORE_ABOVE_SIZE=25GB # 1TB, 1GB, 1MB, etc. (Opcional) predeterminado: 25GB - REMOVE_FROM_CLIENT=true # Booleano (opcional) predeterminado: verdadero # -- (Opcional) sonarr: imagen: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-sonarrrestart: a menos que-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP o FQDN (Obligatorio) - APIKEY=7f3a8..cbc07 # Clave API de Sonarr (Obligatorio) - PLATFORM=sonarr # "radarr", "sonarr".. (Opcional) predeterminado: radarr - MAX_STRIKES=3 # Número positivo (Opcional) predeterminado: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m, etc. (Opcional) predeterminado: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m, etc. (Opcional) predeterminado: 2h - IGNORE_ABOVE_SIZE=25GB # 1TB, 1GB, 1MB, etc. (Opcional) predeterminado: 25GB - REMOVE_FROM_CLIENT=true # Booleano (opcional) predeterminado: verdadero # -- (Opcional) lidarr: imagen: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-lidarrrestart: a menos que-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP o FQDN (Obligatorio) - APIKEY=7f3a8..cbc07 # Clave API de Lidarr (Obligatorio) - PLATFORM=lidarr # "radarr", "sonarr".. (Opcional) predeterminado: radarr - MAX_STRIKES=3 # Número positivo (Opcional) predeterminado: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m, etc. (Opcional) predeterminado: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m, etc. (Opcional) predeterminado: 2h - IGNORE_ABOVE_SIZE=25GB # 1TB, 1GB, 1MB, etc. (Opcional) predeterminado: 25GB - REMOVE_FROM_CLIENT=true # Booleano (opcional) predeterminado: verdadero # -- (Opcional) readarr: imagen: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-readarrrestart: a menos que-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP o FQDN (Obligatorio) - APIKEY=7f3a8..cbc07 # Clave API Readarr (Obligatorio) - PLATFORM=readarr # "radarr", "sonarr".. (Opcional) predeterminado: radarr - MAX_STRIKES=3 # Número positivo (Opcional) predeterminado: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m, etc. (Opcional) predeterminado: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m, etc. (Opcional) predeterminado: 2h - IGNORE_ABOVE_SIZE=25GB # 1TB, 1GB, 1MB, etc. (Opcional) predeterminado: 25GB - REMOVE_FROM_CLIENT=true # Booleano (opcional) predeterminado: verdadero # -- (Opcional) whisparr: imagen: ghcr.io/thijmengthn/swaparr:latestcontainer_name: swaparr-whisparrrestart: a menos que-stoppedenvironment: - BASEURL=http://127.0.0.1:8989 # IP o FQDN (Obligatorio) - APIKEY=7f3a8..cbc07 # Clave API de Whisparr (Obligatoria) - PLATFORM=whisparr # "radarr", "sonarr".. (Opcional) predeterminado: radarr - MAX_STRIKES=3 # Número positivo (Opcional) predeterminado: 3 - SCAN_INTERVAL=10m # 1d, 6h, 30m, etc. (Opcional) predeterminado: 10m - MAX_DOWNLOAD_TIME=2h # 1d, 6h, 30m, etc. (Opcional) predeterminado: 2h - IGNORE_ABOVE_SIZE=25GB # 1TB, 1GB, 1MB, etc. (Opcional) predeterminado: 25GB - REMOVE_FROM_CLIENT=true # Booleano (opcional) predeterminado: verdadero
Para iniciar Swaparr, ejecute el siguiente comando:
docker compose up -d
Puede monitorear las actividades de Swaparr y rastrear el procesamiento de las descargas ejecutando el siguiente comando. Omita el parámetro
para ver los registros de todas las plataformas:
docker compose logs
Para cerrar Swaparr, ejecute el siguiente comando:
docker compose down
Actualizar Swaparr es muy sencillo, extraiga las imágenes más recientes y reinicie el servicio:
docker compose pull
docker compose down
docker compose up -d
Un breve resumen para aclararle un par de cosas:
Nombre | Por defecto | Descripción |
---|---|---|
URLBASE | http://127.0.0.1:7878 | La URL de una instancia de radar, sonda u otra instancia de estrella. |
APIKEY | 7f3a8..cbc07 | La clave API de una instancia de radar, sonda u otra instancia de estrella. |
PLATAFORMA | radarr | Indica el tipo de plataforma estelar, ya sea radarr , sonarr , lidarr , readarr o whisparr . |
MAX_STRIKES | 3 | Número máximo de advertencias que puede acumular una descarga antes de eliminarla. |
SCAN_INTERVAL | 10m | Con qué frecuencia Swaparr busca descargas detenidas. |
MAX_DOWNLOAD_TIME | 2h | Tiempo de descarga máximo permitido antes de que se considere detenido. |
IGNORAR_ABOVE_SIZE | 25GB | Los archivos mayores a este tamaño serán ignorados y no monitoreados. |
QUITAR_DE_CLIENTE | true | Eliminar de la cola y descargar el cliente (predeterminado) O false solo la cola de una instancia estrella. |
Estado | Descripción |
---|---|
Normal | La descarga avanza según lo esperado; no se detectaron problemas. |
Striked | Descarga marcada como lenta o detenida; puede eliminarse si continúa acumulando strikes. |
Removed | Se ha intentado eliminar la descarga de la instancia starr. |
Ignored | La descarga no se supervisa porque queda fuera de los umbrales establecidos (por ejemplo, límites de tamaño o tiempo). |
Queued | La descarga está en la cola esperando para comenzar; no será golpeado. |
Ya sea que necesite ayuda, desee colaborar o encuentre un error que deba solucionarse, simplemente abra un problema. ¡Somos todo oídos y estamos listos para colaborar con usted!