Vous souhaitez une solution complète pour automatiser le téléchargement, la gestion, et l'organisation de vos médias (films, séries, musique, etc.) tout en passant par un VPN ?
Dans cet article, nous allons installer une suite *arr entièrement fonctionnelle avec Gluetun pour gérer votre VPN.
Malgré l'apparente simplicité il y aura toujours un "mais". N'hésitez jamais à demander de l'aide sur Discord ou Matrix. Vous ne risquez rien. 😄

🧩 Description des services
🎞 Sonarr
Sonarr sert à gérer automatiquement tes séries TV.
Tu peux ajouter une série, et il va la chercher dès qu’un nouvel épisode sort, le télécharger via Deluge, et l’organiser proprement dans tes dossiers.
🎬 Radarr
Radarr fait la même chose que Sonarr, mais pour les films.
Tu ajoutes un film que tu veux voir, et il se charge de le trouver, le télécharger et le ranger dans le bon dossier.
🎵 Lidarr
Lidarr s’occupe de ta musique.
Il surveille les nouveaux albums ou artistes que tu suis et télécharge automatiquement les fichiers audio.
📡 Prowlarr
Prowlarr est comme un gestionnaire d’annuaires (indexers).
Il connecte Sonarr, Radarr, Lidarr, Readarr, etc., à tous tes sites de téléchargement pour qu’ils puissent faire leurs recherches facilement.
🍿 Overseerr
Overseerr permet à toi (ou tes amis) de faire des demandes de films/séries via une belle interface web.
Tu choisis un titre, Overseerr envoie la demande à Radarr ou Sonarr automatiquement.
📚 Readarr
Readarr fait pareil que Radarr ou Sonarr, mais pour les livres (ebooks, audiobooks).
Tu ajoutes un auteur ou un livre, il cherche le fichier et le télécharge pour toi.
📝 Bazarr
Bazarr gère les sous-titres de tes films et séries.
Il télécharge automatiquement les sous-titres dans les langues que tu préfères.
🧲 Deluge
Deluge est le client torrent qui télécharge les fichiers trouvés par Sonarr, Radarr, etc.
C’est lui qui récupère les fichiers depuis les liens torrent ou magnet.
🧠 Byparr
Bparr est un outil qui permet à Prowlarr de contourner les protections Cloudflare sur certains sites de téléchargement.
Sans lui, certaines recherches peuvent échouer.
🌍 Gluetun
Gluetun est un conteneur qui fait passer Deluge (ou d'autres apps) à travers un VPN.
Il protège ta vie privée pendant les téléchargements, en masquant ton adresse IP réelle.
Et tout ça, sans prise de tête ni maux de crâne. Juste vous, vos contenus, et une bonne organisation.
💾 Installation
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Distribution Linux (Ubuntu, Debian, etc ...).
- Docker & Docker Compose installés.
- Un fournisseur VPN compatible WireGuard (Mullvad, Private Internet Access, etc.).
- Un serveur ou NAS sous Linux (Ubuntu, Debian, etc.).
- Un peu de patience... mais pas trop, c’est (presque) magique. Et un bon café, ça aide.
- Accès terminal.
- Connexion internet.
Étapes d'Installation
- Préparez les dossiers :
sudo mkdir -p /mnt/docker/vpn_media/{gluetun,radarr,sonarr,lidarr,readarr,prowlarr,bazarr,deluge,overseerr,byparr}
sudo mkdir -p /mnt/media/{downloads,movies,series,music,book}- On va donner les permissions nécessaires en exécutant la commande suivante :
sudo chown -R 1000:1000 /mnt/docker/vpn_media /mnt/media💡 Créez tous les fichiers compose des services à la racine du dossier /mnt/docker/vpn_media.
- Créez le compose pour Deluge et Gluetun :
nano deluge.yml- Collez ça dedans :
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 6881:6881 # deluge
      - 6881:6881/udp # deluge
      - 58846:58846 # deluge optional
      - 8112:8112 # deluge web UI
    volumes:
      - /mnt/docker/vpn_media/gluetun:/gluetun
    environment:
      - VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER}
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
      - WIREGUARD_ADDRESSES=10.14.0.2/16
      - SERVER_COUNTRIES=France,Switzerland
      - TZ=Europe/Paris
      - UPDATER_PERIOD=24h
      - FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24
  deluge:
    image: lscr.io/linuxserver/deluge:latest
    container_name: deluge
    network_mode: service:gluetun
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - DELUGE_LOGLEVEL=error
      - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:deluge
      - TP_THEME=hotpink
    volumes:
      - /mnt/docker/vpn_media/deluge/config:/config
      - /mnt/media:/media
    depends_on:
      - gluetun
    restart: unless-stopped
networks: {}- Créez le compose pour Radarr :
nano radarr.yml- Collez ça dedans :
services:
  radarr:
      image: ghcr.io/linuxserver/radarr:latest
      container_name: radarr
      ports:
        - 7878:7878
      environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/Paris
        - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:radarr
        - TP_THEME=hotpink
        - TP_ADDON=radarr-alt-calendar
      volumes:
        - /mnt/docker/vpn_media/radarr/data:/config
        - /mnt/media:/media
      restart: unless-stopped- Créez le compose pour Sonarr :
nano sonarr.yml- Collez ça dedans :
services:
  sonarr:
    image: ghcr.io/linuxserver/sonarr:latest
    container_name: sonarr
    ports:
      - 8989:8989
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:sonarr
      - TP_THEME=hotpink
    volumes:
      - /mnt/docker/vpn_media/sonarr/data:/config
      - /mnt/media:/media
    restart: unless-stopped- Créez le compose pour Prowlarr :
nano prowlarr.yml- Collez ça dedans :
services:
  prowlarr:
      image: lscr.io/linuxserver/prowlarr:latest
      container_name: prowlarr
      ports:
        - 9696:9696
      environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/Paris
        - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:prowlarr
        - TP_THEME=hotpink
      volumes:
        - /mnt/docker/vpn_media/prowlarr/data:/config
      restart: unless-stopped- Créez le compose pour Byparr :
nano byparr.yml- Collez ça dedans :
services:
  byparr:
    image: ghcr.io/thephaseless/byparr:latest
    container_name: byparr
    ports:
      - 8191:8191
    environment:
      - LOG_LEVEL=${LOG_LEVEL:-info}
      - LOG_HTML=${LOG_HTML:-false}
      - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
      - TZ=Europe/Paris
    restart: unless-stopped- Créez le compose pour Lidarr :
nano lidarr.yml- Collez ça dedans :
services:
  lidarr:
    image: lscr.io/linuxserver/lidarr:latest
    container_name: lidarr
    ports:
      - 8686:8686
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:lidarr
      - TP_THEME=hotpink
    volumes:
      - /mnt/docker/vpn_media/lidarr:/config
      - /mnt/media:/media
    restart: unless-stopped- Créez le compose pour Readarr :
nano readarr.yml- Collez ça dedans :
services:
  readarr:
    image: lscr.io/linuxserver/readarr:develop
    container_name: readarr
    ports:
      - 8787:8787
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:readarr
      - TP_THEME=hotpink
    volumes:
      - /mnt/docker/vpn_media/readarr:/config
      - /mnt/media:/media
    restart: unless-stopped- Créez le compose pour Bazarr :
nano bazarr.yml- Collez ça dedans :
services:
  bazarr:
    image: lscr.io/linuxserver/bazarr:latest
    container_name: bazarr
    ports:
      - 6767:6767
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - /mnt/docker/vpn_media/bazarr:/config
      - /mnt/media/movies:/movies
      - /mnt/media/series:/tv
    restart: unless-stopped- Créez le compose pour Overseerr :
nano overseerr.yml- Collez ça dedans :
services:
  overseerr:
    image: lscr.io/linuxserver/overseerr:latest
    container_name: overseerr
    ports:
      - 5055:5055
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - /mnt/docker/vpn_media/overseerr:/config
    restart: unless-stopped- Créez un fichier .env la racine du dossier /mnt/docker/vpn_media, là où se trouve déjà le fichier compose.yml :
nano .env- Collez ça dedans en prenant soin d'indiquer le fournisseur et la clé privée :
VPN_SERVICE_PROVIDER=votre_fournisseur_VPN
WIREGUARD_PRIVATE_KEY=votre_clé_privée
- On va déployer les applications :
docker compose -f deluge.yml up -d && \
docker compose -f radarr.yml up -d && \
docker compose -f sonarr.yml up -d && \
docker compose -f prowlarr.yml up -d && \
docker compose -f byparr.yml up -d && \
docker compose -f lidarr.yml up -d && \
docker compose -f readarr.yml up -d && \
docker compose -f overseerr.yml up -d && \
docker compose -f bazarr.yml up -dPatientez jusqu'à l'installation complète.

🗺️ Accès aux différentes applications
Voici un tableau reprenant les différents liens pour accéder à vos applications. Remplacez votre-ip par celle de votre serveur. Si vous avez un reverse-proxy, ce sont également les adresses à proxy.
| Application | URL locale | 
|---|---|
| Radarr | http://votre-ip:7878 | 
| Sonarr | http://votre-ip:8989 | 
| Lidarr | http://votre-ip:8686 | 
| Prowlarr | http://votre-ip:9696 | 
| Overseerr | http://votre-ip:5055 | 
| Deluge | http://votre-ip:8112 | 
| Bazarr | http://votre-ip:6767 | 
| Readarr | http://votre-ip:8787 | 
⬇️ Comment mettre à jour ses applications ?
Mettez régulièrement à jour vos images, cette commande est à effectuer régulièrement à la racine du dossier /mnt/docker/vpn_media :
🔄 Récupérez les mises à jour
docker compose -f deluge.yml pull && \
docker compose -f radarr.yml pull && \
docker compose -f sonarr.yml pull && \
docker compose -f prowlarr.yml pull && \
docker compose -f byparr.yml pull && \
docker compose -f lidarr.yml pull && \
docker compose -f readarr.yml pull && \
docker compose -f overseerr.yml pull && \
docker compose -f bazarr.yml pull⛔️ Stoppez les containers
docker compose -f deluge.yml down && \
docker compose -f radarr.yml down && \
docker compose -f sonarr.yml down && \
docker compose -f prowlarr.yml down && \
docker compose -f byparr.yml down && \
docker compose -f lidarr.yml down && \
docker compose -f readarr.yml down && \
docker compose -f overseerr.yml down && \
docker compose -f bazarr.yml down🚀 Relancez les containers
docker compose -f deluge.yml up -d && \
docker compose -f radarr.yml up -d && \
docker compose -f sonarr.yml up -d && \
docker compose -f prowlarr.yml up -d && \
docker compose -f byparr.yml up -d && \
docker compose -f lidarr.yml up -d && \
docker compose -f readarr.yml up -d && \
docker compose -f overseerr.yml up -d \
docker compose -f bazarr.yml up -d🌟 Astuces bonus
Vous pouvez changer le thème de chaque application en changeant la variableTP_THEMEdans le fichiercompose-*nom_de_app*.ymlpar exemplecompose-deluge.ymlet dans ce fichier changer la valeur de la variableTP_THEME=hotpinkpour le thème hotpink.
Site pour trouver tout les thèmes : Theme Park
- Ajoutez Jellyfin ou Plex pour lire vos contenus comme un pro (ou au moins comme quelqu’un qui sait ce qu’il fait)
- Connectez Overseerr à Plex pour faire des requêtes directement depuis le canapé (le saint graal du fainéant organisé)
- Programmez des mises à jour automatiques avec Watchtower (comme ça vous pouvez aller faire un café pendant que votre serveur se gère tout seul)
✅ Conclusion
🎉 Et voilà !
Vous êtes maintenant l’heureux propriétaire d’un centre multimédia intelligent, automatisé… et franchement stylé, avec un joli thème hot pink, rien que ça.
La rédaction de l'article concernant la configuration de chaque application est en cours. Merci pour votre patience.
Encore une fois, si vous avez des difficultés, vous pouvez nous rejoindre sur belginux :

 
 
                     
         
                     
                     
                     
                     
                     
                     
                    