[OMV] Rediriger une application Docker vers un VPN
Posté : 23 juin 2026 10:34
Si vous êtes un brin parano, ou simplement prudent de protéger votre anonymat, l'utilisation d'un VPN peut s'avérer très intéressante. En achetant ce genre de service payant chez un fournisseur style CyberGhost VPN, NordVPN, AirVPN, ou autre, vous allez vous promener sur le web comme si vous étiez dans un autre pays. La technique n'est pas infaillible, ne vous méprenez pas, mais c'est déjà un bon début. Sans parler de l'avantage que ça apporte avec des plateformes de streaming comme Netflix en vous ouvrant le catalogue d'autres pays qui diffusent parfois (souvent !) des programmes non disponibles dans votre pays.
Petite démonstration via notre serveur de téléchargements créé dans le tuto correspondant
Connectez-vous via Putty à votre serveur

Tapez la commande suivante et exécutez-la

Si vous recevez un message d'erreur à propos de curl qui n'est pas disponible, il suffit de l'installer via la commande suivante :
Les infos retournées par la commande montrent clairement votre localisation, ainsi que votre adresse IP publique fournie par votre ISP, et les infos qui le concernent (dans mon exemple, je suis en Belgique).

Intéressons-nous maintenant aux applications qui tournent sous Docker, en prenant par exemple qBittorrent. Toujours sous Putty, lancez la commande suivante afin de vous connecter dans l'environnement dédié à qBittorrent par Docker (remplacez qbittorrent par le nom du conteneur Docker auquel vous désirez vous connecter)...
...et relancez la commande précédente
Même résultat qui confirme une nouvelle fois votre localisation

Cette information est également visible directement dans l'interface de qBittorrent si on l'active pour qu'elle s'affiche dans la barre d'état (cachée, mais c'est bien la même IP que celle retournée dans Putty)

Nous allons donc installer une nouvelle application dans Docker, Gluetun, qui va nous permettre de nous connecter à notre fournisseur VPN (liste des compatibles ici).
Les étapes à suivre :
Dans les paramètres de votre compte CyberGhost, cliquez sur VPN...

...et cliquez sur le bouton Configurer l'appareil de la Configuration manuelle dans la zone Configuration avancée

Choisissez Open VPN comme protocole, le pays de votre choix (Kazakhstan dans mon exemple) ainsi que Premium Servers comme Groupe de serveurs. Donnez un nom à votre appareil, et cliquez sur Sauvegarder la Configuration

Votre nouvel appareil apparaîtra maintenant dans la liste des appareils configurés. Cliquez sur Afficher...

... pour copier votre login et votre mot de passe. Cliquez également sur Configuration de téléchargement pour récupérer les fichiers de configuration nécessaires.

Comme nous l'avions fait lors de la création des applications Docker précédentes, nous allons maintenant créer un répertoire gluetun dans le dossier partagé configs de façon à garder la même cohérence de centraliser tout au même endroit

Ouvrez maintenant l'archive ZIP récupérée chez votre fournisseur VPN, et décompressez les fichiers dans le répertoire nouvellement créé (donc logiquement \\VOTRE_SERVEUR\configs\gluetun)

Maintenant, nous allons ajouter un container Docker pour Gluetun et y définir dans un premier temps les ports utilisés par qBittorrent. Et dans le script de qBittorrent, nous allons supprimer les ports et rediriger l'application vers Gluetun.
Commençons par éditer le script qBittorrent existant. Allez dans Services -> Compose -> Files, sélectionnez l'application qbittorent et cliquez sur la flèche vers le bas en haut pour l'éteindre. Elle passera en statut Down

Toujours avec l'application qbittorent sélectionnée, cliquez maintenant sur le crayon de la barre de menu afin de l'éditer

Sélectionnez les 4 lignes en rapport avec les ports, et coupez/collez-les dans un bloc-notes.

Insérez la ligne suivante (l'endroit n'a normalement pas d'importance) et cliquez sur Enregistrer

Copiez le code suivant dans votre bloc-notes en y insérant les informations relatives à votre fournisseur VPN (instructions pour chacun ici). Pour rappel, l'exemple ci-dessous est pour CyberGhost VPN.
Retournez sur votre serveur et ajoutez une nouvelle application via + et Ajouter dans le menu. Nommez celle-ci gluetun et copiez le script dans la zone File. Cliquez sur Enregistrer. Remarquez que j'ai rajouté un commentaire #qbittorrent devant chaque ligne des ports retirés à qBittorrent et rajoutés à Gluetun. C'est juste purement cosmétique et pour m'y retrouver.

Sélectionnez gluetun dans la liste et cliquez sur la flèche vers le haut du menu pour installer et lancer l'application

Faites la même chose avec l'application qbittorrent. Remarquez qu'il n'y a aucun port affiché

Si on retourne dans Putty et qu'on lance de nouveau la commande curl ipinfo.io, notre serveur tourne toujours sur notre adresse normale.

Par contre, si nous retournons dans le container qBittorrent et que nous lançons la même commande, nous constatons que nous sommes maintenant en Bulgarie (je suppose que CyberGhost connecte le Kazkhstan en Bulgarie).

Et l'adresse IP affichée dans qBittorrent correspond bien

CQFD !
Maintenant, plus qu'à éditer les autres applications (JDownloader 2, SABnzbd et MeTube) en y rajoutant la ligne
et supprimer les ports pour les transférer dans l'application gluetun (Toujours faire Down via la flèche vers le bas avant de modifier une application !!! Faites aussi bien attention de ne recopier QUE les lignes avec les numéros de ports, et pas la balise ports: à plusieurs reprises, sans quoi Gluetun planterait).
Dernières opérations après toutes ces modifications : faire Up sur chaque application en commençant par gluetun. Les autres applications dépendent maintenant de cette dernière, donc elles ne se lanceront pas et afficheront une erreur si elles sont lancées avant.
Le script de votre application gluetun ressemblera finalement à ceci
Et le panneau des applications ressemblera à ça, avec tous les ports dans gluetun et plus aucun dans les autres applications

Vous pourrez évidemment retourner dans l'environnement Docker de chaque application via Putty pour vérifier qu'elle tourne bien en utilisant le VPN.
En rapport avec le post Trucs et astuces concernant l'accélération de vos téléchargements sous jdownloader via un VPN, ceci est bien évidemment directement opérationnel en suivant ce tuto, et vous n'aurez jamais à activer/désactiver le VPN. J'ai même poussé le vice plus loin en créant plusieurs Docker Gluetun et jdownloader2 suivant différents pays afin de bénéficier des avantages de chacun.
Attention toutefois que si vous utilisez un service de débridage comme AllDebrid ou Real-Debrid, ils peuvent s'emmêler les pinceaux si vous swappez souvent vos téléchargements depuis plusieurs pays en même temps.
Petite démonstration via notre serveur de téléchargements créé dans le tuto correspondant
Connectez-vous via Putty à votre serveur

Tapez la commande suivante et exécutez-la
Code : Tout sélectionner
curl ipinfo.io
Si vous recevez un message d'erreur à propos de curl qui n'est pas disponible, il suffit de l'installer via la commande suivante :
Code : Tout sélectionner
apt install curl -y
Intéressons-nous maintenant aux applications qui tournent sous Docker, en prenant par exemple qBittorrent. Toujours sous Putty, lancez la commande suivante afin de vous connecter dans l'environnement dédié à qBittorrent par Docker (remplacez qbittorrent par le nom du conteneur Docker auquel vous désirez vous connecter)...
Code : Tout sélectionner
docker exec -it qbittorrent shCode : Tout sélectionner
curl ipinfo.io
Cette information est également visible directement dans l'interface de qBittorrent si on l'active pour qu'elle s'affiche dans la barre d'état (cachée, mais c'est bien la même IP que celle retournée dans Putty)

Nous allons donc installer une nouvelle application dans Docker, Gluetun, qui va nous permettre de nous connecter à notre fournisseur VPN (liste des compatibles ici).
Les étapes à suivre :
- créer une nouvelle connexion pour notre serveur chez notre fournisseur
- rediriger les ports utilisés par nos applications dans Gluetun
- dire aux applications d'utiliser Gluetun
Dans les paramètres de votre compte CyberGhost, cliquez sur VPN...

...et cliquez sur le bouton Configurer l'appareil de la Configuration manuelle dans la zone Configuration avancée

Choisissez Open VPN comme protocole, le pays de votre choix (Kazakhstan dans mon exemple) ainsi que Premium Servers comme Groupe de serveurs. Donnez un nom à votre appareil, et cliquez sur Sauvegarder la Configuration

Votre nouvel appareil apparaîtra maintenant dans la liste des appareils configurés. Cliquez sur Afficher...

... pour copier votre login et votre mot de passe. Cliquez également sur Configuration de téléchargement pour récupérer les fichiers de configuration nécessaires.

Comme nous l'avions fait lors de la création des applications Docker précédentes, nous allons maintenant créer un répertoire gluetun dans le dossier partagé configs de façon à garder la même cohérence de centraliser tout au même endroit

Ouvrez maintenant l'archive ZIP récupérée chez votre fournisseur VPN, et décompressez les fichiers dans le répertoire nouvellement créé (donc logiquement \\VOTRE_SERVEUR\configs\gluetun)

Maintenant, nous allons ajouter un container Docker pour Gluetun et y définir dans un premier temps les ports utilisés par qBittorrent. Et dans le script de qBittorrent, nous allons supprimer les ports et rediriger l'application vers Gluetun.
Commençons par éditer le script qBittorrent existant. Allez dans Services -> Compose -> Files, sélectionnez l'application qbittorent et cliquez sur la flèche vers le bas en haut pour l'éteindre. Elle passera en statut Down

Toujours avec l'application qbittorent sélectionnée, cliquez maintenant sur le crayon de la barre de menu afin de l'éditer

Sélectionnez les 4 lignes en rapport avec les ports, et coupez/collez-les dans un bloc-notes.

Insérez la ligne suivante (l'endroit n'a normalement pas d'importance) et cliquez sur Enregistrer
Code : Tout sélectionner
network_mode: container:gluetun
Copiez le code suivant dans votre bloc-notes en y insérant les informations relatives à votre fournisseur VPN (instructions pour chacun ici). Pour rappel, l'exemple ci-dessous est pour CyberGhost VPN.
Code : Tout sélectionner
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
cap_add:
- NET_ADMIN
ports:
- 8082:8082 #qbittorrent
- 6881:6881 #qbittorrent
- 6881:6881/udp #qbittorrent
devices:
- /dev/net/tun:/dev/net/tun
environment:
- VPN_SERVICE_PROVIDER=cyberghost
- OPENVPN_USER=
- OPENVPN_PASSWORD=
- SERVER_COUNTRIES=
volumes:
- /srv/dev-disk-by-uuid-fc70f6e9-109d-414a-8788-ab7d14ac4b6d/configs/gluetun:/gluetun
restart: unless-stopped

Sélectionnez gluetun dans la liste et cliquez sur la flèche vers le haut du menu pour installer et lancer l'application

Faites la même chose avec l'application qbittorrent. Remarquez qu'il n'y a aucun port affiché

Si on retourne dans Putty et qu'on lance de nouveau la commande curl ipinfo.io, notre serveur tourne toujours sur notre adresse normale.

Par contre, si nous retournons dans le container qBittorrent et que nous lançons la même commande, nous constatons que nous sommes maintenant en Bulgarie (je suppose que CyberGhost connecte le Kazkhstan en Bulgarie).

Et l'adresse IP affichée dans qBittorrent correspond bien

CQFD !
Maintenant, plus qu'à éditer les autres applications (JDownloader 2, SABnzbd et MeTube) en y rajoutant la ligne
Code : Tout sélectionner
network_mode: container:gluetunDernières opérations après toutes ces modifications : faire Up sur chaque application en commençant par gluetun. Les autres applications dépendent maintenant de cette dernière, donc elles ne se lanceront pas et afficheront une erreur si elles sont lancées avant.
Le script de votre application gluetun ressemblera finalement à ceci
Code : Tout sélectionner
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
cap_add:
- NET_ADMIN
ports:
- 5800:5800 #jdownloader-2
- 8080:8080 #sabnzbd
- 8081:8081 #metube
- 8082:8082 #qbittorrent
- 6881:6881 #qbittorrent
- 6881:6881/udp #qbittorrent
devices:
- /dev/net/tun:/dev/net/tun
environment:
- VPN_SERVICE_PROVIDER=cyberghost
- OPENVPN_USER=
- OPENVPN_PASSWORD=
- SERVER_COUNTRIES=Kazakhstan
volumes:
- /srv/dev-disk-by-uuid-fc70f6e9-109d-414a-8788-ab7d14ac4b6d/configs/gluetun:/gluetun
restart: unless-stopped
Vous pourrez évidemment retourner dans l'environnement Docker de chaque application via Putty pour vérifier qu'elle tourne bien en utilisant le VPN.
En rapport avec le post Trucs et astuces concernant l'accélération de vos téléchargements sous jdownloader via un VPN, ceci est bien évidemment directement opérationnel en suivant ce tuto, et vous n'aurez jamais à activer/désactiver le VPN. J'ai même poussé le vice plus loin en créant plusieurs Docker Gluetun et jdownloader2 suivant différents pays afin de bénéficier des avantages de chacun.
Attention toutefois que si vous utilisez un service de débridage comme AllDebrid ou Real-Debrid, ils peuvent s'emmêler les pinceaux si vous swappez souvent vos téléchargements depuis plusieurs pays en même temps.