PlexCloud sur Amazon : Ultimate Setup ?

amazon 21 janv. 2017

Titre clickbait ? Ouais, sans doute un peu. Entre tous mes tutoriels et articles, sans compter le blabla qui va avec, on m’a remonté que je suis bien gentil mais “stocker des fichiers dans Amazon c’est trop compliqué”. Je ne suis pas d’accord mais effectivement ça nécessite d’avoir des bases et c’est chronophage (ou pas).

EDIT 20.03.17 : avec la sortie de rClone 1.36 qui peut ouvrir des fichiers en lecture et écriture il n’est plus nécessaire d’utiliser la méthode de contournement avec Unionfuse-fs.

 

Les bases

  • Comprendre le fonctionnement de rClone (1 remote en clair et 1 remote chiffré),
  • Comprendre l’incontournable besoin de gérer des arborescences de dossiers identiques entre Amazon et le serveur de DL, tout comme leur fusion via Unionfs-fuse,
  • Avoir les bases Linux inhérentes à ce genre de manipulations : SSH, sudo, nano, gestion des droits sur les dossiers/fichiers, wget, git, savoir ce que sont /home, /var/www /opt etc.

Chronophage

  • Ça l’est pour moi vu que je fonctionne à l’ancienne pour installer Plex, Emby, SickRage, CouchPotato etc en SSH, à coup de apt-get install, wget, git clone, chown -R user:user, nano X, nano Y… Du moins pour ces tutoriels, ensuite j’utilise mes images de CT/VM (mais que j’ai quand même du créer),
  • D’autres sont plus modernes/malins et utilisent pour ça des Dockers “clé-en-mains” qui s’installent en 3 commandes,
  • On peut aussi utiliser des scripts. Par exemple j’utilise comme base le script BonoBox de Mondedie, on peut aussi commencer avec le RatXaBox ou même QuickBox (m’enfin je ne le recommande pas du tout vu que selon les gens/serveurs il ne s’installe pas tout à fait correctement). Il y a aussi le PlexInTheCloud (tous les logiciels + rClone) qui, bien qu’il soit tout récent donc incomplet et quasi pas automatisé, reste très prometteur pour les mois à venir.

Le fait est que j’ai un serveur qui tourne aux petits oignons, que tout mon contenu (en autoDL ou non) est envoyé automatiquement sur Amazon tout en étant chiffré et que j’y accède depuis mes serveurs, chez moi et mon smartphone. Ma prochaine étape sera de l’appliquer à mes VM/CT de manière à mieux répartir la consommation CPU/RAM entre mes machines.

 

Le but de cet article est de clarifier l’installation: quoi, pourquoi, comment. Libre à vous de le suivre à la lettre, de vous en inspirer, de le transcrire en script (courageux !), d’utiliser Docker plutôt que de toute faire à la main etc. Pour gagner du temps et éviter le truc hyper indigeste je vais au maximum mettre des liens vers les tutoriels plutôt que (re)détailler tout ici.

 

  1. Prérequis
    1. Serveur hôte
    2. rClone Amazon Cloud Drive (simple lecture)
      1. Fuse
      2. Installation
      3. Configuration Amazon
      4. Configuration Amazon chiffré
      5. Montage
    3. Dossiers
      1. Pour le tri sur Amazon
      2. Pour le tri sur serveur (et le DL manuel)
      3. Pour le DL automatisé
    4. Unionfs-fuse (et le “pourquoi“)
    5. Déplacer les fichiers du serveur vers Amazon
    6. Exemples de configuration
      1. CouchPotato
      2. SickRage
  2. Logiciels (Usenet/BitTorrent)
    1. AutoDL
      1. CouchPotato : films
      2. SickRage : séries
      3. Sonarr : séries
      4. MyLar : comics
      5. LazyLibrarian : livres
      6. HeadPhones : musique
    2. Outils de DL (manuel, auto ou API/RSS)
      1. SABnzbd : Usenet
      2. NZBget : Usenet
      3. ruTorrent : BitTorrent
    3. Gestionnaires de contenu
      1. Emby : vidéos, musique, comics
      2. Plex : vidéos, musique, comics
      3. Kodi (utilisation locale) : vidéos, musique, comics
      4. SubSonic : musique (vidéos aussi mais bon…)
      5. LibreSonic : SubSonic open source et gratuit
      6. Ampache : musique/vidéos
      7. Ubooquity : comics/BDs
    4. Gateways/moteurs de recherche
      1. Jackett : pour CouchPotato/SickRage – Usenet/BitTorrent
      2. Cardigann : pour CouchPotato/SickRage – Usenet/BitTorrent
      3. NZBHydra : pour CouchPotato/SickRage – Usenet
      4. NZBMageSearch : manuel – Usenet
      5. T412 : manuel/automatisé – BitTorrent (T411)
      6. T411 pour CouchPotato
    5. Panels
      1. Muximux
      2. ManageThisNode
      3. Organizr
      4. SeedBox-Manager (compris dans le script BonoBox de Mondedie)
    6. Divers
      1. PlexPy : monitoring de Plex
      2. PlexRequests (Ombi) : recherche/DL de films/séries pour Plex
      3. PlexComicReader : lire les CBR-Z-7 depuis Plex
      4. Ez Server Monitor (charge, espace libre, ports ouverts)
      5. Syncthing : importer/exporter des contenus sur/depuis un autre serveur par exemple
      6. Par2 multicores pour SABnzbd/NZBget
      7. Installer ffmpeg pour Emby
      8. Thème & extensions Kodi
      9. ruTorrent : DL via RSS
      10. ruTorrent : AutoTools (copy/move/link les fichiers complétés)
      11. Thème LazyLibrarian
    7. Accès distant

 

 

 

 

Serveur hôte

Un serveur avec Debian ou Ubuntu fraîchement installé et à jour, un user sudo, un éditeur de texte (j’utilise nano), du temps.

Pour l’espace disque, tout va dépendre de votre utilisation : avec Usenet pas besoin de laisser du contenu en partage donc 100/200Go suffiront, en revanche avec BitTorrent ou ed2k il faut de la place pour partager. Dans ce dernier cas préférez peut-être quelques To, on a tendance à beaucoup télécharger avec une telle installation.

Il faut bien évidemment un compte Amazon Drive Cloud, qui est illimité pour 70$/an. Actuellement, une fois monté sur Linux, ça affiche un espace de 1024To soit 1Po.

Comme je le disais au début j’ai commencé par installer le script BonoBox. Le bon plan c’est qu’il fait gagner du temps et permet d’avoir ruTorrent, Seedbox-Manager mais aussi un serveur Nginx configuré. On n’a plus qu’à éditer légèrement et rapidement la configuration de ce dernier pour accéder à certaines applications qu’on peut installer par la suite (Organizr, Muximux et Ez Server Monitor).

 

 

Dossiers pour le DL automatisé

Si vous avez suivi le sommaire plus haut vous avez déjà créé vos dossiers dans /home/user/Pre. Sauf qu’au final, vu qu’il fusionne avec le montage rClone d’Amazon sur le serveur, on ne se sert ensuite que de /Union.  \o/  

L’idée est que ces dossiers dans /Union servent à y placer le contenu téléchargé via vos clients Usenet/BitTorrent. En mode “déplacement” pour SABnzbd, NZBget et en mode “copie” pour ruTorrent, via AutoTools, afin que les fichiers restent bien en seed sur votre serveur. Alors oui la “copie” prend de la place mais ce ne sera que le temps que le script de déplacement sur Amazon entre en jeu. Chez moi toutes les 30 minutes. Y’a donc pas de risque de voir des To de données sy’ accumuler…

Maintenant il reste à s’organiser pour le DL automatisé, par exemple via CouchPotato, SickRage, HeadPhones, MyLar. En effet ces outils ont besoin d’agir sur les fichiers, pour les renommer (SI vous activez cette option), avant de les déplacer dans /Union d’où ils seront alors envoyés sur Amazon.

Je prends l’exemple de CouchPotato et du DL via ruTorrent. Et ce sera la même idée avec tout outil d’autoDL, qui a besoin de renommer un fichier, et qui DL via ruTorrent.

Par défaut mon ruTorrent est configuré, via AutoTools, pour copier tous les DL complétés dans /Union. Je pourrais très bien dire à CP de ne travailler que dans /Union pour y chercher un film et l’y renommer. Sauf que si entre temps mon script de déplacement vers Amazon se lance alors il y a un risque de bogue soit de CP soit du script. Pour éviter tout souci de ce genre j’ai ajouté des dossiers intermédiaires dans mon /home : /Films /Series /Flac etc. Pour CP il n’y a évidemment que /Films qui m’intéresse.

Le “truc” c’est de configurer ruTorrent dans CouchPotato (pas en blackhole donc) et de stipuler un dossier où ruTorrent doit télécharger les films. Cette directive supplante la configuration de base de ruTorrent/AutoTools. J’ai donc tout simplement mis /home/user/Films :

  • CP trouve le film ABC, il envoie le .torrent dans ruTorrent,
  • CP dit à ruTorrent de DL le film ABC dans /home/user/Films,
  • CP va ensuite le copier dans /Union/Films, après l’avoir renommer,
  • Emby/Plex voient bien le film ABC et le script rClone le déplacera sur Amazon.

Il faut dire à CP de copier et non déplacer sinon ruTorrent n’aura plus rien à seeder. (le “default file action” = Usenet)

 

Je prends maintenant l’exemple de CouchPotato et du DL via SABnzbd. Et ce sera la même chose avec NZBget.

Le principe de base reste le même : DL dans /home/user/Films, CP bien prendre le film, le renommer et le déplacer (pas besoin de seeder avec Usenet) dans /home/user/Union/Films. La différence c’est que les clients Usenet modernes que sont SABnzbd et NZBget ont des catégories qui permettent de définir où ils doivent placer un fichier téléchargé.

Voici la définition de la catégorie dans SABnzbd

Et la configuration de CouchPotato

 

 

 

 

Mots clés