Différences entre les versions de « Creation seedbox automatisation »
Ligne 104 : | Ligne 104 : | ||
<pre>mkdir -p ~/torrent/complete</pre> | <pre>mkdir -p ~/torrent/complete</pre> | ||
Pour cela, dans rutorrent, cliquez sur la roue crantée bleue en haut (préférences), puis sur 'autotools'<br> | Pour cela, dans rutorrent, cliquez sur la roue crantée bleue en haut (préférences), puis sur 'autotools'<br> | ||
Cochez la case "activez la fonctionnalié automove" et dans le filtre saisissez | Cochez la case "activez la fonctionnalié automove" et dans le filtre saisissez '''/films|series/''' et cochez "ajoutez le label du torrent au chemin"<br> | ||
Dans le champ "Chemin vers le répertoire des torrents terminés", mettez /home/seed/torrent/complete/<br> | Dans le champ "Chemin vers le répertoire des torrents terminés", mettez /home/seed/torrent/complete/<br> | ||
Grace à ça, quand un torrent ayant le lable series ou films, sera déplacé dans le répertoire /home/seed/torrent/complete/films (ou series) quand il sera terminé (c'est à dire quand on aura téléchargé l'intégralité des paquets du torrent). Il restera en seed depuis ce répertoire. | Grace à ça, quand un torrent ayant le lable series ou films, sera déplacé dans le répertoire /home/seed/torrent/complete/films (ou series) quand il sera terminé (c'est à dire quand on aura téléchargé l'intégralité des paquets du torrent). Il restera en seed depuis ce répertoire. |
Version du 1 novembre 2019 à 13:48
- !*!*!*! BROUILLON *!*!*!*!*!
Nous allons utiliser à partir d'ici plusieurs outils, chacun ayant sa propre interface web. Il va donc commencer à jouer avec les noms de domaine. Normalement, il y a déjà un enregistrement au nom de seedbox.nomdomaine.com, pour l'adresse 1.2.3.4. Dans l'interface de gestion de votre domaine, nous allons rajouter un enregistrement rutorrent.mondomaine.com, qui sera un CNAME (un alias) de seedbox.nomdomaine.com.
Nginx proxy manager
Afin de gérer toutes les interfaces web, nous allons utiliser un outil appelé nginx-proxy-manager, et pour la première fois, nous allons utiliser docker et docker-compose.
Basculez sur l'utilisateur seed :
sudo su - seed
Et créez un répertoire docker-compose
mkdir ~/docker-compose cd ~/docker-compose
Créez un fichier docker-compose.yml
version: '2' services: proxymanager: container_name: proxymanager image: jc21/nginx-proxy-manager:latest ports: - 8080:81 - 80:80 - 443:443 volumes: - ./config.json:/app/config/production.json - ./data:/data - /letsencrypt:/etc/letsencrypt db: container_name: proxymanager_db image: mariadb:latest restart: always environment: MYSQL_ROOT_PASSWORD: "npm" MYSQL_DATABASE: "npm" MYSQL_USER: "npm" MYSQL_PASSWORD: "npm" volumes: - ./data/mysql:/var/lib/mysql
Créez un autre fichier config.json
{ "database": { "engine": "mysql", "host": "db", "name": "npm", "user": "npm", "password": "npm", "port": 3306 } }
Puis tapez la commande
docker-compose up -d
Docker-compose va aller chercher les bonnes iamges docker, et les lancer avec les paramètres donnés. Au bout de quelques minutes, la main vous sera rendue. Vous pouvez constater que deux containers tournent en lançant la commande
docker ps
Rendez vous sur l'adresse http://seedbox.mondomaine.com:8080. Il faut s'authentifier avec [email protected] et le password changeme. Lors de la première connexion, il vous sera demandé de changer l'adresse mail et le password.
Configuration
access list
Tout d'abord, nous allons créer une "access list". C'est un couple login/password qui permettra de protéger l'accès à vos données. Cliquez sur "access lists" dans le menu du haut, puis "add access list"
Choisissez un nom pour l'access list (par exemple seedbox), puis ajoutez un utilisateur et son mot de passe
proxy host
Nous allons maintenant créer un "hôte proxy". Cette étape sera répétée à chaque outil, gardez la bien en tête !
Pour cela, cliquez dans le menu du haut sur "hosts", puis sur "peoxy hosts", et enfin sur "add proxy host"
Dans domain name, mettez rutorrent.mondomaine.com
Dans scheme, laissez http
Dans Forward name/ip, mettez 172.17.0.1 (l'interface par défaut de l'hôte pour docker)
Dans Forward port, mettez 8081 (le port de nginx)
Dans access list, choisissez seedbox.
Sélectionnez toutes les cases à cocher (Cache assets, etc...)
Puis cliquez sur l'onglet SSL.
Dans SSL Certificate, choisissez Request a new certificate with let's encrypt, et Sélectionnez toutes les cases à cocher (Force SSL, etc...). Validez, puis rendez vous sur http://rutorrent.mondomaine.com
Vous devriez voir votre interface rutorrent, protégée par mot de passe :)
Sécurité, le retour
Maintenant qu'on a un reverse proxy, on va commencer à fermer certaines choses. En effet, l'interface de rutorrent est protégée par mot de passe si on passe par le proxy manager, mais pas si on y accède depuis le port 8081.
Pour cela, nous allons utiliser l'outil ufw. Sortez de l'utilisateur seed (exit) pour repasser sur votre user, et :
sudo apt install ufw
Puis créer un fichier /opt/myUfw.sh
#!/bin/bash ufw reset # On annule les règles existantes ufw enable # On autorise ufw # Vous pouvez ajouter un ufw allow from x.x.x.x si vous avez une ip fixe chez vous # si vous êtes en ipv6, pensez aussi à l'ajouter ufw allow from 172.16.0.0/12 # on autorise le trafic docker, important pour le proxymanager ufw allow ssh ufw allow http ufw allow https ufw allow 8080 # pour l'acces au proxymanager ufw allow 50000 # port pour rtorrent ufw default deny incoming # on interdit toute ce qui est en entrée (sauf les règles précédentes) ufw default allow outgoing # on autorise tout ce qui est en sortie
Puis
chmod 755 /opt/myUfw.sh /opt/myUfw.sh
Il y aura des messages d'alertes, validez les, et continuez. Vous pouvez maintenant vérifier que vous avez accès à tout, et que l'accès en port 8081 est bien bloqué.
Préparation de rtorrent pour les futurs outils
Nous allons installer des outils pour récupérer automatiquement des séries et des films. Ces outils vont "pousser" les torrents dans rtorrent, mais il faudra que rtorrent les déplace dans un répertoire donné quand le téléchargement sera terminé. Cela permettra à ces outils de récupérer le fichier et de le traiter.
Tout d'abord, créez un répertoire de destination :
mkdir -p ~/torrent/complete
Pour cela, dans rutorrent, cliquez sur la roue crantée bleue en haut (préférences), puis sur 'autotools'
Cochez la case "activez la fonctionnalié automove" et dans le filtre saisissez /films|series/ et cochez "ajoutez le label du torrent au chemin"
Dans le champ "Chemin vers le répertoire des torrents terminés", mettez /home/seed/torrent/complete/
Grace à ça, quand un torrent ayant le lable series ou films, sera déplacé dans le répertoire /home/seed/torrent/complete/films (ou series) quand il sera terminé (c'est à dire quand on aura téléchargé l'intégralité des paquets du torrent). Il restera en seed depuis ce répertoire.