Asustor [Conteneurs] Médiatèques sous VPN (Flaresolverr, QbitTorrent, Jackett, NordVPN, Plex, Radarr, Sonarr )

Drthrax74

Chevalier Jedi
1 Janvier 2021
468
107
83
Bonjour,

Je vous propose mon petit code pour les conteneurs sous Portainer qui est adapter pour ASUSTOR.


Pour récupérer l'Id de son Utilisateur:

Code:
- Se connecter en SSH
- Taper id <username> (exemple: id admin)
- Modifier les valeurs 1000 et 100 selon vos correspondance
Code:

Sous Portainer, crée le stack Medias avec les codes suivants:

Flaresolverr:
YAML:
#################
version: '3.9'  #
services:       #
#################
#
#
#################################################################
 Flaresolverr:                                                  #
  # ----------------------------------------------------------- #
  image: 'flaresolverr/flaresolverr'                            #
  container_name: 'CN_Flaresolverr'                             #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Flaresolverr'                                      #
  # ----------------------------------------------------------- #
  environment:                                                  #
   - 'LOG_LEVEL=${LOG_LEVEL:-info}'                             #
   - 'LOG_HTML=${LOG_HTML:-false}'                              #
   - 'CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}'                   #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1004:8191' # WebUI                                        #
#################################################################
#
#
Jackett:
YAML:
#################################################################
 Jackett:                                                       #
  # ----------------------------------------------------------- #
  image: 'linuxserver/jackett'                                  #
  container_name: 'CN_Jackett'                                  #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Jackett'                                           #
  # ----------------------------------------------------------- #
  dns:                                                          #
   - '8.8.8.8'                                                  #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
   AUTO_UPDATE: 'true'                                          #
  # ----------------------------------------------------------- #
  volumes:                                                      #
   - '/volume1/Docker/Jackett:/config'                          #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1005:9117'                                                #
#################################################################
#
#
Plex:
YAML:
####################################################################
# Accélération Hardware fonctionnel                                #
# Premier Lancement: Commenter le network_mode puis lancer         #
# Dans le terminal du conteneur : chown -R abc:abc /dev/dri        #
# Second  lancement: Passer en Bridge                              #
#         Lancer l'installation                                    #
 Plex:                                                             #
  # -------------------------------------------------------------- #
  cap_drop:                                                        #
   - 'NET_ADMIN'                                                   #
  # -------------------------------------------------------------- #
  image: 'linuxserver/plex'                                        #
  container_name: 'CN_Plex'                                        #
  network_mode: 'bridge'                                           #
  # -------------------------------------------------------------- #
  restart: 'always'                                                #
  # -------------------------------------------------------------- #
  hostname: 'Plex'                                                 #
  # -------------------------------------------------------------- #
  environment:                                                     #
   PUID: '1000'                                                    #
   PGID: '100'                                                     #
   TZ: 'Europe/Paris'                                              #
   VERSION: 'docker'                                               #
   PLEX_CLAIM: ''                                                  #
  # -------------------------------------------------------------- #
  volumes:                                                         #
  # -------------------------------------------------------------- #
   - '/volume1/Docker/Plex:/config:rw'                             #
   - '/volume1/Docker/Plex:/tv:rw'                                 #
   - '/volume1/Docker/Plex:/transcode'                             #
  # -------------------------------------------------------------- #
  devices:                                                         #
   - '/dev/dri/card0:/dev/dri/card0'                               #
   - '/dev/dri/renderD128:/dev/dri/renderD128'                     #
  # -------------------------------------------------------------- #
  ports:                                                           #
   - '1001:32400'    # WebUI - Plex                                #
####################################################################
#
#
Radarr:
YAML:
#################################################################
 Radarr:                                                        #
  # ----------------------------------------------------------- #
  container_name: 'CN_Radarr'                                   #
  image: 'linuxserver/radarr'                                   #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Radarr'                                            #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
  # ----------------------------------------------------------- #
  volumes:                                                      #
   - '/volume1/Docker/Radarr:/config'                           #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1008:7878'                                                #
#################################################################
#
#
Sonarr:
YAML:
#################################################################
 Sonarr:                                                        #
  # ----------------------------------------------------------- #
  container_name: 'CN_Sonarr'                                   #
  image: 'linuxserver/sonarr'                                   #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Sonarr'                                            #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
  # ----------------------------------------------------------- #
  volumes:                                                      #
   - '/volume1/Docker/Sonarr:/config'                           #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1009:8989'                                                #
#################################################################
#
#


Crée un second stack, que vous nommerez warez.


NordVPN:
YAML:
################
version: '3.9' #
services:      #
################
#
#
#################################################################
 NordVPN:                                                       #
  # ----------------------------------------------------------- #
  cap_add:                                                      #
   - 'NET_ADMIN'                                                #
   - 'NET_RAW'                                                  #
  # ----------------------------------------------------------- #
  sysctls:                                                      #
      - 'net.ipv6.conf.all.disable_ipv6=1'                      #
  # ----------------------------------------------------------- #
  container_name: 'CN_NordVPN'                                  #
  image: 'bubuntux/nordvpn:latest'                              #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  environment:                                                  #
   USER: 'mon@email.fr'                                         #
   PASS: 'monPassword'                                          #
   CONNECT: 'Switzerland'                                       #
   TECHNOLOGY: 'NordLynx'                                       #
   NETWORK: '192.168.1.0/24'                                    #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1007:8080/tcp' # WebUI - QBitorrent                       #
#################################################################

QBitTorrent:
YAML:
#################################################################
 QBitTorrent:                                                   #
  # ----------------------------------------------------------- #
  image: 'linuxserver/qbittorrent'                              #
  container_name: 'CN_QBitTorrent'                              #
  network_mode: 'service:NordVPN'                               #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  depends_on:                                                   #
   - 'NordVPN'                                                  #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
   WEBUI_PORT: '8080'                                           #
  # ----------------------------------------------------------- #
  volumes:                                                      #
    - '/volume1/Docker/QBitTorrent:/config'                     #
  # ----------------------------------------------------------- #
  #ports:                                                       #
  # - '1007:8080/tcp'  # WebUI                                  #
  # - '6881:6881'      # Peer                                   #
#################################################################



Pour vérifier si le conteneur est sous VPN: (QBitorrent, NordVPN)

Code:
Aller sur le site Mon ip
Relevé son IP WAN.
Puis taper dans la console du container la commande suivante : curl -k ifconfig.me

Si l'IP relevé est différente de celle du conteneur c'est que s'est bon

https://fr.abeip.com/ip/146.70.26.86 me confirme l'origine de l'IP (Suisse)
1650799736581.png



Pour le conteneur QBitorrent, il faut faire une manipulation spécial pour le débloquer.

Arrêter le conteneur# docker stop CN_QBitTorrent;
Aller dans le dossier volumes# cd /var/lib/docker/volumes
Ajouter le contenu dans le fichier# echo "WebUI\HostHeaderValidation=false" >> QBitTorrent/_data/qBittorrent/qBittorrent.conf ;
Idem# echo "General\Locale=fr_FR" >> QBitTorrent/_data/qBittorrent/qBittorrent.conf ;
Démarrer le conteneur# docker start CN_QBitTorrent ;
Tester
 
Dernière édition:
  • J'aime
Réactions: Dami1
Salut,
Merci a toi pour ce partage!

Dans le compose de NordVPN je vois que tu déclare le port 6881 et uniquement un TCP. A quoi cela te sert'il ? La connexion par entièrement la le VPN non ? Donc l'ouverture de port doit être coté Serveur VPN ( port forwarding ).
 
  • J'aime
Réactions: Dllh3iso
Salut,
Tout le trafic passe dans le VPN, si tu veux accède au panel web du client Torrent tu ouvres le port applicatif sur le conteneur NORDVPN.

faut voir NORDVPN comme une passerelle pour simplifier.
 
Tout le trafic passe dans le VPN, si tu veux accède au panel web du client Torrent tu ouvres le port applicatif sur le conteneur NORDVPN.
D'accord, donc c'est bien le meme principe que les conteneurs openvpn et Wireguard que j'utilise. Et donc, pourquoi aussi ouvrir le port de peer ?
 
Bonjour,

Je vous propose mon petit code pour les conteneurs sous Portainer qui est adapter pour ASUSTOR.


Pour récupérer l'Id de son Utilisateur:

Code:
- Se connecter en SSH
- Taper id <username> (exemple: id admin)
- Modifier les valeurs 1000 et 100 selon vos correspondance
Code:

Sous Portainer, crée le stack Medias avec les codes suivants:

Flaresolverr:
YAML:
#################
version: '3.9'  #
services:       #
#################
#
#
#################################################################
 Flaresolverr:                                                  #
  # ----------------------------------------------------------- #
  image: 'flaresolverr/flaresolverr'                            #
  container_name: 'CN_Flaresolverr'                             #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Flaresolverr'                                      #
  # ----------------------------------------------------------- #
  environment:                                                  #
   - 'LOG_LEVEL=${LOG_LEVEL:-info}'                             #
   - 'LOG_HTML=${LOG_HTML:-false}'                              #
   - 'CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}'                   #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1004:8191' # WebUI                                        #
#################################################################
#
#
Jackett:
YAML:
#################################################################
 Jackett:                                                       #
  # ----------------------------------------------------------- #
  image: 'linuxserver/jackett'                                  #
  container_name: 'CN_Jackett'                                  #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Jackett'                                           #
  # ----------------------------------------------------------- #
  dns:                                                          #
   - '8.8.8.8'                                                  #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
   AUTO_UPDATE: 'true'                                          #
  # ----------------------------------------------------------- #
  volumes:                                                      #
   - '/volume1/Docker/Jackett:/config'                          #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1005:9117'                                                #
#################################################################
#
#
Plex:
YAML:
####################################################################
# Accélération Hardware fonctionnel                                #
# Premier Lancement: Commenter le network_mode puis lancer         #
# Dans le terminal du conteneur : chown -R abc:abc /dev/dri        #
# Second  lancement: Passer en Bridge                              #
#         Lancer l'installation                                    #
 Plex:                                                             #
  # -------------------------------------------------------------- #
  cap_drop:                                                        #
   - 'NET_ADMIN'                                                   #
  # -------------------------------------------------------------- #
  image: 'linuxserver/plex'                                        #
  container_name: 'CN_Plex'                                        #
  network_mode: 'bridge'                                           #
  # -------------------------------------------------------------- #
  restart: 'always'                                                #
  # -------------------------------------------------------------- #
  hostname: 'Plex'                                                 #
  # -------------------------------------------------------------- #
  environment:                                                     #
   PUID: '1000'                                                    #
   PGID: '100'                                                     #
   TZ: 'Europe/Paris'                                              #
   VERSION: 'docker'                                               #
   PLEX_CLAIM: ''                                                  #
  # -------------------------------------------------------------- #
  volumes:                                                         #
  # -------------------------------------------------------------- #
   - '/volume1/Docker/Plex:/config:rw'                             #
   - '/volume1/Docker/Plex:/tv:rw'                                 #
   - '/volume1/Docker/Plex:/transcode'                             #
  # -------------------------------------------------------------- #
  devices:                                                         #
   - '/dev/dri/card0:/dev/dri/card0'                               #
   - '/dev/dri/renderD128:/dev/dri/renderD128'                     #
  # -------------------------------------------------------------- #
  ports:                                                           #
   - '1001:32400'    # WebUI - Plex                                #
####################################################################
#
#
Radarr:
YAML:
#################################################################
 Radarr:                                                        #
  # ----------------------------------------------------------- #
  container_name: 'CN_Radarr'                                   #
  image: 'linuxserver/radarr'                                   #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Radarr'                                            #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
  # ----------------------------------------------------------- #
  volumes:                                                      #
   - '/volume1/Docker/Radarr:/config'                           #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1008:7878'                                                #
#################################################################
#
#
Sonarr:
YAML:
#################################################################
 Sonarr:                                                        #
  # ----------------------------------------------------------- #
  container_name: 'CN_Sonarr'                                   #
  image: 'linuxserver/sonarr'                                   #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  hostname: 'Sonarr'                                            #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
  # ----------------------------------------------------------- #
  volumes:                                                      #
   - '/volume1/Docker/Sonarr:/config'                           #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1009:8989'                                                #
#################################################################
#
#


Crée un second stack, que vous nommerez warez.


NordVPN:
YAML:
################
version: '3.9' #
services:      #
################
#
#
#################################################################
 NordVPN:                                                       #
  # ----------------------------------------------------------- #
  cap_add:                                                      #
   - 'NET_ADMIN'                                                #
   - 'NET_RAW'                                                  #
  # ----------------------------------------------------------- #
  sysctls:                                                      #
      - 'net.ipv6.conf.all.disable_ipv6=1'                      #
  # ----------------------------------------------------------- #
  container_name: 'CN_NordVPN'                                  #
  image: 'bubuntux/nordvpn:latest'                              #
  network_mode: 'bridge'                                        #
  # ----------------------------------------------------------- #
  environment:                                                  #
   USER: 'mon@email.fr'                                         #
   PASS: 'monPassword'                                          #
   CONNECT: 'Switzerland'                                       #
   TECHNOLOGY: 'NordLynx'                                       #
   NETWORK: '192.168.1.0/24'                                    #
  # ----------------------------------------------------------- #
  ports:                                                        #
   - '1007:8080/tcp' # WebUI - QBitorrent                       #
#################################################################

QBitTorrent:
YAML:
#################################################################
 QBitTorrent:                                                   #
  # ----------------------------------------------------------- #
  image: 'linuxserver/qbittorrent'                              #
  container_name: 'CN_QBitTorrent'                              #
  network_mode: 'service:NordVPN'                               #
  # ----------------------------------------------------------- #
  restart: 'unless-stopped'                                     #
  # ----------------------------------------------------------- #
  depends_on:                                                   #
   - 'NordVPN'                                                  #
  # ----------------------------------------------------------- #
  environment:                                                  #
   PUID: '1000'                                                 #
   PGID: '100'                                                  #
   TZ: 'Europe/Paris'                                           #
   WEBUI_PORT: '8080'                                           #
  # ----------------------------------------------------------- #
  volumes:                                                      #
    - '/volume1/Docker/QBitTorrent:/config'                     #
  # ----------------------------------------------------------- #
  #ports:                                                       #
  # - '1007:8080/tcp'  # WebUI                                  #
  # - '6881:6881'      # Peer                                   #
#################################################################



Pour vérifier si le conteneur est sous VPN: (QBitorrent, NordVPN)

Code:
Aller sur le site Mon ip
Relevé son IP WAN.
Puis taper dans la console du container la commande suivante : curl -k ifconfig.me

Si l'IP relevé est différente de celle du conteneur c'est que s'est bon

https://fr.abeip.com/ip/146.70.26.86 me confirme l'origine de l'IP (Suisse)
Voir la pièce jointe 5374



Pour le conteneur QBitorrent, il faut faire une manipulation spécial pour le débloquer.
excellent
 
Bonjour, avant tout, merci pour le tuto :)

Juste petit soucis de mon coté quand je rentre le stack de radarr j'ai ce message d'erreur:
1685321177158.png
 
Bonjour,
Pour le problème de radarr, regarde "PUID: '1000' " qui correspond à l'utilisateur 1000.

cat /etc/passwd et tu trouves l'utilisateur 1000.
 
Bonjour,
Pour commencer, merci pour ton tuto @Drthrax74 .
Tout c'est bien passer pour moi avec mon asustor as5404t.
J'ai mon NAS que depuis 3 jours et j'ai longuement chercher a configurer afin d'avoir les prérequis pour ce tuto.

Première stack "medias" fonctionnel.
Deuxième stack "warez" j'ai un problème que je n'arrive pas à résoudre contenu de mon manque d'expérience.

Le stack démarre puis "CN_NordVPN" s'arrête.

Voici une copie du log. Si quelqu'un peut m'orienter, je suis preneur.

Code:
[custom-init] No custom files found, skipping...
[ls.io-init] done.
No token set.
[migrations] started
[migrations] no migrations found
fix-attrs: warning: fix-attrs is deprecated, please fix volume permissions in your container manager instead
Firewall is up, everything has to go through the vpn
Enabling connection to secure interface and docker network
No inet6 network
Enabling connection to network 192.168.1.0/24
usermod: no changes
───────────────────────────────────────
  _____ __ __ _____ _____ _____ _____ 
 |     |  |  |   __|_   _|     |     |
 |   --|  |  |__   | | | |  |  | | | |
 |_____|_____|_____| |_| |_____|_|_|_|
       _____ __ __ _ __    ____  
      | __  |  |  | |  |  |    \ 
      | __ -|  |  | |  |__|  |  |
      |_____|_____|_|_____|____/ 
  Based on images from linuxserver.io
───────────────────────────────────────
To support the app dev(s) visit:
Bubuntux: https://github.com/sponsors/bubuntux
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID:    911
User GID:    911
───────────────────────────────────────
[custom-init] No custom files found, skipping...
[ls.io-init] done.
No token set.
 
Dernière édition:
HEllo , pour NordVPN, il est obligatoire d'avoir un stack contenant le token que l'on peut récupérer sur son compte nordvpn. Le message d'erreur montre que tu ne fournis pas ce token.

Voici la stack que j'utilise Jdownloader et qbitorrent:
---
version: "3"
services:
nordlynx:
image: ghcr.io/bubuntux/nordlynx
cap_add:
- NET_ADMIN #required
- SYS_MODULE
environment:
- PRIVATE_KEY=xxxxxxxxxxxxxxxxxxx= #required
- COUNTRY_CODE=153
- ALLOWED_IPS=0.0.0.0/1,xxxxxxx/1
- NET_LOCAL=xxxxxxxx/8,xxxxxxxxx/12,xxxxxxxx/16
- "POST_UP=ip -4 route add $$(wg | awk -F'[: ]' '/endpoint/ {print $$5}') via $$(ip route | awk '/default/ {print $$3}')"
- "PRE_DOWN=ip -4 route del $$(route -n | awk '/255.255.255.255/ {print $$1}') via $$(ip route | awk '/default/ {print $$3}')"
- QUERY=filters\[servers_groups\]\[identifier\]=legacy_p2p
- QUERY=filters\[country_id\]=153
# - NET_LOCAL=xxxxxxxxx/24 # So it can be accessed within the local network
# - RECONNECT=1800
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
- xxxxx:5800
sysctls:
- net.ipv6.conf.all.disable_ipv6=1 # Recomended if using ipv4 only
- net.ipv4.conf.all.src_valid_mark=1
torrent:
image: ghcr.io/linuxserver/qbittorrent
volumes:
- /share/Docker/qbitorrent/config:/config:rw
- /share/Downloads/qbitorrent:/downloads:rw
network_mode: service:nordlynx
depends_on:
- nordlynx
jdownloader2:
image: jlesage/jdownloader-2
environment:
#- USER_ID=1001
#- GROUP_ID= 1001
- LANG=fr_FR.UTF-8
- KEEP_APP_RUNNING=1
- DISPLAY_WIDTH=1280
- DISPLAY_HEIGHT=720
- DARK_MODE=1
volumes:
- /share/Docker/jdownloader2/config:/config:rw
- /share/Downloads/jdownloader2:/output:rw
network_mode: service:nordlynx
depends_on:
- nordlynx
# The torrent service would be available at http://localhost:8080/
# or anywhere inside of the local network http://192.168.1.xxx:8080

PS: comme j'ai un peu anonymisé, il est possible qu'il y ait des espaces en trop ou manquant :p
 
  • J'aime
Réactions: Dllh3iso
Coucou @nedrack et @Drthrax74
Merci beaucoup pour les infos.
Du coup, j'irais me couché moins bête ce soir... 😅

Pour la partie "- NET_LOCAL=" j'imagine que c'est a modifier avec mon ip local mais pour la partie "- xxxxx:5800" j'ai aucune idée du port...
 
Dernière édition:
Coucou @nedrack et @Drthrax74
Merci beaucoup pour les infos.
Du coup, j'irais me couché moins bête ce soir... 😅

Pour la partie "- NET_LOCAL=" j'imagine que c'est a modifier avec mon ip local mais pour la partie "- xxxxx:5800" j'ai aucune idée du port...
Pour le port, c'est celui que tu vas utiliser pour l'ihm de jdownloader; seul port pour jdownloader que tu ouvriras potentiellement sur Internet. A toi de choisir quel port tu souhaites utiliser.
 
  • J'aime
Réactions: Dllh3iso