126 lines
6.7 KiB
Markdown
126 lines
6.7 KiB
Markdown
---
|
|
title: Recyclarr
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, downloads, arr, sonarr, radarr, trash-guides, automation, go, quality-profiles]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=downloads, https://github.com/recyclarr/recyclarr]
|
|
---
|
|
|
|
# ♻️ Recyclarr
|
|
|
|
> **Synchronise automatiquement les profils de qualité, custom formats et score releases de Sonarr/Radarr/Lidarr/Readarr** depuis les [TRaSH Guides](https://trash-guides.info) — la référence communautaire. Fini le copier-coller de 200 lignes de custom formats : Recyclarr le fait pour vous, et le refait à chaque release des guides.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [https://recyclarr.dev](https://recyclarr.dev) |
|
|
| **GitHub** | [https://github.com/recyclarr/recyclarr](https://github.com/recyclarr/recyclarr) |
|
|
| **License** | MIT |
|
|
| **Langage** | Go |
|
|
| **Étoiles** | 34 ⭐ |
|
|
| **Dernière MAJ** | 2025-12 |
|
|
| **Catégorie** | [[cat-downloads\|Downloads]] |
|
|
|
|
## Description
|
|
|
|
Les [TRaSH Guides](https://trash-guides.info) sont devenus **la référence incontournable** pour configurer correctement Sonarr/Radarr : ils recommandent des **profils de qualité précis**, des **custom formats** (règles de scoring pour Atmos, HDR10+, DV, x265, etc.) et des **filtres de release** qui font la différence entre une médiathèque propre et un cimetière de doublons. Mais suivre les guides "à la main" est fastidieux : **plusieurs centaines de custom formats** à créer un par un, scoring à régler au millimètre, et **les guides évoluent toutes les semaines**.
|
|
|
|
**Recyclarr** automatise tout ça. On déclare dans un fichier YAML `recyclarr.yml` les **profils Sonarr/Radarr/Lidarr/Readarr** qu'on veut, et on précise pour chacun quel **"TRaSH Guide Profile"** appliquer (ex. "HD-1080p", "4K", "Anime"). Recyclarr :
|
|
1. **Télécharge** la dernière version des TRaSH Guides depuis le repo Git.
|
|
2. **Compare** avec l'état actuel de l'instance \*arr.
|
|
3. **Crée/met à jour** les custom formats, profiles, quality definitions, et release profiles.
|
|
4. **Affiche un diff** clair de ce qu'il a modifié.
|
|
5. **Idempotent** : relancer = aucune modification si rien n'a changé.
|
|
|
|
Le résultat : un **Sonarr/Radarr configuré "comme la communauté"** en 5 minutes, et qui **reste à jour automatiquement** quand les TRaSH Guides évoluent. Recyclarr supporte aussi la **synchronisation des Release Profiles** (regex, must-contain, must-not-contain) et la gestion des **Quality Definitions** (tailles de palier par qualité).
|
|
|
|
**Points forts** : **MIT**, **binaire Go** (1 seul exécutable, ultra-léger), **CLI-first** (parfait pour cron), maintient la qualité de la médiathèque à jour sans effort.
|
|
|
|
**Points faibles** : pas d'UI web (CLI/headless), **dépendant des TRaSH Guides** (si le projet ralentit, Recyclarr perd sa raison d'être), pas de support natif de Whisparr/Eros (encore en bêta).
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
recyclarr:
|
|
image: ghcr.io/recyclarr/recyclarr:latest
|
|
container_name: recyclarr
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- ./config:/config
|
|
# Pas de port exposé : CLI only
|
|
```
|
|
|
|
Exemple de `config/recyclarr.yml` minimal :
|
|
```yaml
|
|
sonarr:
|
|
base_url: http://sonarr:8989
|
|
api_key: xxxxxxxxxxxxxxxxxxxxxxxx
|
|
delete_old_custom_formats: true
|
|
quality_profiles:
|
|
- name: HD-1080p
|
|
trash_id: hd-1080p
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
Binaire Go sur [GitHub Releases](https://github.com/recyclarr/recyclarr/releases) (Linux/macOS/Windows, x86/ARM). `chmod +x recyclarr`, lancer `./recyclarr sync`. Cron recommandé :
|
|
```cron
|
|
0 4 * * * /usr/local/bin/recyclarr sync >> /var/log/recyclarr.log 2>&1
|
|
```
|
|
|
|
## Configuration
|
|
|
|
1. **API keys** : dans Sonarr/Radarr, `Settings → General → API Key`.
|
|
2. **Fichier YAML** : un seul `recyclarr.yml` à la racine de `./config`, structure `sonarr:` / `radarr:` / `lidarr:` / `readarr:`.
|
|
3. **trash_id** : copier depuis [cette liste](https://trash-guides.info/Radarr/quality-profiles/) — le projet recycle les noms canoniques.
|
|
4. **delete_old_custom_formats: true** : recommandé pour éviter l'accumulation de CFs obsolètes.
|
|
5. **Cron quotidien** : `0 4 * * *` (4h du matin, après le passage des TRaSH Guides).
|
|
6. **Logs** : rediriger vers un fichier, superviser via [[app-grafana]] / [[app-loki]] / [[app-prometheus]].
|
|
7. **Pas de reverse-proxy** : CLI/headless, on s'y connecte via SSH.
|
|
|
|
## Alternatives
|
|
|
|
### Open source
|
|
- **TRaSH Guides "à la main"** — la base de Recyclarr, mais à faire manuellement. Recyclarr n'est qu'un wrapper qui les applique.
|
|
- [[app-sonarr]] / [[app-radarr]] / [[app-lidarr]] / [[app-readarr]] — les **consommateurs** de la config Recyclarr.
|
|
- [[app-prowlarr]] — agrégateur d'indexers, complémentaire.
|
|
- [[app-autobrr]] — capture IRC, complémentaire.
|
|
- **Notifiarr** — notifications Discord/Discord, complémentaire.
|
|
|
|
### Propriétaires
|
|
- **Profil Quality "Default" Sonarr** — conservateur, peu optimisé, ne suit pas l'évolution des formats (Atmos, AV1, etc.).
|
|
- **SickRage / CouchPotato** — forks historiques sans communauté de guides.
|
|
- **Synology Download Station** — propriétaire Synology, sans qualité communautaire.
|
|
|
|
## Sécurité
|
|
|
|
- ✅ **Aucune exposition réseau** : Recyclarr parle en **sortant** vers l'API \*arr (HTTP/HTTPS local), surface d'attaque nulle.
|
|
- ⚠️ **API keys \*arr** : stockées en clair dans `recyclarr.yml` — **chmod 600** et **ne pas versionner dans Git public**.
|
|
- ✅ **Pas de credentials distants** : Recyclarr ne parle qu'à votre \*arr local + lit le repo Git public des TRaSH Guides.
|
|
- ✅ **Idempotent** : une erreur d'exécution ne corrompt pas la config \*arr, Recyclarr est read-mostly (sauf `delete_old_custom_formats`).
|
|
- ⚠️ **Suppression de custom formats** : `delete_old_custom_formats: true` supprime les CFs non référencés par un profile synchronisé — **vérifier qu'aucun profile "manuel" n'utilise un CF que vous voulez garder**.
|
|
- ✅ **Sauvegardes** : `recyclarr.yml` est minuscule, à inclure dans le backup de `./config`.
|
|
|
|
## Ressources
|
|
- [Site officiel](https://recyclarr.dev)
|
|
- [Documentation](https://recyclarr.dev/wiki)
|
|
- [TRaSH Guides](https://trash-guides.info) — La source de vérité
|
|
- [GitHub](https://github.com/recyclarr/recyclarr)
|
|
- [selfh.st — Downloads](https://selfh.st/apps/?tag=downloads)
|
|
|
|
## Pages Liées
|
|
- [[cat-downloads]] — Catégorie parente
|
|
- [[app-sonarr]] / [[app-radarr]] / [[app-lidarr]] / [[app-readarr]] — Consommateurs
|
|
- [[app-prowlarr]] — Agrégateur d'indexers
|
|
- [[app-nzbget]] / [[app-sabnzbd]] — Backends Usenet
|
|
- [[recettes-docker-compose]] — Templates Docker
|
|
- [[securisation-home-lab]] — Bonnes pratiques
|