Seedbox Plex et Flood avec Docker pas à pas
Après le succès du premier opus "Créer sa seedbox avec Plex et Flood", nous allons maintenant passer au niveau supérieur en créant une seedbox sous Docker.
Comment va fonctionner notre seedbox ? C'est très simple, nous aurons deux containers, 1 Plex et 1 Flood.
Plex | plexinc/pms-docker | https://hub.docker.com/r/plexinc/pms-docker |
Flood | wonderfall/rtorrent-flood | https://hub.docker.com/r/wonderfall/rtorrent-flood |
Pour rappel, Plex est un serveur multimédia, Flood est une interface web de rtorrent.
Pré requis : vous devez installer Docker : documentation ici.
Création du Network
Nous allons anticiper la création future d'un reverse proxy sur le serveur ainsi que la fermeture des ports. Pour cela les IPs de nos containers doivent être fixes. Si on utilise le réseau "bridge" existant, nos containers auront une nouvelle IP à chaque redémarrage. Nous allons donc commencer par créer un nouveau réseau de type bridge.
$ docker network create \
--driver=bridge \
--subnet=172.18.0.0/16 \
nomDeMonReseau
Nous
pouvons maintenant créer nos containers et les associer à ce réseau
tout en leur donnant une IP fixe. Cette IP sera par exemple 172.18.0.2
ou bien 172.18.0.254.
Modifier nomDeMonReseau par le com que vous souhaitez.
Attention : Si vous avez une erreur enlevez les \ en fin de ligne.
Création du container Flood
Comme vous le savez, Flood est une application en NodeJS permettant de gérer des torrents en utilisant l'API de rtorrent. Il existe une image avec les composants pré-installés, voici celle que nous allons utiliser : https://hub.docker.com/r/wonderfall/rtorrent-flood.
On créer le container "seedbox".
$ docker run --detach\
--name seedbox \
--restart always \
--volume /home/seedbox/data:/data \
--volume /home/seedbox/db:/flood-db \
--env FLOOD_SECRET=verysecret \
--tty \
--net nomDeMonReseau \
--publish 3000:3000 \
--publish 49184:49184 \--ip 172.18.0.2 \
--restart always \
wonderfall/rtorrent-flood:new
Changez la variable d'environnement FLOOD_SECRET par une chaîne de texte aléatoire. N'oubliez pas de modifier le le nom de votre réseau crée préalablement.
Les arguments --volume, permettent de créer un
lien entre un dossier sur votre serveur et un dossier dans le container.
L'image rtorrent-flood met à disposition 2 volumes : /data qui est le
dossier où sont stockés les fichiers sauvegardée et /flood-db où sont
notamment stockés les torrents. J'ai décidé de placer ces dossiers dans
/home/seedbox. Le dossier /data sera également partagé avec le container
Plex que nous créeront ensuite.
Je vous invite à regarder le readme de cette image pour voir les différents paramètres que vous pouvez spécifier. Je pense notament aux ports, deux sont utilisés par flood : le 49184, en interne utilisé pour la communication entre flood et rtorrent, et le 3000, celui-ci permet d'accéder à l'interface web de flood. Vous l'aurez compris, dans le cas d'un reverse-proxy, vous devrez rediriger votre sous-domaine vers ce port.
Si jamais Flood n'est pas accessible, c'est probablement qu'il n'est pas encore démarré, vous pouvez forcer son démarrage avec l'étape suivante :
docker exec -i -t seedbox /bin/sh
Grâce à cette commande, vous entrez dans le container seedbox pour y lancer des commandes. Démarrez le serveur :
$ cd /usr/flood
$ npm start
Vous pouvez maintenant accéder à Flood via adresse_ip_du_serveur:3000 !
Je vous invite à tester l'ajout d'un torrent :
Si vous souhaitez créer d'autres dossiers pour ranger vos téléchargement, vous devez le créer dans /home/seedbox/data.
Création du container Plex
Nous allons utiliser l'image https://hub.docker.com/r/plexinc/pms-docker. Tout d'abord, veuillez récupérer votre "claim token" Plex : https://www.plex.tv/claim.
$ docker run \
-d \
--name plex \
-p 32400:32400/tcp \
-p 3005:3005/tcp \
-p 8324:8324/tcp \
-p 32469:32469/tcp \
-p 1900:1900/udp \
-p 32410:32410/udp \
-p 32412:32412/udp \
-p 32413:32413/udp \
-p 32414:32414/udp \
-e TZ="Europe/Paris" \
-e PLEX_CLAIM="claimToken" \
-e ADVERTISE_IP="http://IP_DU_SERVEUR:32400/" \
-v /home/plex/database:/config \
-v /home/plex/transcode/temp:/transcode \
-v /home/seedbox/data:/data \
--net nomDeMonReseau \
--ip 172.18.0.3 \
--restart always \
plexinc/pms-docker
Modifiez les variables en rouge pour correspondre à votre utilisation.
Si vous n'avez pas fait de bêtises, Plex devrait être accessible via adresse_ip_du_serveur:32400 ! Si ça n'est pas encore le cas, attendez quelques minutes le temps que l'installation se termine.
NB : Si vous ne voyez pas votre serveur dans la liste c'est qu'il n'est pas configuré pour un accès distant. Pour cela vous devez vous connecter via un tunnel SSH pour configurer cet accès.
Sur linux (ou git bash sur windows) :
ssh adresse_ip_du_serveur -L 8888:localhost:32400
Vous avez maintenant accès à Plex via http://localhost:8888/web. Activez l'accès distant :
N'hésitez pas à commenter si cet article vous à aidé dans votre installation ou si vous avez un problème !
Merci d'avoir suivi cet article jusqu'au bout !
Commentaires