Configuration : Transmission + WireGuard

  • Auteur du sujet Auteur du sujet zebi
  • Date de début Date de début

zebi

Nouveau membre
24 Mai 2023
3
0
1
Professionnel
Non
Bonjour a tous,

Ceci est mon premier post, j'ai donc peut être oublier 2 3 règles d'or a respecter sur ce serveur x)

Je suis actuellement en train de créer ma box ultime maison qui va à terme regrouper plusieurs choses notament : Plex, Radarr, jackett, transmission, Wireguard.
pour cela j'utilise docker (docker compose) sur un debian 11.

Je maitrise les bases sur docker notamment l'organisation générale du fichier docker-compose.yaml et j'ai déja réussi un rendre Plex, Radarr, Jackett, Transmission fonctionnel mais SANS VPN. Mais téléchargement oblige, il me semble donc important de se protéger grâce à un VPN, et mon choix c'est donc porté sur WireGuard.

Mais voilà mes question :

- Je ne fait pas la différence entre la partie serveur et client de WireGuard. Je parle bien techniquement sous Docker et non usuellement parlant. peut-on créer un seul container comprenant server et client ?
- Ensuite, quel est l'intérêt d'installé radarr et jackett sous vpn ? Transmission télécharge donc logique que l'on veuille ce faire discret, mais radarr et jackett ne télécharge pas sauf erreur de ma part ? Ais-je loupé un point important ?
-Quel sont les choses a savoir avant l'utilisation d'un vpn pour un tel usage ?



J'ai donc décider de tous reprendre depuis le début et d'y aller étape par étape.
J'ai du lire 3 tutos différents et j'ai essayer de regroupé les infos, et voilà ce que j'obtiens

Point important, je cherche a comprendre ce que je fais et non a recopier bêtement. D'où certaine question qui peuvent semblé non pertinente.

Je veux donc construire une arborescence de type

/Docker
- /Wireguard
- /Transmission
- /jackett
- /radarr
- /plex

Je vais me concentré pour le moment sur WireGuard et Transmission.
Dans mon dossier /docker, je construit donc mon ficher "docker-compose.yaml" que voici :
Code:
version: "3"

services:

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

  wireguard:

      image: lscr.io/linuxserver/wireguard:latest
      container_name: wireguard
      cap_add:
        - NET_ADMIN
        - SYS_MODULE
      sysctls:
        - net.ipv6.conf.all.disable_ipv6=0
        - net.ipv4.conf.all.src_valid_mark=1
      environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/Stockholm
      ports:
        - "9091:9091/tcp"
      volumes:
        - ./wireguard/config:/config
        - /lib/modules:/lib/modules
      restart: unless-stopped

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

  transmission:

      image: linuxserver/transmission:version:latest
      network_mode: "service:wireguard"
      depends_on:
        - wireguard
      environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/Paris
      env_file:
        - ./transmission/transmission.env
      volumes:
        - ./transmission/config:/config
        - ./transmission/downloads:/downloads
        - ./transmission/watch:/watch
      restart: unless-stopped

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

Concernant le container Wireguard.
- s'agit-il du serveur, du client ou les deux. Est ce que cela va fonctionné en l'état.
- a quoi correspond sysctls:
Concernant le container Transmission.
- je ne connais pas du tout les trois arguments suivant et ne sait pas comment les manipuler.
Code:
      - network_mode: "service:wireguard"
      - depends_on:
           - wireguard  
    env_file:
           - ./transmission/transmission.env

Dans mon dossier /docker j'ai aussi un fichier .env qui ressemble a ça
Code:
PUID=1000
PGID=1000
TZ=Europe/Paris

DOWNLOAD=./transmission/downloads

Que me manque t-il pour que Transmission fonctionne correctement et sous VPN.

Vous remerciant d'avance
 
s'agit-il du serveur, du client ou les deux. Est ce que cela va fonctionné en l'état.
Salut,
L'image linuxserver wireguard pe faire les deux, si tu ne met pas de paramètres de serveur, et renseigne un fichier wg0.conf alors elle sera cliente.

a quoi correspond sysctls:
Une histoire de pare-feu, mais je passe mon tour pour la question :D

Que me manque t-il pour que Transmission fonctionne correctement et sous VPN.
Visiblement ton transmission a besoin d'un fichier "transmission.env" dans le dossier transmission, il est présent ?

network_mode: "service:wireguard"
Cela signifie que le traffic reseau de ce conteneur devra passer par le conteneur Wireguard.


Tu peu t'inspirer de cela pour la configuration de Wireguard : https://www.forum-nas.fr/threads/tu...lient-prowlarr-rutorrent-sonarr-radarr.19514/

Ensuite, quel est l'intérêt d'installé radarr et jackett sous vpn ? Transmission télécharge donc logique que l'on veuille ce faire discret, mais radarr et jackett ne télécharge pas sauf erreur de ma part ? Ais-je loupé un point important ?
Pour Radarr par forcément besoin de mon point de vue, masi je le fait car je ne souhaite pas que mon ip soit logger comme scannant régulièrement les fiches tvdb, .. Pour jackett/prowlarr , c'est a mon sens important car eux se connecte sur le site a ta place ! S'il ne passe pas par le VPN, alors les administrateur du site peuvent connaitre ton ip réelle.
 
Salut et merci pour tes infos. j'ai aussi suivit ton projet de tuto wireguard. Mes deux containers se lance correctement (Wireguard et transmission) et j'ai bien accès a transmission grâce à MON-IP-SERVER:9091. Cependant lorsque que je teste avec le service Check my IP c'est mon IP publique qui est affiché et dans transmission j'ai 0 seed 0 peer partout.

Je pense avoir des erreurs au niveau de mon ficher .conf

Ci dessous mes différents fichier :

Docker-compose.yaml :
Code:
version: "3"

services:

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

     wireguard:

          image: lscr.io/linuxserver/wireguard:latest
          container_name: wireguard
          cap_add:
            - NET_ADMIN
            - SYS_MODULE
          sysctls:
            - net.ipv6.conf.all.disable_ipv6=0
            - net.ipv4.conf.all.src_valid_mark=1
          environment:
            - PUID=1000
            - PGID=1000
            - TZ=Europe/Stockholm
            - SERVERURL=auto #optional
            - SERVERPORT=51820 #optional
            - PEERS=1 #optional
            - PEERDNS=auto #optional
            - INTERNAL_SUBNET=10.13.13.0 #optional
            - ALLOWEDIPS=0.0.0.0/0 #optional
            - PERSISTENTKEEPALIVE_PEERS= #optional
            - LOG_CONFS=false #optional
          ports:
            - "51820:51820/tcp"
            - "9091:9091/tcp" # WebUI transmission
          volumes:
            - ./wireguard/config:/config
            - /lib/modules:/lib/modules
          restart: unless-stopped

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

     transmission:

          image: lscr.io/linuxserver/transmission:latest
          container_name: transmission
          depends_on:
            - wireguard
          network_mode: "service:wireguard"
          env_file:
            - ./transmission/transmission.env
          environment:
            - PUID=1000
            - PGID=1000
            - TZ=Europe/Paris
          volumes:
            - ./transmission/config:/config
            - ./transmission/downloads:/downloads
            - ./transmission/watch:/watch
          restart: unless-stopped

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

.env :
Code:
PUID=1000
PGID=1000
TZ=Europe/Paris

RACINE=/home/rody/docker
DOWNLOAD=./transmission/downloads

transmission.env :
Code:
#USER=username
#PASS=password
PEERPORT=51820

wg0.conf :
Code:
[Interface]
Address = 10.13.13.1
ListenPort = 51820
PrivateKey = XXX
PostUp = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=172.16.0.0/12; ip route add $HOMENET2 via $DROUTE; ip route add $HOMENET via $DROUTE;iptables -I OUTPUT -d >
PreDown = HOMENET=192.168.0.0/16; HOMENET2=172.16.0.0/12; ip route del $HOMENET2 via $DROUTE; ip route del $HOMENET via $DROUTE; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrty>

[Peer]
# peer1
PublicKey = XXX
PresharedKey = XXX
AllowedIPs = 10.13.13.2/32
 
Dernière édition par un modérateur: