Inspiré du projet de Tikibozo
Cette stack a été adaptée en fonction de mes besoins à partir du projet Plexarr de Tikibozo, qui propose une solution complète pour l'automatisation du téléchargement et de la gestion multimédia sous Docker.
Attention : Le paramétrage de tous ces services est long et fastidieux. Ne vous lancez pas dans cette configuration si vous n'avez pas un minimum de patience et de connaissances en gestion de serveurs et Docker.
a. Préparer le fichier
Assurez-vous d’avoir votre fichier
Exemple :
b. Préparer votre fichier
Vous pouvez gérer vos variables sensibles directement dans un fichier
2. Créer et déployer une stack dans Portainer avec
Astuce importante : Portainer charge automatiquement les variables définies dans le fichier
Je ne suis pas un grand spécialiste, mais je travaille chaque jour pour m’améliorer et approfondir mes connaissances dans le domaine. Ce tutoriel est donc perfectible, et j'encourage chacun à proposer des améliorations ou des suggestions pour optimiser cette stack. Ensemble, nous pouvons continuer à apprendre et à créer des solutions toujours plus efficaces.
N'hésitez pas à expérimenter, partager vos retours, et contribuer à enrichir cette configuration !
Cette stack a été adaptée en fonction de mes besoins à partir du projet Plexarr de Tikibozo, qui propose une solution complète pour l'automatisation du téléchargement et de la gestion multimédia sous Docker.
Services inclus dans la stack
Cette stack Docker regroupe plusieurs services permettant d’automatiser le téléchargement et la gestion multimédia :- gluetun – Fournit un VPN via OpenVPN/WireGuard pour sécuriser la connexion.
- flaresolverr – Bypass Cloudflare et résout les captchas.
- qbittorrent – Client BitTorrent pour télécharger des torrents.
- watchtower – Met à jour automatiquement les conteneurs Docker.
- plex – Serveur multimédia pour le streaming.
- bazarr – Gestionnaire de sous-titres pour les films et séries.
- sonarr – Gestionnaire de séries TV, télécharge et organise automatiquement.
- radarr – Gestionnaire de films, similaire à Sonarr.
- prowlarr – Gestionnaire d'indexeurs pour torrents et NZB.
- jackett – Proxy pour les indexeurs torrents.
- homepage – Tableau de bord pour gérer les services.
- tautulli – Suivi et analyse des statistiques de Plex.
- overseerr – Permet aux utilisateurs de demander du contenu pour Plex.
- autobrr – Gestionnaire de téléchargements torrents automatisés.
- tdarr – Outil d'optimisation et de transcodage vidéo.
- organizr – Portail unifié pour gérer plusieurs services web.
- whisper – Service de reconnaissance vocale basé sur OpenAI Whisper.

Prérequis
Avant d'installer cette stack Docker, assurez-vous d'avoir :- Un NAS Asustor AS5404T avec ADM 4.3.3.RC92 installé
- Docker et Docker Compose installés sur votre NAS
- Un abonnement NordVPN (ou un autre VPN compatible avec Gluetun)
- Un dossier
/data/docker/config/
pour stocker les configurations des conteneurs - Un dossier
/data/Media/pour stocker
vos fichiers multimédias
Préparer l’environnement
Avant de commencer, assurez-vous d’avoir :- Portainer.io installé et accessible depuis votre navigateur. (Installation avec Docker : documentation officielle)
- Docker installé sur votre serveur/machine.
- Les dossiers nécessaires créés sur votre serveur pour stocker les configurations et les données des services.
1. Préparer les fichiers nécessaires
a. Préparer le fichier docker-compose.yml
Assurez-vous d’avoir votre fichier docker-compose.yml
prêt. Il devrait ressembler à celui que nous avons configuré précédemment, avec des variables environnementales (${}
) pour tout ce qui est sensible.Exemple :
YAML:
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER}
- OPENVPN_USER=${OPENVPN_USER}
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD}
- SERVER_REGIONS=${SERVER_REGIONS}
- VPN_TYPE=${VPN_TYPE}
- HTTP_CONTROL_SERVER=${HTTP_CONTROL_SERVER}
- HTTP_CONTROL_SERVER_USER=${HTTP_CONTROL_SERVER_USER}
- HTTP_CONTROL_SERVER_PASSWORD=${HTTP_CONTROL_SERVER_PASSWORD}
volumes:
- /docker/config/gluetun:/config
ports:
- 192.168.1.xx:8080:8080
restart: unless-stoppe
b. Préparer votre fichier .env
Vous pouvez gérer vos variables sensibles directement dans un fichier .env
. Exemple :
Code:
VPN_SERVICE_PROVIDER=nordvpn
OPENVPN_USER=your_vpn_username
OPENVPN_PASSWORD=your_vpn_password
SERVER_REGIONS=Canada
VPN_TYPE=openvpn
HTTP_CONTROL_SERVER=on
HTTP_CONTROL_SERVER_USER=admin_user
HTTP_CONTROL_SERVER_PASSWORD=admin_password
TZ=Europe/Paris
PUID=1000
PGID=100
WATCHTOWER_SCHEDULE=0 2 * * *
2. Créer et déployer une stack dans Portainer avec .env
Étape 1 : Connectez-vous à Portainer
- Rendez-vous sur l'interface web de Portainer :
http://<ip_du_serveur>:9000/
. - Connectez-vous avec votre compte administrateur.
Étape 2 : Créer une nouvelle stack
- Dans le menu de gauche, cliquez sur "Stacks".
- Cliquez sur "Add Stack".
Étape 3 : Configurer la stack
- Nom de la stack : Entrez un nom descriptif (par exemple :
MediaStack
). - Mode d'édition : Collez le contenu de votre fichier
docker-compose.yml
dans l'éditeur Web Editor. - Faites défiler vers le bas jusqu’à la section "Environment variables" :
- Cliquez sur "Upload .env file".
- Sélectionnez votre fichier
.env
localement (celui que vous avez préparé précédemment).

.env
. Vous n’avez donc pas besoin de les spécifier manuellement dans le docker-compose.yml
.Étape 4 : Déployer la stack
- Une fois tout configuré, cliquez sur "Deploy the stack".
- Portainer va :
- Charger les variables d’environnement depuis
.env
. - Télécharger les images Docker nécessaires.
- Démarrer les conteneurs.
- Charger les variables d’environnement depuis
3. Vérifier et configurer les services
Une fois la stack déployée, accédez aux services via leurs ports respectifs :Service | Port par défaut | Exemple URL |
---|---|---|
Gluetun | 8080 | http://<IP_du_serveur>:8080 |
Qbittorrent | 8080 | http://<IP_du_serveur>:8080 |
Plex | 32400 | http://<IP_du_serveur>:32400 |
Sonarr | 8989 | http://<IP_du_serveur>:8989 |
Radarr | 7878 | http://<IP_du_serveur>:7878 |
Jackett | 9117 | http://<IP_du_serveur>:9117 |
Overseerr | 5055 | http://<IP_du_serveur>:5055 |
Homepage | 3001 | http://<IP_du_serveur>:3001 |
4. Surveiller et maintenir les conteneurs
a. Vérifier les logs dans Portainer
- Cliquez sur "Containers" dans le menu de Portainer.
- Cliquez sur un conteneur spécifique et consultez l’onglet "Logs" pour voir ses activités.
b. Mettre à jour les conteneurs automatiquement
- Grâce à Watchtower, vos conteneurs seront mis à jour automatiquement selon l’horaire défini dans votre
.env
.
5. Résolution des problèmes courants
a. Problèmes avec les variables d’environnement
Si certaines variables ne sont pas prises en compte :- Assurez-vous que votre fichier
.env
est bien lié à votre stack lors de la création. - Vérifiez que les noms des variables dans le
docker-compose.yml
correspondent exactement à ceux du.env
.
b. Problèmes réseau
- Si certains services ne fonctionnent pas, vérifiez que Gluetun (le conteneur VPN) est correctement configuré.
- Les conteneurs qui utilisent
network_mode: "service:gluetun"
(comme Qbittorrent) doivent être redémarrés si Gluetun redémarre.
Conclusion
Grâce à l’intégration de.env
directement dans Portainer, vous pouvez facilement déployer et sécuriser vos stacks. Cela permet :- Une gestion centralisée des informations sensibles.
- Un déploiement simplifié avec Portainer.
7. Résolution des problèmes courants
- Problème de réseau (VPN) : Vérifiez les logs de Gluetun via Portainer.
- Problème d'accès aux services :
- Vérifiez les ports ouverts.
- Confirmez les volumes mappés et les chemins corrects.
Résumé
Ce tutoriel vous guide pour :- Créer les fichiers nécessaires (docker-compose et .env).
- Configurer une stack complète dans Portainer.
- Accéder et configurer chaque service.
Remerciements et Note personnelle
Ce tutoriel est le résultat de mon apprentissage et des échanges enrichissants sur le site www.forum-nas.fr. Je tiens à remercier particulièrement Drthrax74, EVO, et tous les membres actifs de cette communauté, dont les conseils m’ont permis de progresser dans la mise en place de cette stack.Je ne suis pas un grand spécialiste, mais je travaille chaque jour pour m’améliorer et approfondir mes connaissances dans le domaine. Ce tutoriel est donc perfectible, et j'encourage chacun à proposer des améliorations ou des suggestions pour optimiser cette stack. Ensemble, nous pouvons continuer à apprendre et à créer des solutions toujours plus efficaces.
N'hésitez pas à expérimenter, partager vos retours, et contribuer à enrichir cette configuration !
Pièces jointes
Dernière édition: