Saint Plex - Software

Pour la facilité de configuration et de maintenabilité le choix s'est tout de suite porté sur Docker compose, énormément de support et de docs sont disponible.

Aussi selon TRaSH :

Pourquoi Docker sur Linux ?

  • Moins d'encombrement
  • Plus facile à maintenir
  • Plus facile de tester une nouvelle application sans encombrer votre système d'exploitation principal
  • Plus facile d'exécuter une 2ème ou une 3ème version de la même application
  • Pas besoin de se préoccuper des dépendances nécessaires (version mono, version python, etc.)
  • Plus facile d'exécuter certaines applications derrière un VPN et le reste sans.
  • Plus facile d'exécuter une version plus ancienne d'une certaine application en changeant simplement une étiquette.
  • Plus facile à configurer pour les personnes ayant peu de connaissances en Linux (pensez à Dockstarter)
  • Lorsque vous devez réinstaller votre système d'exploitation, vous pouvez le remettre en marche en un rien de temps (si vous avez une sauvegarde de votre appdata).

Installation de Docker et Docker compose

1 - Configurer le dépôt de docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

2 - Installation

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3 - Test de fonctionnement

sudo docker run hello-world

Configuration de l'environnement

On va pouvoir commencer à s'amuser (spoiler : non), mais grâce à la doc du wiki de Servarr, on s'en sort quand même pas mal ! Premièrement j'ai décidé de créer un utilisateur dédié aux containers multimédias subtilement nommé "media", oui, original.

sudo useradd media

Vu que c'est le deuxième utilisateur créé, (le premier provient de mon install de debian), il obtient le PUID et le PGID 1001 (info intéressante pour après).
Et viens le moment hyper marrant de créé une arborescence complète et cohérente, (toute la partie data est pompé sur le guide docker de servarr, merci !)

data
└───media
│   └───movies
│   └───music
│   └───tv
└───torrents
│   └───movies
│   └───music
│   └───tv
docker
│   compose.yml
└───appdata
    └───container data folder

Et voici les commandes que j'utilise de façon totalement déraisonnée pour appliquer les ACL sur mes arborescences :

#Attribution de l'ownership sur l'arbo data (pareil pour l'arbo /docker/appdata)
sudo chown -R media:media /data
#config ACLs 
sudo chmod -R a=,a+rX,u+w,g+w /data

Installation des différents containers

C'est quoi Prowlarr ?

Prowlarr est un gestionnaire/proxy d'indexation basé sur la pile de base populaire arr .net/reactjs. Prowlarr prend en charge la gestion des trackers Torrent et des indexeurs Usenet. Il s'intègre parfaitement à LazyLibrarian , Lidarr , Mylar3 , Radarr , Readarr et Sonarr, offrant une gestion complète de vos indexeurs sans qu'aucune configuration d'indexeur par application ne soit requise (nous faisons tout).

Voici la partie du compose.yml de Pré au lard :

services:
  prowlarr:
    container_name: prowlarr
    image: lscr.io/linuxserver/prowlarr:latest
    restart: unless-stopped
    ports:
      - 9696:9696
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Paris
    dns:
      - 8.8.8.8
      - 8.8.4.4
    volumes:
      - /docker/appdata/prowlarr:/config
      - /data:/data

Si vous avez suivi on voit bien que le container est executé avec les PUID et PGID 1001, autres options, la timezone et le dns qui peuvent être utile, pour le TZ, avoir l'heure exact sur les logs c'est bien et le dns est très utile pour aller résoudre des adresses !
Côté volume on s'en tient au plan de base, la config dans un dossier a part, sous /docker/appdata/ et le container à accès à toute l'arborescence /data (recommandé).

C'est quoi Lidarr ?

Lidarr est un gestionnaire de collection de musique pour les utilisateurs Usenet et BitTorrent. Il peut surveiller plusieurs flux RSS pour les nouveaux morceaux de vos artistes préférés et les récupérer, les trier et les renommer. Il peut également être configuré pour mettre à niveau automatiquement la qualité des fichiers déjà téléchargés lorsqu'un format de meilleure qualité devient disponible.

Voici la partie du compose.yml de Lit Dard :

services:
  lidarr:
    container_name: lidarr
    image: lscr.io/linuxserver/lidarr:latest
    restart: unless-stopped
    ports:
      - 8686:8686
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Paris
    volumes:
      - /docker/appdata/lidarr:/config
      - /data:/data

Rien d'exceptionnel, la conf reste identique, à part le numéro de port.

C'est quoi Radarr ?

Radarr est un gestionnaire de collection de films pour les utilisateurs Usenet et BitTorrent. Il peut surveiller plusieurs flux RSS pour les nouveaux films et s'interface avec les clients et les indexeurs pour les récupérer, les trier et les renommer. Il peut également être configuré pour mettre à niveau automatiquement la qualité des fichiers existants dans la bibliothèque lorsqu'un format de meilleure qualité devient disponible.

Voici la partie du compose.yml de Rat Dard :

services:
  radarr:
    container_name: radarr
    image: lscr.io/linuxserver/radarr:latest
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 7878:7878
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Paris
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/radarr:/config
      - /data:/data

C'est quoi Sonarr ?

Sonarr est un gestionnaire de collection de séries pour les utilisateurs Usenet et BitTorrent. Il peut surveiller plusieurs flux RSS pour les nouveaux épisodes de vos émissions préférées et les récupérer, les trier et les renommer. Il peut également être configuré pour mettre à niveau automatiquement la qualité des fichiers déjà téléchargés lorsqu'un format de meilleure qualité devient disponible.

Voici la partie du compose.yml de Sonne Art :

services:
  sonarr:
    container_name: sonarr
    image: lscr.io/linuxserver/sonarr:latest
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 8989:8989
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Paris
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/sonarr:/config
      - /data:/data

Sources

Docker
Servarr
Trash Guides