Accueil Blog A propos Contact Connexion
Retour à la liste des articles Seedbox "complète" sous Debian 10 avec Rtorrent, Rutorrent, Emby, Couchpotato

Seedbox "complète" sous Debian 10 avec Rtorrent, Rutorrent, Emby, Couchpotato

Olivier Prieur | il y a 5 ans | il y a 8 jours Gnu/Linux | 0 | 4804

Pourquoi créer une seedbox ?

 - partager facilement les médias libres (films, animés, OS, etc.)

 

 Cette seedbox sera composée de :

 - Debian 10

 - Rtorrent

 - Rutorrent

 - Emby

 - Couchpotato

 - phpsysinfo

 

AVANTAGES

 - proc performant

 - connexion 1 Gbps

 - volume à la dimension voulue

 - payable à l'heure

 

 INCONVÉNIENTS

 - VPS (ressource théoriquement partagées) 

- Petit espace de stockage

- Trafic (Out) limité à... 20 TB

- Plus cher qu'un "petit" serveur Dédié Kimsufi ou Online

 Postulats de départ :

 - J'utilise la même annotation que le tuto de ex-rat : <username> signifie qu'il faut remplacer par son véritable nom d'utilisateur, <votre.domaine.com> signifie qu'il faut remplacer par son véritable nom de domaine, etc.

 - Installation "fraîche" d'une Debian 10.

 - Le Volume de 200 GB est monté en /home/<username>

 

 --------------------------------------------

 AVERTISSSEMENT :

 Cet article n'a pas pour but de décrire la mise en place d'un "système" servant à "pirater" des oeuvre sous droit(s) d'auteur.

 La seedbox devra être utilisée à des fins de test ou de partage de médias sous licences libres ou licences de libre diffusion (GPL, Creative commons, etc.).

 --------------------------------------------

 

 TUTORIEL : Go !

 Une fois le serveur installé avec une Debian 10, on met à jour et on installe quelques applis :

 sudo apt update && apt upgrade -y

 sudo apt install -y sudo nano vim-nox htop git mc screen ntp rkhunter fail2ban ufw curl

 

 On crée un utilisateur qui aura les droits sudo (il ne s'agit pas de l'utilisateur de la seedbox. Il s'agit d'un "vrai" utilisateur avec les droits sudo) :

 sudo adduser citizenz

 sudo adduser citizenz sudo

 

 On crée le /home de l'utilisateur <username> (fichiers multimédia) :

 sudo mkdir /home/<username>

 

 On configure le fstab pour "monter" le volume à chaque redémarrage.

 Pour trouver la config exacte de ce volume, dans votre Panel Hetzner, pour votre serveur :

 - menu Volumes

 - Trois petits points au bout de la ligne de votre volume puis Configuration

 

 Sur mon serveur, ça donne ça :

 sudo echo "/dev/disk/by-id/scsi-0HC_Volume_2942248 /home/<username> ext4 discard,nofail,defaults 0 0" >> /etc/fstab

 

 Redémarrage nécessaire :

 sudo reboot

L'essentielle de la config de base du système est prête, on va désormais suivre le tutoriel de ex_rat :

 
https://mondedie.fr/d/10831-tuto-installer-rutorrent-sur-debian-10-nginx-php-fpm




 Après un reboot, on a accès à :

 ruTorrent Webui

 URL : XXX.XXX.XXX.XXX/rutorrent

 

 SFTP

 IP : XXX.XXX.XXX.XXX

 Port : 22

 

 Pour obtenir de l'aide plus facilement, un script de debug est dispo, qui permet d'obtenir un lien vers un récap' complet de vos fichiers de conf en rapport avec le tuto.

 cd /tmp

 git clone https://github.com/exrat/Script-Debug-MonDedie

 cd Script-Debug-MonDedie

 chmod a+x Script-Debug-Mondedie.sh && ./Script-Debug-Mondedie.sh

 

 Vous aurez accès à un lien sur Pastebin. En ouvrant le lien dans votre navigateur vous verrez une "copie" des infos de votre système concernant votre seedbox.

 En fin de fichier, il peut y avoir des erreurs qui s'affichent. Elles permettront certainement de voir où se situe votre problème de config et cela permettra d'y remédier rapidement.

 

 #########################################

 AJOUTS PERSOS

 #########################################

 

 -----------------------------------------

 1/ Letsencrypt (HTTPS)

 -----------------------------------------

 Votre fichier Nginx de configuration pour votre seedbox (vhost) ne comporte pas de nom de domaine.

 Si vous souhaitez en configurer un, il va falloir légèrement modifier le fichier.

 Par contre, même si la connexion sur l’adresse IP + SSL restera possible, votre seedbox sera associée à un nom de domaine. A vous de voir si vous voulez faire ça (anonymat, etc.).

 

 sudo nano /etc/nginx/sites-enable/seedbox.conf

 

 Début du fichier :

server {   

listen 80 default_server;   

server_name _;

 

On va remplacer par : <votre.domaine.com> à remplacer par votre vrai nom de domaine ou sous-domaine... par exemple : seedbox.mondmaine.com

server {   

listen 80;   

server_name <votre.domaine.com>;

 Vérifiez toujours que votre configuration Nginx ne comporte pas d'erreur - avant de relancer Nginx - avec la commande :

 sudo nginx -t

 

 Vous devriez avoir quelque chose comme ça si tout va bien :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful



 On va ajouter le plugin Nginx de Letsencrypt (certbot). Très pratique pour Nginx, cela permettra de générer "tout ce qu'il faut" et de configurer automatiquement votre fichier Nginx vhost pour HTTPS.

 On installe quelques dépendances :

 sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

 

 Puis on installe le plugin Nginx pour certbot (letsencrypt) :

 sudo apt install python3-certbot-nginx

 

 On va demander un certificat SSL Letsencrypt avec la commande suivante :

 * évidemment <www.your_domain> et <your_domain> sont à adapter avec votre VRAI domaine

 ** vous n'êtes pas obligé de déclarer un www. et vous pouvez juste faire : certbot --nginx -d <your_domain>

 sudo certbot --nginx -d www.<votre.domaine.com>-d <votre.domaine.com>

 

 1/ Vous devrez ensuite rentrer une adresse E-mail qui servira à vous envoyer des infos de renouvellement du certificat - valable 90 jours mais renouvelable - ou des infos de sécurité.

 2/ Acceptez les termes du service.

 3/ Vous pouvez répondre non à la question d'après qui consiste à donner votre e-mail.

 4/ Enfin vous choisirez la manière dont le HTTPS sera configuré :

 - soit en entrant l'URL HTTPS directement dans le navigateur, à savoir que vous aurez aussi le choix de rester en HTTP (choix 1)

 - soit en redirigeant toutes les demandes sur HTTPS (choix 2)

 Moi je prends le 2ème choix.

 

 Une fois fait, vous aurez votre certificat Letsencrypt installé pour votre domaine et votre fichier vhost Nginx aura été reconfiguré automatiquement pour tenir compte de la nouvelle configuration.

 En vous reconnectant sur votre seedbox, vous pourrez voir que le cadenas vert est apparu (sous Firefox). Votre seedbox est désormais accessible en HTTPS.

 

 Petit ajout pour HTTP2 :

 Vers la fin du fichier vhost Nginx seedbox.conf, vous verrez cette ligne :

 listen 443 ssl; # managed by Certbot

 

 Ajoutez http2 en fin de ligne, juste avant le point-virgule :

 listen 443 ssl http2; # managed by Certbot

 

 Redémarrez Nginx :

 sudo /etc/init.d/nginx restart

 

 HTTP2 va permettre d'apporter certaines fonctionnalités. Vous retrouvez toutes les infos ici : https://blog.eleven-labs.com/fr/http2-nest-pas-le-futur-cest-le-present/

-----------------------------------------------

 2/ Emby

 -----------------------------------------------

 Emby (anciennement Media Browser) est un serveur multimédia conçu pour organiser, lire et diffuser du contenu audio et vidéo sur une variété de périphériques.

 Très pratique (à mon goût...), il va permettre d'organiser tous les fichiers multimédia, les lire, etc.

 

 On va prendre le lien pour Debian 9, Debian 10 n'existe pas... encore :

 wget -nv http://download.opensuse.org/repositories/home:emby/Debian_9.0/Release.key -O Release.key

 sudo apt-key add - < Release.key

 sudo apt-get update

 sudo echo 'deb http://download.opensuse.org/repositories/home:/emby/Debian_9.0/ /' > /etc/apt/sources.list.d/emby-server.list

 sudo apt-get update

sudo apt-get install emby-server

 

Pour permettre à Emby de démarrer automatiquement à chaque reboot :

 systemctl enable embyserver.service

 systemctl start emby-server.service

 

 Vous devriez pourvoir accéder à Emby sur le port 8096 de votre serveur/seedbox.

 Exemple : http://<your_domain>:8096

 

 (Attention pas d'accès en HTTPS, ca ne fonctionne pas chez moi...)

 Lors de votre première connexion, plusieurs options de configuration vous seront proposées. Rien de compliqué.

--------------------------------------------

 3/ Couchpotato

 --------------------------------------------

 CouchPotato est un téléchargeur automatique NZB et torrent.

 Vous pouvez garder une liste de "films que je veux" et il recherchera les NZBs/torrents de ces films toutes les X heures.

 Une fois qu'un film est trouvé, il téléchargera le torrent dans un répertoire spécifié.

 Il correspond à la version "films" de SickRage.

 

 J'ai choisi de mettre les fichier de Couchpotato dans /opt

 

 sudo apt install git-core python python-cheetah

 cd /opt

 sudo git clone https://github.com/CouchPotato/CouchPotatoServer.git couchpotato

 sudo cp couchpotato/init/ubuntu.default /etc/default/couchpotato

sudo nano /etc/default/couchpotato

 

Adaptez le fichier /etc/default/couchpotato comme ceci :

CP_USER=<username>

CP_HOME=/opt/couchpotato

CP_DATA=/opt/couchpotato

CP_PIDFILE=/var/run/couchpotato/couchpotato.pid

PYTHON_BIN=/usr/bin/python

 

 Création d'un fichier service systemd :

 sudo cp couchpotato/init/couchpotato.service /etc/systemd/system/couchpotato.service

 sudo nano /etc/systemd/system/couchpotato.service

 

 On adapte le path du ExecStart dans /etc/systemd/system/couchpotato.service :

 ExecStart=/opt/couchpotato/CouchPotato.py

 

 Pour permettre à Couchpotato de démarrer automatiquement à chaque reboot :

 sudo systemctl enable couchpotato

 sudo systemctl start couchpotato

 

 Vous devriez pourvoir accéder à Couchpotato sur le port 5050 de votre serveur/seedbox.

 Exemple : http://<your_domain>:5050

 

 P.S. : Couchpotato c'est bien, mais on y trouve surtout des médias en langue anglaise (GB/US)... Il y a peu de médias FR.

 La faute au "Searchers", c'est à dire aux sites de torrents référencés. Dommage qu'il ne soit pas possible d'en ajouter.

 

 --------------------------------------------

 4/ phpsysinfo

 --------------------------------------------

 PhpSysInfo (PSI) est une interface web, écrite avec le langage PHP, qui permet d'afficher des informations concernant le système et le matériel sur lequel elle est installée.

 phpSysInfo est distribué sous GNU GPL version 2.

 

 On télécharge la dernière version de phpsysinfo dans /var/www :

 cd /var/www

 wget https://github.com/phpsysinfo/phpsysinfo/archive/v3.3.1.tar.gz

 tar xvfz v3.3.1.tar.gz

 mv phpsysinfo-3.3.1/ phpsysinfo

 chown -R www-data:www-data phpsysinfo

 cd phpsysinfo

 cp phpsysinfo.ini.new phpsysinfo.ini

 

 Tout devrait fonctionner "tel quel".

 Si vous voulez mettre phpsysinfo en FR :

 nano phpsysinfo.ini

 DEFAULT_LANG="fr"

 

 --------------------------------------------

 Résumé des accès :

 --------------------------------------------

 PAGE D'ACCUEIL : https://<your_domain> : y'a rien ! A vous de voir pour y mettre une page d'accueil, une "plateforme" type muximux (https://github.com/mescon/Muximux), etc.



RUTORRENT : https://<your_domain>/rutorrent - Connectez vous avec votre nom d’utilisateur <username> + mot de passe créés grâce au tuto de ex_rat



EMBY :  http://<your_domain>:8096 - Connectez vous avec votre nom d’utilisateur <username> + mot de passe créés grâce au tuto de ex_rat



COUCHPOTATO : http://<your_domain>:5050 - Connectez vous avec votre nom d’utilisateur <username> + mot de passe créés grâce au tuto de ex_rat



PHPSYSINFO : http://<your_domain>/phpsysinfo

PS : si vous avez installé un firewall (type UFW), pensez à ouvrir les ports suivants :

80 + 443 : HTTP + HTTPS

5050 : Couchpotato

8096 : Emby

Pensez aussi à SSH (généralement sur le port 22) et votre ou vos port(s) Rtorrent !

Olivier Prieur

Olivier Prieur

Geek quinqua nivernais fan d'ovalie, de musique, de linuxeries et de Net.
Portfolio : https://www.olivierprieur.fr

Commentaires

En soumettant ce formulaire, j’accepte que ce site conserve mes données personnelles via ce formulaire. Aucune exploitation commerciale ne sera faite des données conservées.

Il n'y a actuellement aucun commentaire pour cet article

A la une

Utiliser TailwindCSS dans un projet Symfony 7

Lire l'article

Symfony 7 avec Docker

Lire l'article

Customiser Easyadmin (2) : avec AssetMapper

Lire l'article

Je recherche un nouveau job !

Lire l'article

Les plus lus

Symfony : barre de recherche dans la sidebar 19407

Lire l'article

Débuter avec Symfony 5 : le fichier .env 11945

Lire l'article

VSCode : 10 raccourcis clavier indispensables (Linux) 11606

Lire l'article

GIT / GITHUB : aide-mémoire pour "les nuls" 10203

Lire l'article