Différences entre les versions de « Creation seedbox automatisation »

De wiki mdd
Aller à la navigation Aller à la recherche
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 "/films|series/" et cochez "ajoutez le label du torrent au chemin"<br>
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.