ArrSuite

ArrSuite
Photo by Billy Aboulkheir / Unsplash

Dans ce post je me suis mis comme objectif de faire une suite avec les logiciels Arr* en mode clé en main.

Le but est d'avoir un catalogue dans le quel on fait notre sélection. Une fois faites, des services vont aller chercher les .torrents et les envoyer vers un client de téléchargement. Une fois téléchargé, un service de streaming vidéo va les indexer et les rendre disponible en local.

Pré-requis :

  • Un PC fonctionnel avec Linux, de préférence DEBIAN.
  • Service SSH opérationnel.
  • Du stockage.
  • Docker d'installé.
  • Un compte AllDebrid.
  • Un compte PLEX.
  • Un compte YGG. *optionnel
  • Un cerveau.

Mise en place de la suite

Tout d'abord on se connecte à sa machine en SSH.
On se crée un répertoire avec un fichier compose.yml comme ceci:

/
└── docker
    └── arrsuite
          └── compose.yml

On va éditer le compose.yml et y mettre tous se dont on aura besoin.

nano /docker/arrsuite/compose.yml

# Series/Animes/TV Show finder
  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: arrsuite-sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./sonarr/config:/config
      - ./sonarr/lib/tv:/tv
      - ./sonarr/lib/anime:/anime
      - ./downloads:/tv-sonarr
      - ./downloads:/anime-sonarr
    ports:
      - 7770:8989
    restart: unless-stopped

# Movie finder
  radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: arrsuite-radarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./radarr/config:/config
      - ./radarr/lib/movies:/movies
      - ./downloads:/radarr
    ports:
      - 7771:7878
    restart: unless-stopped

# Indexer
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: arrsuite-prowlarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./prowlarr/config:/config
      - ./downloads:/downloads
    ports:
      - 7772:9696
    restart: unless-stopped

# Cloudflare resolver
  flaresolverr: 
    image: ghcr.io/flaresolverr/flaresolverr:latest 
    container_name: arrsuite-flaresolverr 
    environment: 
      - LOG_LEVEL=${LOG_LEVEL:-info} 
      - LOG_HTML=${LOG_HTML:-false} 
      - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} 
      - TZ=Europe/Paris
    ports:
      - 7773:8191
    restart: unless-stopped 

# Request manager for Plex    
  overseerr:
    image: lscr.io/linuxserver/overseerr:latest
    container_name: arrsuite-overseerr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    ports:
      - 7774:5055
    restart: unless-stopped

# Mediaplayer Plex
  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: arrsuite-plex
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - VERSION=docker
    volumes:
      - ./plex/:/config
      - ./downloads:/downloads
    restart: unless-stopped
    network_mode: host

# Download manager
  rdtclient:
    image: rogerfar/rdtclient
    container_name: arrsuite-rdtclient
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
        - ./downloads:/data/downloads
        - ./rdt-client/:/data/db
    ports:
        - 7775:6500
    restart: unless-stopped
    logging:
        driver: json-file
        options:
            max-size: 10m

*On fait CTRL + X et Y (ou O) pour sauvegarder.

On lance le compos.yml

docker compose up -d

Dans ce compose.yml on retrouve ceci:

  • Sonarr / Radarr, qui permettent de fouiller, trouver, envoyer le .torrent au service de téléchargement.
  • rdtclient, permet de débrider le .torrent et de le télécharger.
  • Plex, est un serveur multimedia.
  • Prowlarr, est l'indexeur, c'est là que l'on va mettre les sources (sites) de torrents.
  • Flaresolverr, permet de passer certaines restriction sur les sites pour l'indexeur.
  • Overseer, est notre catalogue.
  • Chaques service à ces config dans un dossier dédié

On obtiendra l'architecture dossier suivante :

/
└── docker
    └── arrsuite
          ├── compose.yml
          ├── dowload
          │   ├── radarr
          │   ├── tv-sonarr
          │   ├── anime-sonarr
          ├── plex
          ├── prowlarr
          ├── radarr
          ├── rdt-client
          └── sonarr

Donc comme on le vois, les films se mettrons dans radarr, séries dans tv-sonarr, animé dans anime-sonarr.

Si l'arichitecture ne vous plait pas, libre à vous d'éditer le compose.yml ou de faire des liens symboliques.

Accessibilité de la suite

La suite est entièrement utilisable via votre navigateur.

Pour accéder à chaque service on mettra l' IP:PORT en http dans votre navigateur préféré. A fin de ne pas répéter tous les ports voici une liste des services avec leurs ports que vous pouvez adapter à votre configuration.

http://IP:7770 sonarr
http://IP:7771 radarr
http://IP:7772 prowlarr
http://IP:7773 flaresolverr
http://IP:7774 overseerr
http://IP:7775 rdtclient
http://IP:32400/web Plex

Configuration de Sonarr et Radarr

On va commencer par configurer Sonarr et Radarr.

On leurs met un login/password comme ceci (même configuration pour les deux):

D'abord on ajoute les root folder, ce sont les dossiers où il va indexer se qu'il doit télécharger.

Radarr

on prendra /movie

Sonarr

on prendra /anime (animé) et /tv (séries)

Ensuite on ajoute le Download Client

Prendre l'option qBittorrent et renseigner les informations de rdtclient

On laisse le reste par défaut et on SAVE.

Cette partie est à répéter sur Radarr.

UNIQUEMENT sur Sonarr, on crée un deuxième client pour y mettre le téléchargement des animé via un tag.

on change le nom
on met la catégorie anime-sonarr
on définis le tag

On va maintenant créer l'automatisation de ce tag, toujours sur Sonarr

on utilise bien le même nom que précédement
on ajoute des conditions
root folder
Serie type
pré-tag
résultat final

On sauvegarde et maintenant on est prêt.

Configuration de Prowlarr

Prowlarr c'est l'indexteur, donc c'est lui qui va aller vérifier les sources et se connecter si nécessaire.

On refait la méthode de login

On va d'abord ajouter l'indexeur proxy, donc Flaresolverr

on s'assure de mettre la bonne IP et port

Ensuite on va aller configurer notre client de téléchargement de la même manière que précédemment.

Une fois fait on va ajouter nos sources

A vous de faire votre choix et de mettre les bonnes informations

Une fois fait on se retrouve avec quelque chose comme ceci

Maintenant on passe à la configuration de Sonarr et Radarr.

C'est assez simple il faut ajouter les bonnes IP et port pour les deux.

On va avoir besoin de la clé API pour se connecter à Sonarr et Radarr
Elle se trouve aux mêmes endroits de chaque services
Et voici la configuration finie

On réitère pour le deuxième service.

Si tout c'est bien passé, on peut passer à la configuration du client de téléchargement

Configuration de rdtclient

Pour lui c'est très simple, il suffis d'un login et mot de passe et de copier la clé API de AllDebrid.

Et c'est tout.

Configuration de Plex

Plex utilise le login général pour votre serveur en local. C'est un peut déroutant mais c'est ainsi.

une fois logué, ajoutez la Library suivant l'architecture dossier mise plus haut.

Maintenant, il faut ajouter des médias !

Configuration d'Overseer

Overseer se configure assez rapidement.

Tout d'abord on le lie avec Plex

Ensuite on choisi le bon serveur si on en à plusieurs

On scan les bibliothèques pour ne pas avoir de doublons

On entre les config de Sonarr et Radarr de la même manière que précédement

Attention que pour Sonarr partie Anime, on renseigne le tag

Et voila le travail !

Si vous avez bien fait toutes les étapes, vous voilà prêt à télécharger vos films et séries.

Voici une petite demo du fonctionnement.

Enjoy !