Files
2026-06-09 18:40:21 +02:00

5.1 KiB


title: Cleanuparr created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, arr, cleanup, torrent, automation, qbittorrent] confidence: high contested: false sources: [https://selfh.st/apps/?tag=*arr, https://github.com/Cleanuparr/Cleanuparr]

🎬 Cleanuparr

Nettoyeur automatique de torrents orphelins et de fichiers *arr mal gérés : détecte les torrents bloqués, les imports ratés, les fichiers dupliqués, et libère l'espace disque intelligemment.

📋 Informations Générales

Attribut Valeur
Nom Cleanuparr
Slug cleanuparr
Description Outil de nettoyage et maintenance pour Sonarr/Radarr/qBittorrent : suppression de torrents bloqués, gestion des imports échoués, optimisation disque
Site officiel https://cleanuparr.github.io
Repository https://github.com/Cleanuparr/Cleanuparr
Stars 2 296
Licence GPL-3.0
Langage principal C# (.NET)
Catégorie *arr (utilitaires)
Tags [catalogue, arr, cleanup, torrent, automation, qbittorrent]

📝 Description

Cleanuparr est l'outil que vous installez 6 mois après avoir monté votre stack *arr complète, quand vous réalisez que vous avez 200 torrents en stalled, 50GB de fichiers .partial~, des saisons 3 téléchargées en triple parce qu'un épisode était mal nommé, et 3 jobs Sonarr bloqués depuis 3 semaines sur "Already imported but found in download client".

Les fonctionnalités principales :

  • Détection des torrents bloqués : un torrent est stalled/error/missing depuis plus de X jours → action configurable (supprimer, hard-delete, mettre en pause, notifier).
  • *Imports échoués arr : scan de la queue Sonarr/Radarr, identification des jobs coincés, retry ou suppression.
  • Fichiers partiels : nettoyage des .partial~, *.!qB, fichiers sans extension dans /downloads.
  • Doublons : hash-based dedup, garde le fichier de meilleure qualité, supprime les autres.
  • Hardlinks cassés : détection et réparation des hardlinks entre /downloads et /library.
  • Règles personnalisables : planifier via cron intégré, dry-run obligatoire, logs détaillés.

Cleanuparr est non-destructif par défaut : tout part en dry-run, on valide, on bascule en mode actif. C'est appréciable vu qu'il touche à des données irremplaçables.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  cleanuparr:
    image: ghcr.io/cleanuparr/cleanuparr:latest
    container_name: cleanuparr
    restart: unless-stopped
    environment:
      - TZ=Europe/Paris
      - LOG_LEVEL=info
    volumes:
      - ./config:/app/config
      - /data/downloads:/downloads
      - /data/movies:/movies
      - /data/tv:/tv
    ports:
      - "6868:6868"

Installation manuelle

.NET 8 SDK requis, binaire self-contained sur les releases GitHub (Linux x64, arm64, Windows).

⚙️ Configuration

  • Connexion qBittorrent : URL, user/pass (pas le cookie). Activer l'API Web dans qBittorrent.
  • Connexion Sonarr/Radarr : API key + URL, pour lire la queue d'imports.
  • Règles de blocage : par défaut stalled > 7 jours ET ratio < 1.0 → notifier ; > 14 jours → supprimer avec fichiers. Ajuster selon votre usage (Fibre + VPN → seuil de 30 jours raisonnable).
  • Dry-run : toujours activé en premier passage, désactiver seulement après validation.
  • Notifications : Discord, Telegram, Apprise (multi-canaux), webhook.
  • Schedule : cron intégré, ex 0 3 * * * (3h du matin tous les jours).

🔗 Alternatives

  • Sonarr/Radarr built-in Queue Cleaner — minimaliste, intégré, mais pas de cross-service.
  • Maintainerr — orienté règles de suppression métier (cf. fiche dédiée), pas maintenance technique.
  • Traktarr — suppression basée sur watchlist, cas d'usage différent.
  • Scripts bash custom — pour les bricoleurs, mais aucune UI ni logs centralisés.

🔒 Sécurité

  • Droits fichiers : Cleanuparr supprime des fichiers réels, le user Docker (PUID) doit avoir les droits sur /downloads et /library — équivalents à Sonarr/Radarr/qBittorrent.
  • Dry-run avant prod : tester 1 semaine en mode simulation pour vérifier qu'il n'efface rien d'important.
  • Pas d'auth locale forte : mettre derrière Authelia/Authentik, jamais exposé en clair.
  • Backup : faire un snapshot de /downloads et /library avant la première activation, rien n'est récupérable après suppression.
  • Logs : conserver 30 jours minimum, le service peut faire des erreurs de jugement (garder un torrent qui aurait dû être supprimé est moins grave que l'inverse).

📚 Ressources

🔗 Pages Liées