Stack torrents (*arr)
Rôle
Téléchargement automatisé de films et séries en VOSTFR/VO. Jellyseerr sert d'interface de demande grand public.
Accès
| LXC | 109 — 192.168.1.60 |
| Stack | Docker Compose — /opt/torrents/docker-compose.yml |
Services et ports
| Service | Port local | URL publique | Rôle |
|---|---|---|---|
| qBittorrent | 8080 | — | Client torrent |
| Prowlarr | 9696 | — | Agrégateur d'indexeurs |
| Sonarr | 8989 | — | Gestion des séries |
| Radarr | 7878 | — | Gestion des films |
| Bazarr | 6767 | — | Sous-titres automatiques |
| Jellyseerr | 5055 | vod.2h15.fr | Interface de demande |
| FlareSolverr | 8191 | — | Bypass Cloudflare |
Image Docker
Jellyseerr utilise l'image seerr/seerr:latest (projet renommé de fallenbagel/jellyseerr → seerr-team/seerr en 2025).
Config dans /opt/torrents/config/jellyseerr/, propriétaire 1000:1000.
Clés API
| Service | Clé |
|---|---|
| Prowlarr | e871a34f8cfd484fa43732313262827c |
| Sonarr | 91708ec441a5437b8a6b4efbea6d7853 |
| Radarr | 2954ef32254242399df659a04711f567 |
| Bazarr | cecc8e001d35f19f7d0f87cdcccc8403 |
| Jellyseerr | MTc4MDI1MjgwODI2NDgyNzBmMzViLTVlYmItNDQ3Zi1hMzE2LWNhNjk4MzliZDBlMQ== |
Indexeurs (Prowlarr)
| ID | Nom | Type | Notes |
|---|---|---|---|
| 1 | YTS | Public | Films HD |
| 2 | 1337x | Public | Cloudflare → tag flaresolverr |
| 3 | The Pirate Bay | Public | Direct |
| 4 | EZTV | Public | Cloudflare → tag flaresolverr |
| 5 | C411 | Privé FR | apikey: d10f96e890ebfd0f2f9f4eee26722af354ebe7aea253b33e707ffc640427d4ac |
| 6 | LimeTorrents | Public | Direct |
| 7 | showRSS | Public | Direct |
| 8 | Nyaa | Public | Anime |
FlareSolverr
FlareSolverr est configuré comme Indexer Proxy dans Prowlarr (Settings → Indexer Proxies). Il s'applique aux indexeurs via un système de tags : l'indexeur et le proxy doivent partager le même tag.
- Tag utilisé :
flaresolverr(ID 1) - Proxy :
http://flaresolverr:8191/(réseau Docker interne) - Indexeurs liés : 1337x, EZTV
Nouvel indexeur Cloudflare-protected
FlareSolverr ne s'applique pas automatiquement. Pour chaque nouvel indexeur bloqué par Cloudflare, assigner manuellement le tag flaresolverr dans Prowlarr UI → Indexeurs → éditer → champ Tags.
Dépannage si DOWN
Si 1337x ou EZTV repassent en échec :
# Vérifier que le tag est bien présent sur l'indexeur
pct exec 109 -- python3 -c "
import sqlite3, json
conn = sqlite3.connect('/opt/torrents/config/prowlarr/prowlarr.db')
for r in conn.execute('SELECT Id, Name, Tags FROM Indexers WHERE Id IN (2,4)').fetchall():
print(r[0], r[1], 'tags:', r[2])
"
# Effacer le statut d'échec et redémarrer
pct exec 109 -- python3 -c "
import sqlite3
conn = sqlite3.connect('/opt/torrents/config/prowlarr/prowlarr.db')
conn.execute('DELETE FROM IndexerStatus WHERE ProviderId IN (2,4)')
conn.commit()
"
pct exec 109 -- docker restart prowlarr sonarr radarr
Profils qualité
Deux profils disponibles, utilisables au choix dans Jellyseerr lors d'une demande.
| Profil | ID | Qualité | Cutoff | Langue préférée |
|---|---|---|---|---|
| VOSTFR / VO | 7 | 720p → Bluray-2160p | Bluray-2160p | VOSTFR +1000, VO +100, VF -1000 |
| VF | 8 | 720p → Bluray-2160p | Bluray-2160p | VF +1000, MULTI +1000, fallback VO/VOSTFR |
- Remux-2160p désactivé dans les deux profils (fichiers 50-100 Go)
- Upgrade activé : si une meilleure qualité est indexée plus tard, elle remplace le fichier existant
Custom Formats (ID identiques Radarr et Sonarr)
| ID | Nom | Regex (Radarr) | Regex (Sonarr) |
|---|---|---|---|
| 1 | VOSTFR | VOSTFR |
(?i)VOST(FR)?\|SUBFRENCH |
| 2 | VO | \bVO\b |
(?i)(^|[^A-Z])VO([^A-Z]|$)(?!STFR) |
| 3 | VF | \bVF\b\|FRENCH\|\bMULTI\b |
(?i)(^|[^A-Z])VF([^A-Z]|$)\|\bVFF\b\|\bVFQ\b\|\bFRENCH\b\|\bMULTI\b |
MULTI
MULTI dans le CF VF capture les releases bi-audio FR+EN (très courant sur les sites FR). Sans ce tag, ces releases scoreaient 0 dans le profil VF et pouvaient être ignorées.
Stockage
/mnt/ext/ (→ /dev/sdb2, partagé avec Jellyfin LXC 114)
├── Series/ (Sonarr)
├── Films/ (Radarr)
├── Perso/
└── downloads/ (qBittorrent)
- Import mode : HardLink (zéro copie entre downloads/ et Series/ ou Films/)
removeCompletedDownloadsactivé dans Sonarr + Radarr
Sous-titres (Bazarr)
- Sonarr + Radarr connectés,
only_monitored: true - Profil langues : FR + EN
- Providers actifs (10) :
gestdown,supersubtitles,embeddedsubtitles,podnapisi,subf2m,yifysubtitles,tvsubtitles,soustitreseu,subsynchro,subdl opensubtitlescomretiré : nécessite un abonnement VIP pour un usage depuis Bazarrsubf2m: user-agent configuré dans config.yaml (requis, sinon throttlé 12h)subdl: comptevalouplopsur subdl.com, clé API dans config.yaml
Notifications
- Sonarr et Radarr envoient une notification ntfy après chaque import
- Le lien de clic ouvre directement l'app Jellyfin
Suppression de médias
Jellyseerr détecte les suppressions automatiquement via la connexion Jellyfin. Pour forcer une mise à jour immédiate dans Jellyseerr :