Installer ProtonVPN sur NAS Synology
0 / 8
← Tous les guides

Installer ProtonVPN sur NAS Synology

Configuration Docker + GlueTUN + WireGuard avec port forwarding NAT-PMP. Le seul combo qui maintient la flamme verte dans qBittorrent en 2026.

Publié le 20 avril 2026

Choisissez votre guide

Ce guide a un but éducatif. monratio.fr n'encourage en aucun cas le piratage ou le téléchargement illégal de contenus protégés par le droit d'auteur.

Setup testé dans ce guide

Synology DS418play (Intel Celeron J3355, 2 Go de RAM), HDD classiques en SHR, fibre 800 Mb/s, Docker avec GlueTUN + qBittorrent + ProtonVPN Plus (WireGuard + NAT-PMP).

Résultat mesuré : de 3 Mo/s à 25 Mo/s sur le même hardware, avec flamme verte et port forwarding actif.

Pré-requis avant de commencer
  • NAS Synology DSM 7.0 ou supérieur avec Container Manager installé (ex-Docker). Vérifier dans Centre de paquets.
  • Abonnement Proton VPN Plus minimum : c'est le seul plan qui inclut le port forwarding NAT-PMP et WireGuard. Le plan gratuit ne convient pas pour cet usage.
  • Accès SSH au NAS (Panneau de configuration → Terminal & SNMP → activer SSH), utile pour vérifier les logs.
  • Dossier partagé Docker déjà créé sur le NAS (par défaut : /volume1/docker).
1

🎯 Pourquoi ProtonVPN et pas un autre sur NAS

En 2026, tous les VPN ne se valent pas pour un usage NAS torrent. La différence se joue sur deux critères techniques : le protocole (pour les débits) et le port forwarding (pour le ratio).

Comparatif VPN pour NAS en 2026 :

ProtonVPN Plus (ce guide) WireGuard + NAT-PMP auto ✓
AirVPN (3€/mois) WireGuard + port fixe manuel ✓
NordVPN NordLynx OK, pas de PF ⚠
Mullvad PF supprimé en 2023 ✗

ProtonVPN Plus coche les deux cases avec un atout décisif : le port forwarding se fait via NAT-PMP, un protocole que GlueTUN sait interroger automatiquement. Résultat : à chaque reconnexion, le nouveau port est transmis à qBittorrent sans intervention manuelle. C'est unique sur l'écosystème Docker grand public en 2026.

Le plan Plus (~10€/mois, ~5€ en engagement long) reste le meilleur investissement si votre priorité est un ratio sérieux sur trackers privés et une connexion toujours opérationnelle sans script de maintenance.

ProtonVPN Plus coche les trois cases qui comptent pour un NAS Celeron en 2026 :

  • WireGuard kernel-level : ×3 à ×8 en débit vs OpenVPN sur Celeron J3355
  • Port forwarding via NAT-PMP : négocié dynamiquement à chaque session, réinjecté dans qBittorrent via l'UP_COMMAND GlueTUN
  • Support natif GlueTUN avec VPN_PORT_FORWARDING_PROVIDER=protonvpn, pas de script maison à maintenir
# DS418play, ProtonVPN WireGuard FR, NAT-PMP
$ top
CPU : 14.2% user, wireguard kernel
$ docker logs gluetun | grep "port forwarded"
port forwarded: 47821 (ProtonVPN)
$ curl -s http://localhost:9775/api/v2/app/preferences | jq .listen_port
47821
# Port pushed automatiquement → flamme verte garantie

Plan requis : Proton VPN Plus. Le plan gratuit n'inclut ni WireGuard ni port forwarding.

Pourquoi ProtonVPN est devenu le standard sur NAS. Depuis 2023, Mullvad a supprimé le port forwarding et NordVPN ne l'a jamais proposé. AirVPN reste excellent mais exige une gestion manuelle des ports. ProtonVPN est le seul à combiner WireGuard, NAT-PMP dynamique et intégration GlueTUN "plug-and-play" : vous configurez une fois, le port se réinjecte tout seul à chaque reconnexion. Sur un NAS qui tourne 24/7, c'est la différence entre un setup qu'on oublie et un setup qu'on surveille.

2

🔑 Générer votre config WireGuard ProtonVPN

Contrairement à NordVPN ou AirVPN, ProtonVPN utilise un générateur de config WireGuard en ligne. Aucun identifiant OpenVPN à gérer, aucun port à réserver manuellement : tout est intégré au dashboard.

Attention : vous n'utiliserez pas votre email + mot de passe Proton directement dans Docker. Le dashboard génère une paire de clés WireGuard dédiée qu'on va injecter dans GlueTUN. Vos identifiants de compte Proton ne quittent jamais le navigateur.

  1. Connectez-vous sur account.protonvpn.com
  2. Dans le menu de gauche : Downloads → WireGuard configuration
  3. Configurez les options exactement comme indiqué ci-dessous
  4. Cliquez sur Create et téléchargez le fichier .conf

Options à configurer dans le générateur Proton :

Nom de la config NAS-FR-P2P (libre)
Plateforme Linux (ou Router)
Serveur France - P2P
✓ NAT-PMP (Port Forwarding) COCHÉ
✓ VPN Accelerator COCHÉ
✗ Moderate NAT DÉCOCHÉ
✗ NetShield DÉCOCHÉ
⭐ La case NAT-PMP est l'élément crucial : sans elle, pas de port forwarding, pas de flamme verte.

Une fois le fichier .conf téléchargé, ouvrez-le avec un éditeur de texte (Bloc-notes, TextEdit, Nano…). Vous y trouverez deux lignes importantes :

Contenu du fichier .conf ProtonVPN :

[Interface]
PrivateKey = xxxxx...xxxxx  ← Notez cette ligne
Address = 10.2.0.2/32  ← Notez cette ligne
DNS = 10.2.0.1

[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
Endpoint = fr-xx.protonvpn.udp:51820

Gardez la PrivateKey et l'Address sous la main. Elles vont dans le docker-compose à l'étape suivante.

Sur account.protonvpn.com → Downloads → WireGuard configuration :

# Générateur WireGuard Proton :
Platform: Linux (ou Router)
Server: FR-P2P#XX (ou NL/CH/DE selon besoins)
Features:
  ✓ NAT-PMP (Port Forwarding)  ← indispensable
  ✓ VPN Accelerator
  ✗ Moderate NAT               ← bloque le PF
  ✗ NetShield                  ← inutile sur NAS

# Récupérer dans le .conf :
PrivateKey = xxxxx
Address    = 10.2.0.X/32

NB : la PrivateKey Proton n'est pas le mot de passe du compte. C'est une clé WireGuard dédiée, révocable à tout moment depuis le dashboard sans toucher au compte principal.

Pourquoi décocher Moderate NAT et NetShield ? Moderate NAT filtre certains types de connexions entrantes et bloque le port forwarding : c'est exactement l'inverse de ce qu'on veut. NetShield est un bloqueur de pubs/trackers DNS qui n'a pas de sens pour un NAS dédié au torrent (aucune navigation web, zéro bénéfice, léger ralentissement).

3

🐳 Créer le docker-compose GlueTUN + qBittorrent

Docker est déjà installé sur votre Synology (depuis DSM 7.2, c'est Container Manager). On va utiliser Docker Compose qui permet de lancer plusieurs conteneurs en une seule commande.

On va lancer 2 conteneurs qui travaillent ensemble :

🔒 GlueTUN
Gère la connexion VPN. Crée le tunnel WireGuard vers ProtonVPN, négocie le port via NAT-PMP et le pousse à qBittorrent automatiquement.
→
📥 qBittorrent
Le client torrent. Passe par le réseau de GlueTUN. Aucun accès direct à Internet. Reçoit le port Proton via l'API interne.

Créez un fichier docker-compose.yml dans /volume1/docker/qbittorrent/ et collez le code ci-dessous. Remplacez VOTRE_CLE_PRIVEE par la clé récupérée à l'étape 2, et adaptez WIREGUARD_ADDRESSES à la valeur de votre fichier .conf.

docker-compose.yml :

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=VOTRE_CLE_PRIVEE
      - WIREGUARD_ADDRESSES=10.2.0.2/32
      - SERVER_COUNTRIES=France
      - VPN_PORT_FORWARDING=on
      - VPN_PORT_FORWARDING_PROVIDER=protonvpn
      - VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'wget -q -O- --post-data "json={\"listen_port\":{{PORTS}}}" http://localhost:9775/api/v2/app/setPreferences 2>&1'
      - TZ=Europe/Paris
    ports:
      - 9775:9775
    volumes:
      - /volume1/docker/gluetun:/gluetun
    restart: always

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    network_mode: "service:gluetun"
    depends_on:
      gluetun:
        condition: service_healthy
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Paris
      - WEBUI_PORT=9775
    volumes:
      - /volume1/docker/qbittorrent:/config
      - /volume1/docker/qbittorrent/downloads:/downloads
    restart: always

Lancez ensuite les conteneurs. Dans Container Manager (DSM 7.2+), cliquez sur Project puis Create, sélectionnez votre fichier docker-compose.yml et validez.

Décortiquons les lignes vraiment spécifiques à ProtonVPN :

  • VPN_SERVICE_PROVIDER=protonvpn : dit à GlueTUN d'utiliser les serveurs ProtonVPN et les bons endpoints WireGuard.
  • VPN_PORT_FORWARDING=on + VPN_PORT_FORWARDING_PROVIDER=protonvpn : active l'interrogation NAT-PMP pour négocier un port côté Proton. Spécifique à ProtonVPN, aucun autre VPN ne supporte cette combinaison dans GlueTUN.
  • VPN_PORT_FORWARDING_UP_COMMAND : la ligne magique. Quand GlueTUN obtient un port, il lance automatiquement un wget qui pousse ce port dans qBittorrent via l'API /api/v2/app/setPreferences. Plus besoin de toucher à qBittorrent manuellement.
  • network_mode: "service:gluetun" : qBittorrent utilise le réseau de GlueTUN. Si le VPN tombe, qBittorrent perd Internet instantanément. C'est votre kill switch automatique.
  • PUID=1026 PGID=100 : les identifiants utilisateur/groupe sur Synology. Vérifiez les vôtres en SSH avec id.

Fichier /volume1/docker/qbittorrent/docker-compose.yml :

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    cap_add: [NET_ADMIN]
    devices: [/dev/net/tun:/dev/net/tun]
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=<key>
      - WIREGUARD_ADDRESSES=10.2.0.2/32
      - SERVER_COUNTRIES=France
      - VPN_PORT_FORWARDING=on
      - VPN_PORT_FORWARDING_PROVIDER=protonvpn
      - VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'wget -q -O- --post-data "json={\"listen_port\":{{PORTS}}}" http://localhost:9775/api/v2/app/setPreferences 2>&1'
    ports: [9775:9775]
    volumes: [/volume1/docker/gluetun:/gluetun]
    restart: always

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    network_mode: "service:gluetun"
    depends_on: { gluetun: { condition: service_healthy } }
    environment:
      - PUID=1026
      - PGID=100
      - WEBUI_PORT=9775
    volumes:
      - /volume1/docker/qbittorrent:/config
      - /volume1/docker/qbittorrent/downloads:/downloads

Déploiement :

# En SSH sur le NAS
cd /volume1/docker/qbittorrent
docker-compose up -d
docker logs -f gluetun
# Attendre "Wireguard is up" puis "port forwarded: XXXXX"

Le kill switch automatique. Grâce à network_mode: "service:gluetun", qBittorrent ne peut passer que par le VPN. Si GlueTUN s'arrête ou perd la connexion, qBittorrent perd Internet instantanément. Aucun risque de fuite de votre vraie IP, même pendant une fraction de seconde. C'est le même mécanisme que sur les autres VPN, sauf qu'ici le port forwarding est en prime.

4

💾 Régler qBittorrent pour HDD classiques

Les disques durs mécaniques sont le deuxième goulot d'étranglement après le VPN. Un HDD lit/écrit à 100-150 Mo/s quand les données sont séquentielles. Mais BitTorrent télécharge par petits morceaux en désordre : c'est ce qu'on appelle les écritures aléatoires, et ça tue les performances.

L'astuce : utiliser la RAM du NAS comme tampon pour absorber ces écritures en vrac, puis les écrire sur le disque de façon plus ordonnée.

Connectez-vous à l'interface web de qBittorrent (http://IP-NAS:9775), puis allez dans Paramètres → Avancé :

Paramètres → Avancé :

Fils d'E/S asynchrones 10
Fils de hachage 2
Taille file d'attente disque 1024 Kio
Type d'E/S du disque Compatible POSIX
Mode d'écriture E/S disque Cache du système ⭐
Mode de lecture E/S disque Cache du système
Affinité par extension de morceau Oui
⭐ Le plus important : le "cache du système" utilise la RAM libre du NAS comme tampon d'écriture.

Puis dans Comportement :

Paramètres → Comportement :

Limite mémoire physique 128 Mio (2Go RAM) / 512 Mio (4+Go)
Mémoire en suspens (vérification) 128 Mio
Interface réseau 🛡️ tun0 (obligatoire)
🛡️ Interface tun0 = kill switch de qBittorrent. Si le VPN tombe, aucun trafic ne sort.

Paramètres → Avancé :

  • Fils d'E/S asynchrones : 10
  • Fils de hachage : 2
  • Taille file disque : 1024 Kio
  • Type E/S : Compatible POSIX
  • Mode R/W E/S : Cache du système d'exploitation
  • Affinité extension : Oui

Comportement :

  • Limite mémoire : 128 Mio (2Go) / 512 Mio (4+Go)
  • Mémoire vérification : 128 Mio
  • Interface réseau : tun0 (kill switch)

Pourquoi upgrader la RAM fait une différence. Plus votre NAS a de RAM libre, plus le cache d'écriture peut absorber de données avant de les écrire sur le disque. Sur DS418play, passer de 2 Go à 6 Go coûte ~20€ et double facilement les débits sur HDD. C'est l'upgrade avec le meilleur rapport qualité/prix.

5

🔓 Autoriser localhost dans qBittorrent (crucial)

Par défaut, qBittorrent exige un nom d'utilisateur et un mot de passe pour accéder à son API. Problème : la commande wget lancée par GlueTUN pour pousser le nouveau port ne connaît pas ces identifiants. Sans ce réglage, la flamme restera orange malgré une config par ailleurs correcte. C'est l'erreur la plus fréquente sur ce setup.

Dans l'interface web de qBittorrent, allez dans Paramètres → WebUI :

Paramètres → WebUI :

Contourner l'authentification pour les clients localhost 🔑 COCHÉ
Contourner l'authentification pour clients subnet Optionnel
Nom d'utilisateur admin (à changer)
Mot de passe adminadmin (à changer)
🔑 Cochez "Contourner l'authentification pour les clients localhost". Puisque GlueTUN et qBittorrent partagent la même stack réseau, les appels depuis localhost viennent strictement du conteneur GlueTUN, pas de l'extérieur. Cette case est sûre.

Pourquoi c'est safe : qBittorrent tourne en network_mode: "service:gluetun", ce qui signifie que localhost (127.0.0.1) n'est accessible que depuis les processus qui partagent cette stack réseau, c'est-à-dire GlueTUN et qBittorrent eux-mêmes. Personne d'autre ne peut s'y connecter, même sur le réseau local.

Après avoir coché la case et cliqué sur Enregistrer, redémarrez GlueTUN pour qu'il relance l'UP_COMMAND :

# En SSH sur le NAS
docker restart gluetun
docker logs gluetun --tail 50 | grep -E "port forwarded|setPreferences"

Paramètres → WebUI → cocher Bypass authentication for clients on localhost.

# Sans cette case :
# UP_COMMAND → 403 Forbidden → port jamais injecté → flamme orange

# Avec la case :
# UP_COMMAND → 200 OK → listen_port mis à jour → flamme verte

# Test manuel (après activation) :
docker exec qbittorrent wget -qO- \
  --post-data "json={\"listen_port\":47821}" \
  http://localhost:9775/api/v2/app/setPreferences
# → retour vide = succès

Vérification ultérieure du flux complet :

  • docker logs gluetun | grep "port forwarded" → port obtenu côté Proton
  • curl http://NAS_IP:9775/api/v2/app/preferences | jq .listen_port → port effectivement injecté
  • Les deux doivent correspondre.

L'erreur qui fait perdre des heures. 90% des gens qui configurent ProtonVPN + GlueTUN + qBittorrent pour la première fois oublient cette case et passent des heures à chercher pourquoi la flamme reste orange. La config VPN est parfaite, le port est bien forwardé côté Proton, mais GlueTUN se fait recaler par l'auth qBittorrent et le port n'est jamais injecté. Cochez cette case, redémarrez GlueTUN, c'est réglé.

6

📦 Limiter les torrents actifs et préallouer

2 réglages complémentaires qui font gagner beaucoup de débit sur HDD : limiter le nombre de torrents actifs en parallèle, et préallouer l'espace disque.

Allez dans Paramètres → BitTorrent → File d'attente :

Téléchargements actifs max 3
Envois actifs max 5
Torrents actifs max 8
En vérification max 1

Puis dans Paramètres → Téléchargements, cochez Préallouer l'espace disque pour tous les fichiers. Cela évite la fragmentation des fichiers sur HDD et accélère à la fois le téléchargement, le seeding et la lecture Plex/Jellyfin.

Sans préallocation
Fichier éparpillé sur le disque
Avec préallocation
Fichier continu, lecture rapide

Résultat concret : passer de 15 torrents actifs à 3 peut doubler votre débit effectif sur HDD, et la préallocation divise par 2 à 3 le temps de scan au démarrage de qBittorrent.

File d'attente : 3 DL / 5 UL / 8 total / 1 check.

Paramètres → Téléchargements → Préallouer l'espace disque pour tous les fichiers coché.

Moins de torrents parallèles = I/O plus séquentielles = ×2 débit sur HDD. Préallocation = zéro fragmentation, fichiers directement prêts pour lecture média.

7

✅ Vérification : la flamme verte

Une fois tout lancé, comment savoir si tout fonctionne ? Regardez en bas à droite de l'interface web de qBittorrent. Vous y verrez une petite icône de connexion :

🟢 Verte : port ouvert via NAT-PMP
Les autres peers peuvent initier une connexion vers vous. Seeding optimal, ratio en progression.
🟠 Orange : port fermé
Anormal avec ProtonVPN Plus. Voir le diagnostic ci-dessous.
🔴 Rouge : pas de connexion
Le tunnel WireGuard est tombé. Kill switch actif, aucun trafic. Vérifier les logs GlueTUN.

Si l'icône reste orange, voici le diagnostic pas à pas :

  1. Vérifiez les logs GlueTUN : cherchez une ligne du type port forwarded: 47821. Si elle n'apparaît pas, le problème est côté VPN : revérifiez que NAT-PMP est bien coché dans votre config ProtonVPN (étape 2) et que votre plan est bien Proton VPN Plus ou supérieur.
  2. Vérifiez le port dans qBittorrent : Paramètres → Connexion. Le port d'écoute doit correspondre exactement au numéro affiché dans les logs GlueTUN. S'il ne correspond pas, c'est que l'UP_COMMAND n'a pas fonctionné.
  3. Vérifiez le bypass auth localhost : Paramètres → WebUI → case Contourner l'authentification pour les clients localhost. Sans ça, la commande UP_COMMAND est rejetée en 403 Forbidden. C'est l'erreur #1 (voir étape 5).
  4. Redémarrez GlueTUN après avoir coché la case : docker restart gluetun. Sans redémarrage, l'UP_COMMAND ne sera pas relancée.
🎉
Setup ProtonVPN complet !
Flamme verte, port forwarding automatique, kill switch actif, débits 25 Mo/s.
CPU à 20%, RAM à 40%, Plex fluide en parallèle.

Vérification rapide en ligne de commande :

# 1. Tunnel WireGuard actif
docker logs gluetun 2>&1 | grep -iE "wireguard.*up|healthy"

# 2. Port forwardé côté Proton (NAT-PMP)
docker logs gluetun 2>&1 | grep "port forwarded"
# → "port forwarded: 47821"

# 3. Port injecté dans qBittorrent
curl -s http://NAS_IP:9775/api/v2/app/preferences | jq .listen_port
# → 47821 (doit matcher la ligne du dessus)

# 4. Les deux ports correspondent ? Flamme verte garantie.

# 5. Test kill switch
docker stop gluetun
curl -m 5 http://NAS_IP:9775    # → timeout attendu
docker start gluetun

Le port NAT-PMP Proton change à chaque reconnexion. L'UP_COMMAND garantit la resynchronisation automatique, zéro maintenance après setup initial.

Résultats mesurés sur le setup testé. Avant : OpenVPN + réglages par défaut = 3 Mo/s. Après : WireGuard ProtonVPN + NAT-PMP + réglages optimisés = 25 Mo/s (×8). Le CPU tourne à 20%, la RAM à 40%, Plex continue de streamer pendant les téléchargements, aucun lag système.

Avantage décisif vs autres VPN : le port forwarding est automatiquement resynchronisé à chaque reconnexion. Zéro script à maintenir, zéro ré-intervention manuelle. Sur un NAS qui tourne 24/7 pendant des années, c'est ce qui fait la différence entre un setup qu'on oublie et un setup qu'on surveille.

8

🚀 Tester le seed et monitorer

Dernière étape : valider que tout tient la route en conditions réelles. Lancez un torrent de test (n'importe quel .torrent Linux officiel fait l'affaire, par exemple Ubuntu ISO) et surveillez trois indicateurs pendant 10-15 minutes.

Les 3 check à faire en live :

1. IP publique masquée
Dans Container Manager → Terminal du conteneur gluetun → tapez wget -qO- ipinfo.io/ip. Vous devez voir une IP ProtonVPN française, pas la vôtre.
2. Peers connectés entrants
Cliquez sur le torrent, onglet Pairs. Vous devez voir à la fois des peers avec le drapeau "Incoming" (flèche entrante) et "Outgoing". Si uniquement Outgoing : port forwarding cassé.
3. Kill switch fonctionnel
En SSH sur le NAS : docker stop gluetun. qBittorrent doit immédiatement perdre l'accès réseau (tous les torrents passent à 0 Ko/s). Puis docker start gluetun pour tout relancer.

Si les trois check passent : félicitations, votre NAS seede derrière ProtonVPN avec flamme verte, port forwarding actif, kill switch opérationnel. Vous pouvez laisser tourner 24/7.

🛡️
Tout est validé
IP Proton active, peers entrants OK, kill switch opérationnel.
Prochaine étape : configurer qBittorrent en profondeur (ratio, trackers, chiffrement).

Suite de tests en une commande :

# IP publique vue depuis le tunnel
docker exec gluetun wget -qO- ipinfo.io/json | jq '{ip, city, country, org}'
# → IP ProtonVPN

# Listen port effectif
curl -s http://NAS_IP:9775/api/v2/app/preferences | jq .listen_port

# Pairs entrants sur un torrent
curl -s "http://NAS_IP:9775/api/v2/sync/torrentPeers?hash=<hash>" \
  | jq '.peers | to_entries | map(select(.value.connection == "BT")) | length'

# Test kill switch
docker stop gluetun; sleep 3
docker exec qbittorrent wget -qO- -T 5 ifconfig.me || echo "KILL SWITCH OK"
docker start gluetun

Monitoring long terme recommandé : exporter les stats GlueTUN (endpoint /v1/vpn/status sur port 8000 si exposé) vers Prometheus + Grafana pour surveiller reconnexions, rotation de port NAT-PMP et débits.

Et maintenant ? Vous avez le setup VPN + NAS prêt à seeder. Si vous n'avez pas encore configuré qBittorrent en profondeur (profils ratio, chiffrement, trackers privés), continuez avec le guide Configurer qBittorrent : la config qui protège vraiment. Il couvre tous les réglages qui font la différence sur trackers privés en 2026.

Problèmes courants et solutions

Les trois pièges qui font perdre le plus de temps sur ce setup.

Flamme orange malgré une config correcte

Cause n°1 : la case Contourner l'authentification pour les clients localhost n'est pas cochée dans qBittorrent WebUI. L'UP_COMMAND est rejetée en 403 Forbidden et le port n'est jamais injecté.

Solution : Paramètres → WebUI → cocher la case, enregistrer, puis docker restart gluetun. Vérifier ensuite que curl http://NAS_IP:9775/api/v2/app/preferences | jq .listen_port correspond à la ligne port forwarded: XXXXX dans les logs GlueTUN.

GlueTUN unhealthy, aucune ligne "Wireguard is up"

Cause probable : la PrivateKey ou WIREGUARD_ADDRESSES ne correspondent pas à votre fichier .conf téléchargé depuis Proton. Ou alors le serveur choisi (SERVER_COUNTRIES=France) ne supporte pas votre config (rare, mais testez Netherlands ou Switzerland).

Solution : recopiez précisément les deux valeurs depuis le .conf généré, sans espace en plus ni guillemets. Relancez docker-compose up -d --force-recreate gluetun.

Le port forwardé change trop souvent

C'est normal avec ProtonVPN : à chaque reconnexion (ou toutes les 60 minutes via renouvellement NAT-PMP), un nouveau port est attribué. L'UP_COMMAND gère la resynchronisation automatique, vous n'avez rien à faire. Si vous voyez la flamme orange très brièvement toutes les heures puis revenir verte, c'est le comportement attendu.

Si vous voulez un port vraiment fixe (pour certaines configs très spécifiques), AirVPN est la seule alternative avec port forwarding fixe. Mais à l'usage, l'UP_COMMAND de GlueTUN rend la rotation Proton totalement transparente.

Pour compléter votre setup

Vous avez le NAS opérationnel derrière ProtonVPN. 2 guides complémentaires pour finir le travail : installer ProtonVPN sur vos autres appareils, et configurer qBittorrent en profondeur pour les trackers privés.

🤝
Besoin d'un coup de main ?

Je peux vous aider à configurer tout ça à distance. Petit forfait ou au chapeau, on s'arrange.

Me contacter