dependabot[bot] 22e48f80a3 Bump eslint from 9.35.0 to 9.36.0 (#26)
Bumps [eslint](https://github.com/eslint/eslint) from 9.35.0 to 9.36.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.35.0...v9.36.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.36.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 13:05:19 -05:00
2025-09-02 22:24:41 -05:00
2025-09-02 22:24:41 -05:00
2025-09-02 23:40:48 -05:00
2025-09-10 22:21:07 -05:00
2025-09-02 22:24:41 -05:00

ArrQueueCleaner

Automated queue cleaner for Sonarr that removes stuck downloads based on configurable rules. Please suggest rules you want to see added by opening an issue!

Features

  • Monitors Sonarr download queue for stuck items
  • Removes items blocked due to quality issues
  • Optional blocklist functionality
  • Docker containerized
  • Configurable via environment variables
  • Scheduled execution via cron

Environment Variables

Variable Default Description
SONARR_HOST http://localhost:8989 Sonarr instance URL
SONARR_API_KEY required Sonarr API key
REMOVE_QUALITY_BLOCKED false Remove items blocked by quality rules
BLOCK_REMOVED_QUALITY_RELEASES false Add quality-blocked items to blocklist
REMOVE_ARCHIVE_BLOCKED false Remove items stuck due to archive files
BLOCK_REMOVED_ARCHIVE_RELEASES false Add archive-blocked items to blocklist
REMOVE_NO_FILES_RELEASES false Remove items with no eligible files
BLOCK_REMOVED_NO_FILES_RELEASES false Add no-files items to blocklist
REMOVE_SERIES_ID_MISMATCH false Remove items with series ID matching conflicts
BLOCK_REMOVED_SERIES_ID_MISMATCH_RELEASES false Add series ID mismatch items to blocklist
REMOVE_UNDETERMINED_SAMPLE false Remove items unable to determine if file is a sample
BLOCK_REMOVED_UNDETERMIND_SAMPLE false Add undetermined sample items to blocklist
DRY_RUN false Log actions without actually removing/blocking items
SCHEDULE */5 * * * * Cron schedule (every 5 minutes)
LOG_LEVEL info Logging level

Note: No rules are configured by default for safety, you must opt in to using them.

Quick Start

  1. Copy .env.example to .env and configure
  2. Run with Docker Compose (see example below)

Manual Installation

pnpm install
pnpm build
pnpm start

Docker Compose Example

version: '3.8'

services:
  arr-queue-cleaner:
    image: ghcr.io/thelegendtubaguy/arrqueuecleaner:latest
    environment:
      - SONARR_HOST=http://sonarr:8989
      - SONARR_API_KEY=your_api_key_here
      - REMOVE_QUALITY_BLOCKED=false
      - BLOCK_REMOVED_QUALITY_RELEASES=false
      - REMOVE_ARCHIVE_BLOCKED=false
      - BLOCK_REMOVED_ARCHIVE_RELEASES=false
      - REMOVE_NO_FILES_RELEASES=false
      - BLOCK_REMOVED_NO_FILES_RELEASES=false
      - REMOVE_SERIES_ID_MISMATCH=false
      - BLOCK_REMOVED_SERIES_ID_MISMATCH_RELEASES=false
      - REMOVE_UNDETERMINED_SAMPLE=false
      - BLOCK_REMOVED_UNDETERMIND_SAMPLE=false
      - DRY_RUN=false
      - SCHEDULE=*/5 * * * *
      - LOG_LEVEL=info
    restart: unless-stopped

Docker

docker build -t arr-queue-cleaner .
docker run -d --env-file .env arr-queue-cleaner
Description
No description provided
Readme MIT 1.7 MiB
Latest
2025-10-27 23:57:36 -05:00
Languages
TypeScript 94%
JavaScript 4.6%
Dockerfile 1.4%