Update stack downloads-vpn #96
@ -5,13 +5,14 @@ Installation de la stack
|
||||
- 1. [Prérequis](#1-prérequis)
|
||||
- 1.a. [Création des dossiers](#1-a-création-des-dossiers)
|
||||
- 1.b. [Modifications des .env](#1-b-modifications-des-env)
|
||||
- 1.c Mise en place de la config .opvn
|
||||
- 1.d Optionnel - Création et Execution de /tun
|
||||
- 2. Création des conteneurs
|
||||
- 2.a Création du réseau
|
||||
- 2.b Création des conteneurs
|
||||
- 1.c Transfert des fichiers dans /downloads-vpn
|
||||
- 1.d [Mise en place de la config .opvn](#1-d-mise-en-place-de-la-config-opvn)
|
||||
- 1.e [Optionnel - Création et Execution de TUN.sh](#1-e-optionnel-création-et-execution-de-tun)
|
||||
- 2. [Création des conteneurs](#2-création-des-conteneurs)
|
||||
- 2.a [Création du réseau](#2-a-création-du-réseau)
|
||||
- 2.b [Création des conteneurs](#2-b-création-des-conteneurs)
|
||||
- 3. Les Bases
|
||||
- 3.a Commandes de bases ( docker )
|
||||
- 3.a Commandes de bases ( Docker )
|
||||
- 3.b Accès aux interfaces ( WebUI )
|
||||
- 4. Configuration de rutorrent
|
||||
- 4.a Réactiver la fonction Effacer / Effacer et Supprimer les données
|
||||
@ -25,25 +26,25 @@ Installation de la stack
|
||||
|
||||
- Cette stack est concu pour fonctionner dans un dossier downloads-vpn, avec l'architecture suivante :
|
||||
```
|
||||
downloads-vpn ---- vpn ------------ config
|
||||
| |_ scripts
|
||||
|
|
||||
|-- rutorrent ------ data
|
||||
| |_ passwd
|
||||
| |_ downloads
|
||||
|
|
||||
|-- prowlarr ------- config
|
||||
|
|
||||
|-- sonarr --------- config
|
||||
| |_ downloads
|
||||
|
|
||||
|-- radarr --------- config
|
||||
| |_ downloads
|
||||
|
|
||||
|-- jackett -------- config
|
||||
|
|
||||
|-- qbitorrent ----- config
|
||||
| |_ downloads
|
||||
downloads-vpn ---- vpn ------------ config
|
||||
| |_ scripts
|
||||
|
|
||||
|-- rutorrent ------ data
|
||||
| |_ passwd
|
||||
| |_ downloads
|
||||
|
|
||||
|-- prowlarr ------- config
|
||||
|
|
||||
|-- sonarr --------- config
|
||||
| |_ downloads
|
||||
|
|
||||
|-- radarr --------- config
|
||||
| |_ downloads
|
||||
|
|
||||
|-- jackett -------- config
|
||||
|
|
||||
|-- qbitorrent ----- config
|
||||
| |_ downloads
|
||||
```
|
||||
|
||||
- Dans le paragraphe 1.a nous allons les créer avec une ligne de commande, et dans le paragraphe 1.b nous allons modifier le .env afin qu'il utilise bien ces dossiers ( en fonction de leurs localisation sur votre machine ).
|
||||
@ -54,11 +55,12 @@ Installation de la stack
|
||||
Exemple : Si votre dossier "docker" ce trouve dans /volume1, alors la commande sera :
|
||||
`cd /volume1/docker`
|
||||
|
||||
Maintenant que nous sommes dans le bon dossier, nous allons executer la commande suivante pour créer d'un coup, toute l'architecture nécessaire :
|
||||
- Maintenant que nous sommes dans le bon dossier, nous allons executer la commande suivante pour créer d'un coup, toute l'architecture nécessaire :
|
||||
|
||||
`mkdir -p downloads-vpn/vpn/{config,scripts} downloads-vpn/rutorrent/{data,passwd,downloads} downloads-vpn/prowlarr/config downloads-vpn/sonarr/{config,downloads} downloads-vpn/radarr/{config,downloads} downloads-vpn/jackett/config downloads-vpn/qbitorrent/{config,downloads}`
|
||||
|
||||
### 1.b. Modifications des .env
|
||||
- Récupérer sur votre machine les fichiers `.env`, `TUN.sh`, `docker-compose.yml` et `rtorrent-rutorrent.env`.
|
||||
|
||||
- Par defaut, il n'y a rien a modifier dans `rtorrent-rutorrent.env`.
|
||||
|
||||
@ -66,32 +68,36 @@ Maintenant que nous sommes dans le bon dossier, nous allons executer la commande
|
||||
|
||||
**PUID et PGID** devront correspondre aux ID de votre utilisateurs, plus d'info ici : [Connaitre le PUID / PGID d'un utilisateur](https://www.forum-nas.fr/viewtopic.php?f=56&t=13213)
|
||||
|
||||
**RACINE** correspond au chemin vers le dossier downloads-vpn créé a l'étape 1.a. Dans ce cas, c'est : `/volume1/docker/downloads-vpn`
|
||||
**RACINE** correspond au chemin vers le dossier downloads-vpn créé a l'étape 1.a.
|
||||
Dans ce cas, c'est : `/volume1/docker/downloads-vpn`
|
||||
|
||||
### 1.c Mise en place de la config .opvn
|
||||
### 1.c Transfert des fichiers dans /downloads-vpn
|
||||
Une fois les modifications effectuées, il faut transfert tous les fichiers dans le dossier `/downloads-vpn` précédemment créé ! Par exemple, avec FileZilla.
|
||||
|
||||
### 1.d Mise en place de la config .opvn
|
||||
|
||||
- Dans notre dossier `downloads-vpn/vpn/config`, nous allons placer notre configuration .ovpn récupéré sur notre serveur OpenVPN.
|
||||
|
||||
**Note :** Si votre config VPN demande une identifications par mot de passe, alors il vous faudra modifier dans votre fichier .ovpn la ligne :
|
||||
> **Note :** Si votre config VPN demande une identifications par mot de passe, alors il vous faudra modifier dans votre fichier .ovpn la ligne :
|
||||
>
|
||||
>```
|
||||
>auth-user-pass
|
||||
>```
|
||||
>par :
|
||||
>```
|
||||
>auth-user-pass /vpn/vpn.auth
|
||||
>```
|
||||
>
|
||||
>Dans le dossier /volume1/docker/vpn/config en plus du fichier .ovpn, vous aller devoir créer un fichier vpn.auth contenant 2 lignes, sur la 1ere ligne, votre identifiant de connexion au VPN, et sur la 2eme ligne, votre mot de passe.
|
||||
>
|
||||
>**Exemple :**
|
||||
>```
|
||||
>votreidentifiantdeconnexion
|
||||
>votremotdepasse
|
||||
>```
|
||||
|
||||
```
|
||||
auth-user-pass
|
||||
```
|
||||
par :
|
||||
```
|
||||
auth-user-pass /vpn/vpn.auth
|
||||
```
|
||||
|
||||
Dans le dossier /volume1/docker/vpn/config en plus du fichier .ovpn, vous aller devoir créer un fichier vpn.auth contenant 2 lignes, sur la 1ere ligne, votre identifiant de connexion au VPN, et sur la 2eme ligne, votre mot de passe.
|
||||
|
||||
**Exemple :**
|
||||
```
|
||||
votreidentifiantdeconnexion
|
||||
votremotdepasse
|
||||
```
|
||||
|
||||
### 1.d Optionnel - Création et Execution de /tun
|
||||
- Si vous êtes sur un NAS de type Synology par exemple, alors la création du TUN est **obligatoire**
|
||||
### 1.e Optionnel - Création et Execution de /tun
|
||||
- Si vous êtes sur un NAS de type Synology par exemple, alors la création du TUN est **obligatoire**.
|
||||
|
||||
- Pour cela :
|
||||
Recupérer le fichier `TUN.sh` présent, et placer le dans votre dossier `downloads-vpn`.
|
||||
@ -101,7 +107,7 @@ Vous devez être "root" pour l'executer, pour cela, passer en root avec sudo :
|
||||
sudo su -
|
||||
```
|
||||
|
||||
Puis rendez-vous dans le dossier contenant TUN.sh, dans mon cas `cd /volume1/docker/downloads-vpn`
|
||||
Puis rendez-vous dans le dossier contenant TUN.sh, dans mon cas `/volume1/docker/downloads-vpn`
|
||||
```
|
||||
cd /volume1/docker/downloads-vpn
|
||||
```
|
||||
@ -118,4 +124,134 @@ et executer le script :
|
||||
|
||||
## 2. Création des conteneurs
|
||||
### 2.a Création du réseau
|
||||
- On créé le reseau `vpn-network` necesaire au fonctionnement du conteneurs VPN :
|
||||
|
||||
```
|
||||
docker network create vpn-network
|
||||
```
|
||||
|
||||
### 2.b Création des conteneurs
|
||||
Maintenant que votre "stack" est prete rendez-vous dans le dossier `downloads-vpn`, dans mon cas `/volume1/docker/downloads-vpn` :
|
||||
```
|
||||
cd /volume1/docker/downloads-vpn
|
||||
```
|
||||
|
||||
## 3. Les Bases
|
||||
- Bien qu'il n'y ai aucun soucis avec le conteneur VPN, vous remarquerez assez vite que l'installation n'étant pas classique, l'interface Docker de DSM va par exemple, refuser de démarrer le conteneur rutorrent ( car pour lui, il n'est relié a aucun réseau, et ne comprend pas que son réseau soit un conteneur ( ici vpn ).
|
||||
|
||||
Il faut donc obligatoirement le démarrer en SSH*. Voici quelques commandes de base :
|
||||
|
||||
**L'utilisation de [Portainer](https://www.forum-nas.fr/viewtopic.php?f=56&t=14030) est également possible.*
|
||||
|
||||
### 3.a Commandes de bases ( Docker )
|
||||
- Arreter un conteneur : `docker stop <nom_du_conteneur>`
|
||||
Exemple pour le conteneur **rutorrent** : `docker stop rutorrent`
|
||||
|
||||
- Redémarrer un conteneur : `docker restart <nom_du_conteneur>`
|
||||
Exemple pour le conteneur **rutorrent** : `docker restart rutorrent`
|
||||
|
||||
- Démarrer un conteneur : `docker start <nom_du_conteneur>`
|
||||
Exemple pour le conteneur **rutorrent** : `docker start rutorrent`
|
||||
|
||||
- Supprimer un conteneur : `docker rm <nom_du_conteneur>`
|
||||
Exemple pour le conteneur **rutorrent** : `docker rm rutorrent`
|
||||
|
||||
- Créer / Mettre à jour la "stack" : `docker-compose up -d`
|
||||
Cette commande permet de créer la stack présent dans le fichier docker-compose.yml, les conteneurs non-existant seront créés, les modifiés seront mis à jour.
|
||||
> Note : Vous devez etre dans la dossier contenant le fichier docker-compose.yml pour que cette commande fonctionne.
|
||||
|
||||
### 3.b Accès aux interfaces ( WebUI )
|
||||
|
||||
- L'acces à chaque service se fait via une WebUI ( Interface Web ), sur un port quil lui est propre.
|
||||
- Pour rutorrent, c'est le port `8080`. Donc l'adresse sera sous la forme : `http://IP_DE_LA_MACHINE:8080`
|
||||
Exemple : Si l'adresse IP de votre machine est `192.168.1.10`, alors l'adresse d'accès sera : `http://192.168.1.10:8080`
|
||||
|
||||
- Ci-dessus la liste des ports des interfaces de chaque service :
|
||||
| Service | Port |
|
||||
| ------ | ------ |
|
||||
| jackett | 9117 |
|
||||
| prowlarr | 9696 |
|
||||
| rutorrent | 8080 |
|
||||
| sonarr | 8989 |
|
||||
| radarr | 7878 |
|
||||
| qbittorrent | 8586 |
|
||||
|
||||
## 4. Configuration de rutorrent
|
||||
Depuis l'interface SSH, les commandes ci-dessous sont à executer en étant a la racine de votre dossier `downloads-vpn`.
|
||||
|
||||
### 4.a Réactiver la fonction Effacer / Effacer et Supprimer les données
|
||||
- Par défaut dans l'image de crazymax, la fonction "Effacer et Supprimer les données" sur un torrent n'existe pas. Uniquement la fonction "Effacer", et celle-ci efface le torrent **ET** les données.
|
||||
|
||||
**Il n'est donc pas possible d'effacer simplement un torrent du client, sans supprimer les fichiers associés.**
|
||||
|
||||
Ici nous allons voir comment ré-activer cette fonction :
|
||||
|
||||
Ceci doit être fait, conteneur à l’arrêt, pour arrêter le conteneur, utiliser la commande :
|
||||
```
|
||||
docker stop rutorrent
|
||||
```
|
||||
|
||||
Pour réactiver cette fonction, il faut éditer le fichier `rtorrent-rutorrent.env` :
|
||||
|
||||
> Note : Vous pouvez l'éditer directement depuis SSH avec l'utilitaire `nano` : `nano rtorrent-rutorrent.env`.
|
||||
|
||||
Retirer **erasedata** de la ligne ( N°23 ) suivante :
|
||||
```
|
||||
RU_REMOVE_CORE_PLUGINS=erasedata,httprpc,geoip,geoip2
|
||||
```
|
||||
|
||||
Ce qui donne :
|
||||
```
|
||||
RU_REMOVE_CORE_PLUGINS=httprpc,geoip,geoip2
|
||||
```
|
||||
Enregistrer, et quitter.
|
||||
|
||||
Puis, nous allons editer le fichier `.rtorrent.rc` présent dans `downloads-vpn/rutorrent/data/rtorrent` :
|
||||
> Note : Vous pouvez l'éditer directement depuis SSH avec l'utilitaire `nano` : `nano rutorrent/data/rtorrent/.rtorrent.rc`.
|
||||
|
||||
Les deux dernieres lignes sont :
|
||||
```
|
||||
# Erase data when torrent deleted (no need erasedata plugin on ruTorrent)
|
||||
method.set_key = event.download.erased,delete_erased,"execute=rm,-rf,--,$d.data_path="
|
||||
```
|
||||
|
||||
|
||||
Nous allons commenter la commande avec le caractère `#` afin de la désactiver, ce qui donne :
|
||||
```
|
||||
# Erase data when torrent deleted (no need erasedata plugin on ruTorrent)
|
||||
#method.set_key = event.download.erased,delete_erased,"execute=rm,-rf,--,$d.data_path="
|
||||
```
|
||||
|
||||
Enregistrer, et quitter.
|
||||
|
||||
Nous allons re-créer le conteneur rutorrent, avec cette nouvelle configuration, pour cela nous executons simplement la commande : `docker-compose up -d`.
|
||||
|
||||
### 4.b Sécuriser l’accès à l'interface
|
||||
- La création du fichier htaccess afin de sécuriser l'acces a l'interface de rutorrent est très simple.
|
||||
|
||||
Arreter le conteneur :
|
||||
```
|
||||
docker stop rutorrent
|
||||
```
|
||||
|
||||
Puis executer la commande suivante :
|
||||
```
|
||||
docker run --rm -it httpd:2.4-alpine htpasswd -Bbn MON_PSEUDO MON_MOT_DE_PASSE >> $(pwd)/rutorrent/passwd/rutorrent.htpasswd
|
||||
```
|
||||
|
||||
Dans cette commande, il faut modifier :
|
||||
**MON_PSEUDO**, par le pseudo voulu pour l'identification
|
||||
**MON_MOT_DE_PASSE**, par le mot de passe souhaité pour l'identification
|
||||
|
||||
|
||||
Une fois la commande executée, redémarrer le conteneur rutorrent :
|
||||
```
|
||||
docker start rutorrent
|
||||
```
|
||||
|
||||
Maintenant, l'acces à l'interface de rutorrent réclame une identification :)
|
||||
|
||||
## 5. Aller plus loin
|
||||
### 5.b Rajouter les chemins vers ces médias
|
||||
### 5.c Mise à jour automatique ( watchtower )
|
||||
### 5.d Reboot automatique en cas de soucis ( autoheal )
|
||||
|
Loading…
Reference in New Issue
Block a user