[{"data":1,"prerenderedAt":2109},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-recycled-alternatives-qbittorrent-for-plex-":376,"-fr-recycled-alternatives-qbittorrent-for-plex--surround":2104},[4,16,93,261,270,331],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":15},"À propos","i-noto-star","\u002Ffr\u002Fabout","fr\u002F1.about",[10],{"title":11,"path":12,"stem":13,"icon":14},"Bienvenue","\u002Ffr\u002Fabout\u002Fwelcome","fr\u002F1.about\u002F1.welcome","i-lucide-home",false,{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":15},"Généralités","i-noto-open-book","\u002Ffr\u002Fgeneral","fr\u002F2.general",[22,26,44,58,75],{"title":17,"path":23,"stem":24,"icon":25},"\u002Ffr\u002Fgeneral\u002Fsummary","fr\u002F2.general\u002F1.summary","i-lucide-bookmark",{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":15},"Réseau","i-lucide-network","\u002Ffr\u002Fgeneral\u002Fnetworking","fr\u002F2.general\u002F2.networking",[32,36,40],{"title":33,"path":34,"stem":35},"NAT & DHCP","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fnat","fr\u002F2.general\u002F2.networking\u002F1.nat",{"title":37,"path":38,"stem":39},"Zone DNS","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fdns","fr\u002F2.general\u002F2.networking\u002F2.dns",{"title":41,"path":42,"stem":43},"Samba","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fsamba","fr\u002F2.general\u002F2.networking\u002F3.samba",{"title":45,"icon":46,"path":47,"stem":48,"children":49,"page":15},"Stockage","i-lucide-hard-drive","\u002Ffr\u002Fgeneral\u002Fstorage","fr\u002F2.general\u002F3.storage",[50,54],{"title":51,"path":52,"stem":53},"RAID","\u002Ffr\u002Fgeneral\u002Fstorage\u002Fraid","fr\u002F2.general\u002F3.storage\u002F1.raid",{"title":55,"path":56,"stem":57},"ZFS","\u002Ffr\u002Fgeneral\u002Fstorage\u002Fzfs","fr\u002F2.general\u002F3.storage\u002F2.zfs",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":15},"Matériel","i-lucide-server","\u002Ffr\u002Fgeneral\u002Fhardware","fr\u002F2.general\u002F4.hardware",[64,68,71],{"title":65,"path":66,"stem":67},"Les bases","\u002Ffr\u002Fgeneral\u002Fhardware\u002Fbasics","fr\u002F2.general\u002F4.hardware\u002F1.basics",{"title":27,"path":69,"stem":70},"\u002Ffr\u002Fgeneral\u002Fhardware\u002Fnetwork","fr\u002F2.general\u002F4.hardware\u002F2.network",{"title":72,"path":73,"stem":74},"Le ProloNAS","\u002Ffr\u002Fgeneral\u002Fhardware\u002Fprolonas","fr\u002F2.general\u002F4.hardware\u002F3.prolonas",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":15},"Linux pour les nuls","i-lucide-terminal","\u002Ffr\u002Fgeneral\u002Flinux","fr\u002F2.general\u002F5.linux",[81,85,89],{"title":82,"path":83,"stem":84},"CLI pour les nuls","\u002Ffr\u002Fgeneral\u002Flinux\u002Fcli-basics","fr\u002F2.general\u002F5.linux\u002F1.cli-basics",{"title":86,"path":87,"stem":88},"Dossiers et partitions","\u002Ffr\u002Fgeneral\u002Flinux\u002Ffilesystem","fr\u002F2.general\u002F5.linux\u002F2.filesystem",{"title":90,"path":91,"stem":92},"Outils CLI pratiques","\u002Ffr\u002Fgeneral\u002Flinux\u002Fhandy-tools","fr\u002F2.general\u002F5.linux\u002F3.handy-tools",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":15},"Serveex","i-noto-microscope","\u002Ffr\u002Fserveex","fr\u002F3.serveex",[99,103,125,143,169,187,201,215,233,247],{"title":100,"path":101,"stem":102,"icon":25},"Introduction","\u002Ffr\u002Fserveex\u002Fintroduction","fr\u002F3.serveex\u002F1.introduction",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":15},"Cœur du serveur","i-lucide-server-cog","\u002Ffr\u002Fserveex\u002Fcore","fr\u002F3.serveex\u002F2.core",[109,113,117,121],{"title":110,"path":111,"stem":112},"Debian 13","\u002Ffr\u002Fserveex\u002Fcore\u002Finstallation","fr\u002F3.serveex\u002F2.core\u002F1.installation",{"title":114,"path":115,"stem":116},"Docker","\u002Ffr\u002Fserveex\u002Fcore\u002Fdocker","fr\u002F3.serveex\u002F2.core\u002F2.docker",{"title":118,"path":119,"stem":120},"Wireguard","\u002Ffr\u002Fserveex\u002Fcore\u002Fwireguard","fr\u002F3.serveex\u002F2.core\u002F3.wireguard",{"title":122,"path":123,"stem":124},"SWAG","\u002Ffr\u002Fserveex\u002Fcore\u002Fswag","fr\u002F3.serveex\u002F2.core\u002F4.swag",{"title":126,"icon":127,"path":128,"stem":129,"children":130,"page":15},"Sécurité","i-lucide-shield","\u002Ffr\u002Fserveex\u002Fsecurity","fr\u002F3.serveex\u002F3.security",[131,135,139],{"title":132,"path":133,"stem":134},"Cloudflare Zero Trust","\u002Ffr\u002Fserveex\u002Fsecurity\u002Fcloudflare","fr\u002F3.serveex\u002F3.security\u002F2.cloudflare",{"title":136,"path":137,"stem":138},"TinyAuth","\u002Ffr\u002Fserveex\u002Fsecurity\u002Ftinyauth","fr\u002F3.serveex\u002F3.security\u002F3.tinyauth",{"title":140,"path":141,"stem":142},"Pocket ID","\u002Ffr\u002Fserveex\u002Fsecurity\u002Fpocket-id","fr\u002F3.serveex\u002F3.security\u002F4.pocket-id",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":15},"Monitoring","i-lucide-chart-no-axes-column","\u002Ffr\u002Fserveex\u002Fmonitoring","fr\u002F3.serveex\u002F4.monitoring",[149,153,157,161,165],{"title":150,"path":151,"stem":152},"Uptime-Kuma","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fuptime-kuma","fr\u002F3.serveex\u002F4.monitoring\u002F1.uptime-kuma",{"title":154,"path":155,"stem":156},"Dozzle","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fdozzle","fr\u002F3.serveex\u002F4.monitoring\u002F2.dozzle",{"title":158,"path":159,"stem":160},"Speedtest Tracker","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fspeedtest-tracker","fr\u002F3.serveex\u002F4.monitoring\u002F3.speedtest-tracker",{"title":162,"path":163,"stem":164},"Beszel","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fbeszel","fr\u002F3.serveex\u002F4.monitoring\u002F4.beszel",{"title":166,"path":167,"stem":168},"UpSnap","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fupsnap","fr\u002F3.serveex\u002F4.monitoring\u002F5.upsnap",{"title":170,"icon":171,"path":172,"stem":173,"children":174,"page":15},"Média & Seedbox","i-lucide-list-video","\u002Ffr\u002Fserveex\u002Fmedia","fr\u002F3.serveex\u002F5.media",[175,179,183],{"title":176,"path":177,"stem":178},"Jellyfin","\u002Ffr\u002Fserveex\u002Fmedia\u002Fjellyfin","fr\u002F3.serveex\u002F5.media\u002F1.jellyfin",{"title":180,"path":181,"stem":182},"Qbittorrent","\u002Ffr\u002Fserveex\u002Fmedia\u002Fqbittorrent","fr\u002F3.serveex\u002F5.media\u002F2.qbittorrent",{"title":184,"path":185,"stem":186},"Automatisation","\u002Ffr\u002Fserveex\u002Fmedia\u002Fservarr","fr\u002F3.serveex\u002F5.media\u002F3.servarr",{"title":188,"icon":189,"path":190,"stem":191,"children":192,"page":15},"Cloud & Photos","i-lucide-cloud-upload","\u002Ffr\u002Fserveex\u002Fcloud","fr\u002F3.serveex\u002F6.cloud",[193,197],{"title":194,"path":195,"stem":196},"Immich","\u002Ffr\u002Fserveex\u002Fcloud\u002Fimmich","fr\u002F3.serveex\u002F6.cloud\u002F1.immich",{"title":198,"path":199,"stem":200},"Nextcloud","\u002Ffr\u002Fserveex\u002Fcloud\u002Fnextcloud","fr\u002F3.serveex\u002F6.cloud\u002F2.nextcloud",{"title":202,"icon":203,"path":204,"stem":205,"children":206,"page":15},"Fichiers & partage","i-lucide-folder-tree","\u002Ffr\u002Fserveex\u002Ffiles","fr\u002F3.serveex\u002F7.files",[207,211],{"title":208,"path":209,"stem":210},"File Browser Quantum","\u002Ffr\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum","fr\u002F3.serveex\u002F7.files\u002F1.file-browser-quantum",{"title":212,"path":213,"stem":214},"Pingvin","\u002Ffr\u002Fserveex\u002Ffiles\u002Fpingvin","fr\u002F3.serveex\u002F7.files\u002F2.pingvin",{"title":216,"icon":217,"path":218,"stem":219,"children":220,"page":15},"Développement","i-lucide-code-xml","\u002Ffr\u002Fserveex\u002Fdevelopment","fr\u002F3.serveex\u002F8.development",[221,225,229],{"title":222,"path":223,"stem":224},"Code-Serveur","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fcode-server","fr\u002F3.serveex\u002F8.development\u002F1.code-server",{"title":226,"path":227,"stem":228},"Forgejo","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fforgejo","fr\u002F3.serveex\u002F8.development\u002F2.forgejo",{"title":230,"path":231,"stem":232},"IT Tools","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fit-tools","fr\u002F3.serveex\u002F8.development\u002F3.it-tools",{"title":234,"icon":235,"path":236,"stem":237,"children":238,"page":15},"Applications utiles","i-lucide-award","\u002Ffr\u002Fserveex\u002Fapps","fr\u002F3.serveex\u002F9.apps",[239,243],{"title":240,"path":241,"stem":242},"Adguard Home","\u002Ffr\u002Fserveex\u002Fapps\u002Fadguard","fr\u002F3.serveex\u002F9.apps\u002F1.adguard",{"title":244,"path":245,"stem":246},"Vaultwarden","\u002Ffr\u002Fserveex\u002Fapps\u002Fvaultwarden","fr\u002F3.serveex\u002F9.apps\u002F2.vaultwarden",{"title":248,"icon":249,"path":250,"stem":251,"children":252,"page":15},"Avancé","i-lucide-flask-conical","\u002Ffr\u002Fserveex\u002Fadvanced","fr\u002F3.serveex\u002F91.advanced",[253,257],{"title":254,"path":255,"stem":256},"Authentik","\u002Ffr\u002Fserveex\u002Fadvanced\u002Fauthentik","fr\u002F3.serveex\u002F91.advanced\u002F1.authentik",{"title":258,"path":259,"stem":260},"Arcane","\u002Ffr\u002Fserveex\u002Fadvanced\u002Farcane","fr\u002F3.serveex\u002F91.advanced\u002F2.arcane",{"title":262,"icon":263,"path":264,"stem":265,"children":266,"page":15},"Stockeex","i-noto-computer-disk","\u002Ffr\u002Fstockeex","fr\u002F4.stockeex",[267],{"title":100,"path":268,"stem":269,"icon":25},"\u002Ffr\u002Fstockeex\u002Fintroduction","fr\u002F4.stockeex\u002F1.introduction",{"title":271,"icon":272,"path":273,"stem":274,"children":275,"page":15},"Mes bêtises","i-noto-test-tube","\u002Ffr\u002Fnonsense","fr\u002F5.nonsense",[276,279,301],{"title":271,"path":277,"stem":278,"icon":25},"\u002Ffr\u002Fnonsense\u002Fsummary","fr\u002F5.nonsense\u002F1.summary",{"title":280,"icon":281,"path":282,"stem":283,"children":284,"page":15},"Python","i-lucide-file-code-2","\u002Ffr\u002Fnonsense\u002Fpython","fr\u002F5.nonsense\u002F2.python",[285,289,293,297],{"title":286,"path":287,"stem":288},"Nvidia Stock Bot","\u002Ffr\u002Fnonsense\u002Fpython\u002Fnvidia-stock-bot","fr\u002F5.nonsense\u002F2.python\u002F1.nvidia-stock-bot",{"title":290,"path":291,"stem":292},"Adguard CIDRE","\u002Ffr\u002Fnonsense\u002Fpython\u002Fadguard-cidre","fr\u002F5.nonsense\u002F2.python\u002F2.adguard-cidre",{"title":294,"path":295,"stem":296},"Lumeex","\u002Ffr\u002Fnonsense\u002Fpython\u002Flumeex","fr\u002F5.nonsense\u002F2.python\u002F3.lumeex",{"title":298,"path":299,"stem":300},"Instameex","\u002Ffr\u002Fnonsense\u002Fpython\u002Finstameex","fr\u002F5.nonsense\u002F2.python\u002F4.instameex",{"title":302,"icon":303,"path":304,"stem":305,"children":306,"page":15},"Bash","i-lucide-file-terminal","\u002Ffr\u002Fnonsense\u002Fbash","fr\u002F5.nonsense\u002F3.bash",[307,311,315,319,323,327],{"title":308,"path":309,"stem":310},"Doublons servarr","\u002Ffr\u002Fnonsense\u002Fbash\u002Fservarr-duplicates","fr\u002F5.nonsense\u002F3.bash\u002F1.servarr-duplicates",{"title":312,"path":313,"stem":314},"Luks backup","\u002Ffr\u002Fnonsense\u002Fbash\u002Fluks-backup","fr\u002F5.nonsense\u002F3.bash\u002F2.luks-backup",{"title":316,"path":317,"stem":318},"Socat Proxy","\u002Ffr\u002Fnonsense\u002Fbash\u002Fsocat-proxy","fr\u002F5.nonsense\u002F3.bash\u002F3.socat-proxy",{"title":320,"path":321,"stem":322},"HotDisk","\u002Ffr\u002Fnonsense\u002Fbash\u002Fhotdisk","fr\u002F5.nonsense\u002F3.bash\u002F4.hotdisk",{"title":324,"path":325,"stem":326},"Backrest Docker Stop","\u002Ffr\u002Fnonsense\u002Fbash\u002Fbackrest-docker-stop","fr\u002F5.nonsense\u002F3.bash\u002F5.backrest-docker-stop",{"title":328,"path":329,"stem":330},"rm Confirmation Guard","\u002Ffr\u002Fnonsense\u002Fbash\u002Frm-confirmation","fr\u002F5.nonsense\u002F3.bash\u002F6.rm-confirmation",{"title":332,"icon":333,"path":334,"stem":335,"children":336,"page":15},"Poubelle","i-noto-recycling-symbol","\u002Ffr\u002Frecycled","fr\u002F6.recycled",[337,340,354],{"title":332,"path":338,"stem":339,"icon":25},"\u002Ffr\u002Frecycled\u002Fsummary","fr\u002F6.recycled\u002F1.summary",{"title":341,"icon":342,"path":343,"stem":344,"children":345,"page":15},"Obsolète","i-lucide-trash-2","\u002Ffr\u002Frecycled\u002Fdeprecated","fr\u002F6.recycled\u002F2.deprecated",[346,350],{"title":347,"path":348,"stem":349},"Wireguard 14","\u002Ffr\u002Frecycled\u002Fdeprecated\u002Fwireguard-14","fr\u002F6.recycled\u002F2.deprecated\u002F1.wireguard-14",{"title":351,"path":352,"stem":353},"File Browser","\u002Ffr\u002Frecycled\u002Fdeprecated\u002Ffile-browser","fr\u002F6.recycled\u002F2.deprecated\u002F2.file-browser",{"title":355,"icon":356,"path":357,"stem":358,"children":359,"page":15},"Alternatives","i-lucide-arrow-left-right","\u002Ffr\u002Frecycled\u002Falternatives","fr\u002F6.recycled\u002F3.alternatives",[360,364,368,372],{"title":361,"path":362,"stem":363},"Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fplex","fr\u002F6.recycled\u002F3.alternatives\u002F1.plex",{"title":365,"path":366,"stem":367},"Qbittorrent pour Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fqbittorrent-for-plex","fr\u002F6.recycled\u002F3.alternatives\u002F2.qbittorrent for plex",{"title":369,"path":370,"stem":371},"Servarr pour Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fservarr-for-plex","fr\u002F6.recycled\u002F3.alternatives\u002F3.servarr for plex",{"title":373,"path":374,"stem":375},"Gitea","\u002Ffr\u002Frecycled\u002Falternatives\u002Fgitea","fr\u002F6.recycled\u002F3.alternatives\u002F4.gitea",{"id":377,"title":365,"body":378,"contributors":2096,"description":2098,"extension":2099,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":2100,"meta":2101,"navigation":741,"path":366,"seo":2102,"stem":367,"__hash__":2103},"docs_fr\u002Ffr\u002F6.recycled\u002F3.alternatives\u002F2.qbittorrent for plex.md",{"type":379,"value":380,"toc":2077},"minimark",[381,389,398,406,409,455,458,463,468,472,1411,1415,1457,1464,1475,1479,1490,1493,1522,2058,2065,2068,2073],[382,383],"ellipsis",{"blur":384,"left":385,"top":386,"width":387,"z-index":388},"140px","0px","10rem","40rem","60",[390,391,393,394,397],"note",{"to":392},"\u002Fserveex\u002Fmedia\u002Fqbittorrent","C'est l'installation de la seedbox associée à Plex plutôt qu'à Jellyfin, conservée ici pour référence. Voir ",[395,396,180],"strong",{}," pour la même installation associée à Jellyfin, l'alternative recommandée puisque Plex n'est pas entièrement auto-hébergé (son propre relais, un compte obligatoire) et enferme des fonctions derrière le paywall du Plex Pass.",[399,400,401],"p",{},[402,403],"img",{"alt":404,"src":405},"Picture","\u002Fimg\u002Fserveex\u002Fqbit-vue.jpeg",[399,407,408],{},"Afin de télécharger vos media favoris en toute sécurité, nous allons monter un système à base de :",[410,411,412,423,431,438,446],"ul",{},[413,414,415,422],"li",{},[416,417,421],"a",{"href":418,"rel":419},"https:\u002F\u002Fgithub.com\u002Flinuxserver\u002Fdocker-qbittorrent",[420],"nofollow","Qbittorent"," comme logiciel de téléchargement bittorent",[413,424,425,430],{},[416,426,429],{"href":427,"rel":428},"https:\u002F\u002Fprotonvpn.com\u002Ftorrenting",[420],"Proton VPN Plus",", VPN pour sécuriser vos échanges, auquel vous devez souscrire (il y a de nombreux codes promo) pour accéder au protocole Bittorent, mais vous pouvez également en choisir un autre, à condition qu'il propose le protocole bittorent.",[413,432,433],{},[416,434,437],{"href":435,"rel":436},"https:\u002F\u002Fgithub.com\u002Fqdm12\u002Fgluetun",[420],"Gluetun",[413,439,440,445],{},[416,441,444],{"href":442,"rel":443},"https:\u002F\u002Fcodeberg.org\u002FTechnoSam\u002Fqbittorrent-gluetun-port-update",[420],"Qbittorrent port update"," pour mettre automatiquement à jour le port de votre VPN (qui change régulièrement).",[413,447,448,449,454],{},"Et le mode ",[416,450,453],{"href":451,"rel":452},"https:\u002F\u002Fgithub.com\u002Fgabe565\u002Flinuxserver-mod-vuetorrent",[420],"vuetorrent"," pour une interface moderne et intuitive.",[399,456,457],{},"Nous monterons ici le système ci-dessous :",[399,459,460],{},[402,461],{"alt":404,"src":462},"\u002Fimg\u002Fserveex\u002Fqbit.svg",[464,465,467],"h2",{"id":466},"configuration","Configuration",[469,470],"file-tree",{":tree":471},"{\"\u002F\":[{\"srv\":[{\"docker\":[{\"seedbox\":[{\"qbittorrent\":[\"config\u002F\"]},\"gluetun\u002F\",\"compose.yaml\",\".env\"]}]}]},{\"media # relié à Plex et Qbittorrent\":[\"downloads\u002F # téléchargements génériques, choisis dans les réglages\",\"movies\u002F # utilisé pour télécharger les films\",\"tvseries\u002F # utilisé pour télécharger les séries\"]}]}",[473,474,476,481,493,520,524,535,936,1009,1013,1020,1027,1030,1033,1058,1064,1079,1085,1100,1103,1192,1208,1212,1217,1278,1281,1407],"steps",{"level":475},"3",[477,478,480],"h3",{"id":479},"créer-le-dossier-de-téléchargements","Créer le dossier de téléchargements",[399,482,483,484,488,489,492],{},"Si ce n'est pas déjà fait, créez le dossier ",[485,486,487],"code",{},"downloads"," dans ",[485,490,491],{},"\u002Fmedia"," :",[494,495,501],"pre",{"className":496,"code":497,"filename":498,"language":499,"meta":500,"style":500},"language-bash shiki shiki-themes github-dark material-theme github-dark","mkdir -P \u002Fmedia\u002Fdownloads\n","Terminal","bash","",[485,502,503],{"__ignoreMap":500},[504,505,508,512,516],"span",{"class":506,"line":507},"line",1,[504,509,511],{"class":510},"sEgDM","mkdir",[504,513,515],{"class":514},"sJWha"," -P",[504,517,519],{"class":518},"s11XM"," \u002Fmedia\u002Fdownloads\n",[477,521,523],{"id":522},"déployer-la-stack","Déployer la stack",[399,525,526,527,530,531,534],{},"Ouvrez Dockge, cliquez sur ",[485,528,529],{},"compose",", et nommez la stack ",[485,532,533],{},"seedbox",". Collez la configuration suivante :",[494,536,541],{"className":537,"code":538,"filename":539,"language":540,"meta":500,"style":500},"language-yaml shiki shiki-themes github-dark material-theme github-dark","---\nservices:\n  qbit:\n    image: ghcr.io\u002Flinuxserver\u002Fqbittorrent:libtorrentv1\n    container_name: qbittorrent\n    restart: unless-stopped\n    network_mode: service:gluetun\n    mem_limit: 4g\n    environment:\n      - DOCKER_MODS=ghcr.io\u002Fgabe565\u002Flinuxserver-mod-vuetorrent|ghcr.io\u002Ft-anc\u002Fgsp-qbittorent-gluetun-sync-port-mod:main\n      - TZ=Europe\u002FParis\n      - PUID=${PUID}\n      - PGID=${GUID}\n      - WEBUI_PORT=${UI_PORT}\n      - GSP_GTN_API_KEY=${GSP_KEY}\n      - GSP_QBT_USERNAME=${ID}\n      - GSP_QBT_PASSWORD=${PW}\n    volumes:\n      - \u002Fsrv\u002Fdocker\u002Fseedbox\u002Fqbittorrent\u002Fconfig:\u002Fconfig\n      - \u002Fmedia:\u002Fmedia\n    depends_on:\n      - gluetun\n\n  gluetun:\n    image: qmcgaw\u002Fgluetun:v3.41.3\n    container_name: gluetun\n    restart: unless-stopped\n    mem_limit: 4g\n    volumes:\n      - \u002Fsrv\u002Fdocker\u002Fgluetun\u002Fconfig.toml:\u002Fgluetun\u002Fauth\u002Fconfig.toml:ro\n    devices:\n      - \u002Fdev\u002Fnet\u002Ftun:\u002Fdev\u002Fnet\u002Ftun\n    ports:\n      - ${UI_PORT}:5695 # Port de la web-ui\n      - 8000:8000 # Port de controle de Gluetun\n    cap_add:\n      - NET_ADMIN\n    environment:\n      - TZ=Europe\u002FParis\n      - VPN_SERVICE_PROVIDER=protonvpn\n      - VPN_PORT_FORWARDING=on\n      - VPN_PORT_FORWARDING_PROVIDER=protonvpn\n      - VPN_TYPE=wireguard\n      - WIREGUARD_PRIVATE_KEY=${PR_KEY}\n      - SERVER_COUNTRIES=France\n      - PORT_FORWARD_ONLY=on\n","compose.yaml","yaml",[485,542,543,548,559,567,579,590,601,612,623,631,640,648,656,664,672,680,688,696,704,712,720,728,736,743,751,761,770,779,788,795,803,811,819,827,839,850,858,866,873,880,888,896,904,912,920,928],{"__ignoreMap":500},[504,544,545],{"class":506,"line":507},[504,546,547],{"class":510},"---\n",[504,549,551,555],{"class":506,"line":550},2,[504,552,554],{"class":553},"sRuoG","services",[504,556,558],{"class":557},"s8jd1",":\n",[504,560,562,565],{"class":506,"line":561},3,[504,563,564],{"class":553},"  qbit",[504,566,558],{"class":557},[504,568,570,573,576],{"class":506,"line":569},4,[504,571,572],{"class":553},"    image",[504,574,575],{"class":557},":",[504,577,578],{"class":518}," ghcr.io\u002Flinuxserver\u002Fqbittorrent:libtorrentv1\n",[504,580,582,585,587],{"class":506,"line":581},5,[504,583,584],{"class":553},"    container_name",[504,586,575],{"class":557},[504,588,589],{"class":518}," qbittorrent\n",[504,591,593,596,598],{"class":506,"line":592},6,[504,594,595],{"class":553},"    restart",[504,597,575],{"class":557},[504,599,600],{"class":518}," unless-stopped\n",[504,602,604,607,609],{"class":506,"line":603},7,[504,605,606],{"class":553},"    network_mode",[504,608,575],{"class":557},[504,610,611],{"class":518}," service:gluetun\n",[504,613,615,618,620],{"class":506,"line":614},8,[504,616,617],{"class":553},"    mem_limit",[504,619,575],{"class":557},[504,621,622],{"class":518}," 4g\n",[504,624,626,629],{"class":506,"line":625},9,[504,627,628],{"class":553},"    environment",[504,630,558],{"class":557},[504,632,634,637],{"class":506,"line":633},10,[504,635,636],{"class":557},"      -",[504,638,639],{"class":518}," DOCKER_MODS=ghcr.io\u002Fgabe565\u002Flinuxserver-mod-vuetorrent|ghcr.io\u002Ft-anc\u002Fgsp-qbittorent-gluetun-sync-port-mod:main\n",[504,641,643,645],{"class":506,"line":642},11,[504,644,636],{"class":557},[504,646,647],{"class":518}," TZ=Europe\u002FParis\n",[504,649,651,653],{"class":506,"line":650},12,[504,652,636],{"class":557},[504,654,655],{"class":518}," PUID=${PUID}\n",[504,657,659,661],{"class":506,"line":658},13,[504,660,636],{"class":557},[504,662,663],{"class":518}," PGID=${GUID}\n",[504,665,667,669],{"class":506,"line":666},14,[504,668,636],{"class":557},[504,670,671],{"class":518}," WEBUI_PORT=${UI_PORT}\n",[504,673,675,677],{"class":506,"line":674},15,[504,676,636],{"class":557},[504,678,679],{"class":518}," GSP_GTN_API_KEY=${GSP_KEY}\n",[504,681,683,685],{"class":506,"line":682},16,[504,684,636],{"class":557},[504,686,687],{"class":518}," GSP_QBT_USERNAME=${ID}\n",[504,689,691,693],{"class":506,"line":690},17,[504,692,636],{"class":557},[504,694,695],{"class":518}," GSP_QBT_PASSWORD=${PW}\n",[504,697,699,702],{"class":506,"line":698},18,[504,700,701],{"class":553},"    volumes",[504,703,558],{"class":557},[504,705,707,709],{"class":506,"line":706},19,[504,708,636],{"class":557},[504,710,711],{"class":518}," \u002Fsrv\u002Fdocker\u002Fseedbox\u002Fqbittorrent\u002Fconfig:\u002Fconfig\n",[504,713,715,717],{"class":506,"line":714},20,[504,716,636],{"class":557},[504,718,719],{"class":518}," \u002Fmedia:\u002Fmedia\n",[504,721,723,726],{"class":506,"line":722},21,[504,724,725],{"class":553},"    depends_on",[504,727,558],{"class":557},[504,729,731,733],{"class":506,"line":730},22,[504,732,636],{"class":557},[504,734,735],{"class":518}," gluetun\n",[504,737,739],{"class":506,"line":738},23,[504,740,742],{"emptyLinePlaceholder":741},true,"\n",[504,744,746,749],{"class":506,"line":745},24,[504,747,748],{"class":553},"  gluetun",[504,750,558],{"class":557},[504,752,754,756,758],{"class":506,"line":753},25,[504,755,572],{"class":553},[504,757,575],{"class":557},[504,759,760],{"class":518}," qmcgaw\u002Fgluetun:v3.41.3\n",[504,762,764,766,768],{"class":506,"line":763},26,[504,765,584],{"class":553},[504,767,575],{"class":557},[504,769,735],{"class":518},[504,771,773,775,777],{"class":506,"line":772},27,[504,774,595],{"class":553},[504,776,575],{"class":557},[504,778,600],{"class":518},[504,780,782,784,786],{"class":506,"line":781},28,[504,783,617],{"class":553},[504,785,575],{"class":557},[504,787,622],{"class":518},[504,789,791,793],{"class":506,"line":790},29,[504,792,701],{"class":553},[504,794,558],{"class":557},[504,796,798,800],{"class":506,"line":797},30,[504,799,636],{"class":557},[504,801,802],{"class":518}," \u002Fsrv\u002Fdocker\u002Fgluetun\u002Fconfig.toml:\u002Fgluetun\u002Fauth\u002Fconfig.toml:ro\n",[504,804,806,809],{"class":506,"line":805},31,[504,807,808],{"class":553},"    devices",[504,810,558],{"class":557},[504,812,814,816],{"class":506,"line":813},32,[504,815,636],{"class":557},[504,817,818],{"class":518}," \u002Fdev\u002Fnet\u002Ftun:\u002Fdev\u002Fnet\u002Ftun\n",[504,820,822,825],{"class":506,"line":821},33,[504,823,824],{"class":553},"    ports",[504,826,558],{"class":557},[504,828,830,832,835],{"class":506,"line":829},34,[504,831,636],{"class":557},[504,833,834],{"class":518}," ${UI_PORT}:5695",[504,836,838],{"class":837},"sDvJj"," # Port de la web-ui\n",[504,840,842,844,847],{"class":506,"line":841},35,[504,843,636],{"class":557},[504,845,846],{"class":518}," 8000:8000",[504,848,849],{"class":837}," # Port de controle de Gluetun\n",[504,851,853,856],{"class":506,"line":852},36,[504,854,855],{"class":553},"    cap_add",[504,857,558],{"class":557},[504,859,861,863],{"class":506,"line":860},37,[504,862,636],{"class":557},[504,864,865],{"class":518}," NET_ADMIN\n",[504,867,869,871],{"class":506,"line":868},38,[504,870,628],{"class":553},[504,872,558],{"class":557},[504,874,876,878],{"class":506,"line":875},39,[504,877,636],{"class":557},[504,879,647],{"class":518},[504,881,883,885],{"class":506,"line":882},40,[504,884,636],{"class":557},[504,886,887],{"class":518}," VPN_SERVICE_PROVIDER=protonvpn\n",[504,889,891,893],{"class":506,"line":890},41,[504,892,636],{"class":557},[504,894,895],{"class":518}," VPN_PORT_FORWARDING=on\n",[504,897,899,901],{"class":506,"line":898},42,[504,900,636],{"class":557},[504,902,903],{"class":518}," VPN_PORT_FORWARDING_PROVIDER=protonvpn\n",[504,905,907,909],{"class":506,"line":906},43,[504,908,636],{"class":557},[504,910,911],{"class":518}," VPN_TYPE=wireguard\n",[504,913,915,917],{"class":506,"line":914},44,[504,916,636],{"class":557},[504,918,919],{"class":518}," WIREGUARD_PRIVATE_KEY=${PR_KEY}\n",[504,921,923,925],{"class":506,"line":922},45,[504,924,636],{"class":557},[504,926,927],{"class":518}," SERVER_COUNTRIES=France\n",[504,929,931,933],{"class":506,"line":930},46,[504,932,636],{"class":557},[504,934,935],{"class":518}," PORT_FORWARD_ONLY=on\n",[937,938,939,946],"tip",{"icon":500},[399,940,941,942,945],{},"✨ ",[395,943,944],{},"Astuce :"," ajoutez le label Watchtower dans chaque conteneur pour automatiser les mises à jour",[494,947,949],{"className":537,"code":948,"filename":539,"language":540,"meta":500,"style":500},"---\nservices:\n  qbittorrent:\n    #...\n    labels:\n      - com.centurylinklabs.watchtower.enable=true\n  gluetun:\n    #...\n    labels:\n      - com.centurylinklabs.watchtower.enable=true\n",[485,950,951,955,961,968,973,980,987,993,997,1003],{"__ignoreMap":500},[504,952,953],{"class":506,"line":507},[504,954,547],{"class":510},[504,956,957,959],{"class":506,"line":550},[504,958,554],{"class":553},[504,960,558],{"class":557},[504,962,963,966],{"class":506,"line":561},[504,964,965],{"class":553},"  qbittorrent",[504,967,558],{"class":557},[504,969,970],{"class":506,"line":569},[504,971,972],{"class":837},"    #...\n",[504,974,975,978],{"class":506,"line":581},[504,976,977],{"class":553},"    labels",[504,979,558],{"class":557},[504,981,982,984],{"class":506,"line":592},[504,983,636],{"class":557},[504,985,986],{"class":518}," com.centurylinklabs.watchtower.enable=true\n",[504,988,989,991],{"class":506,"line":603},[504,990,748],{"class":553},[504,992,558],{"class":557},[504,994,995],{"class":506,"line":614},[504,996,972],{"class":837},[504,998,999,1001],{"class":506,"line":625},[504,1000,977],{"class":553},[504,1002,558],{"class":557},[504,1004,1005,1007],{"class":506,"line":633},[504,1006,636],{"class":557},[504,1008,986],{"class":518},[477,1010,1012],{"id":1011},"configurer-la-synchronisation-du-port","Configurer la synchronisation du port",[399,1014,1015,1016,1019],{},"Avant de renseigner le ",[485,1017,1018],{},".env"," dans Dockge, configurons la mise à jour du port de téléchargement. Proton et la plupart des VPN font tourner le port de redirection, qui doit être communiqué à Qbittorrent.",[399,1021,1022,1023,1026],{},"Nous avons ajouté le mod ",[485,1024,1025],{},"ghcr.io\u002Ft-anc\u002Fgsp-qbittorent-gluetun-sync-port-mod"," au conteneur.",[399,1028,1029],{},"Il faut maintenant permettre au mod de récupérer les informations de Gluetun, qui n'autorise qu'une communication chiffrée via son API.",[399,1031,1032],{},"Ouvrez un terminal pour générer la clé d'authentification :",[494,1034,1036],{"className":496,"code":1035,"filename":498,"language":499,"meta":500,"style":500},"sudo docker run --rm qmcgaw\u002Fgluetun genkey\n",[485,1037,1038],{"__ignoreMap":500},[504,1039,1040,1043,1046,1049,1052,1055],{"class":506,"line":507},[504,1041,1042],{"class":510},"sudo",[504,1044,1045],{"class":518}," docker",[504,1047,1048],{"class":518}," run",[504,1050,1051],{"class":514}," --rm",[504,1053,1054],{"class":518}," qmcgaw\u002Fgluetun",[504,1056,1057],{"class":518}," genkey\n",[399,1059,1060,1061,492],{},"Notez la clé, puis créez le dossier ",[485,1062,1063],{},"\u002Fsrv\u002Fdocker\u002Fgluetun",[494,1065,1067],{"className":496,"code":1066,"filename":498,"language":499,"meta":500,"style":500},"sudo mkdir \u002Fsrv\u002Fdocker\u002Fgluetun\n",[485,1068,1069],{"__ignoreMap":500},[504,1070,1071,1073,1076],{"class":506,"line":507},[504,1072,1042],{"class":510},[504,1074,1075],{"class":518}," mkdir",[504,1077,1078],{"class":518}," \u002Fsrv\u002Fdocker\u002Fgluetun\n",[399,1080,1081,1082,492],{},"Créez le fichier ",[485,1083,1084],{},"config.toml",[494,1086,1088],{"className":496,"code":1087,"filename":498,"language":499,"meta":500,"style":500},"sudo nano \u002Fsrv\u002Fdocker\u002Fgluetun\u002Fconfig.toml\n",[485,1089,1090],{"__ignoreMap":500},[504,1091,1092,1094,1097],{"class":506,"line":507},[504,1093,1042],{"class":510},[504,1095,1096],{"class":518}," nano",[504,1098,1099],{"class":518}," \u002Fsrv\u002Fdocker\u002Fgluetun\u002Fconfig.toml\n",[399,1101,1102],{},"Saisissez :",[494,1104,1108],{"className":1105,"code":1106,"filename":1084,"language":1107,"meta":500,"style":500},"language-toml shiki shiki-themes github-dark material-theme github-dark","[[roles]]\nname = \"t-anc\u002FGSP-Qbittorent-Gluetun-sync-port-mod\"\nroutes = [\"GET \u002Fv1\u002Fportforward\"]\nauth = \"apikey\"\napikey = \"votre_cle_ici\" # la clé que vous venez de générer\n","toml",[485,1109,1110,1121,1140,1161,1175],{"__ignoreMap":500},[504,1111,1112,1115,1118],{"class":506,"line":507},[504,1113,1114],{"class":557},"[[",[504,1116,1117],{"class":510},"roles",[504,1119,1120],{"class":557},"]]\n",[504,1122,1123,1127,1130,1134,1137],{"class":506,"line":550},[504,1124,1126],{"class":1125},"slcoZ","name ",[504,1128,1129],{"class":557},"=",[504,1131,1133],{"class":1132},"s8K8j"," \"",[504,1135,1136],{"class":518},"t-anc\u002FGSP-Qbittorent-Gluetun-sync-port-mod",[504,1138,1139],{"class":1132},"\"\n",[504,1141,1142,1145,1147,1150,1153,1156,1158],{"class":506,"line":561},[504,1143,1144],{"class":1125},"routes ",[504,1146,1129],{"class":557},[504,1148,1149],{"class":557}," [",[504,1151,1152],{"class":1132},"\"",[504,1154,1155],{"class":518},"GET \u002Fv1\u002Fportforward",[504,1157,1152],{"class":1132},[504,1159,1160],{"class":557},"]\n",[504,1162,1163,1166,1168,1170,1173],{"class":506,"line":569},[504,1164,1165],{"class":1125},"auth ",[504,1167,1129],{"class":557},[504,1169,1133],{"class":1132},[504,1171,1172],{"class":518},"apikey",[504,1174,1139],{"class":1132},[504,1176,1177,1180,1182,1184,1187,1189],{"class":506,"line":581},[504,1178,1179],{"class":1125},"apikey ",[504,1181,1129],{"class":557},[504,1183,1133],{"class":1132},[504,1185,1186],{"class":518},"votre_cle_ici",[504,1188,1152],{"class":1132},[504,1190,1191],{"class":837}," # la clé que vous venez de générer\n",[399,1193,1194,1195,1199,1200,1203,1204,1207],{},"Appuyez sur ",[1196,1197],"kbd",{"value":1198},"Ctrl+O",", puis ",[1196,1201],{"value":1202},"Enter"," pour enregistrer, et ",[1196,1205],{"value":1206},"Ctrl+X"," pour quitter.",[477,1209,1211],{"id":1210},"renseigner-vos-variables-denvironnement","Renseigner vos variables d'environnement",[399,1213,1214,1215,492],{},"Dans Dockge, renseignez les variables du ",[485,1216,1018],{},[494,1218,1222],{"className":1219,"code":1220,"filename":1018,"language":1221,"meta":500,"style":500},"language-properties shiki shiki-themes github-dark material-theme github-dark","PUID=\nGUID=\nUI_PORT=\nPR_KEY=\nGSP_KEY= # la clé générée et saisie dans config.toml\nID=\nPW=\n","properties",[485,1223,1224,1233,1240,1247,1254,1264,1271],{"__ignoreMap":500},[504,1225,1226,1230],{"class":506,"line":507},[504,1227,1229],{"class":1228},"szyEh","PUID",[504,1231,1232],{"class":557},"=\n",[504,1234,1235,1238],{"class":506,"line":550},[504,1236,1237],{"class":1228},"GUID",[504,1239,1232],{"class":557},[504,1241,1242,1245],{"class":506,"line":561},[504,1243,1244],{"class":1228},"UI_PORT",[504,1246,1232],{"class":557},[504,1248,1249,1252],{"class":506,"line":569},[504,1250,1251],{"class":1228},"PR_KEY",[504,1253,1232],{"class":557},[504,1255,1256,1259,1261],{"class":506,"line":581},[504,1257,1258],{"class":1228},"GSP_KEY",[504,1260,1129],{"class":557},[504,1262,1263],{"class":837}," # la clé générée et saisie dans config.toml\n",[504,1265,1266,1269],{"class":506,"line":592},[504,1267,1268],{"class":1228},"ID",[504,1270,1232],{"class":557},[504,1272,1273,1276],{"class":506,"line":603},[504,1274,1275],{"class":1228},"PW",[504,1277,1232],{"class":557},[399,1279,1280],{},"Détail :",[1282,1283,1284,1300],"table",{},[1285,1286,1287],"thead",{},[1288,1289,1290,1294,1297],"tr",{},[1291,1292,1293],"th",{},"Variable",[1291,1295,1296],{},"Description",[1291,1298,1299],{},"Exemple",[1301,1302,1303,1322,1337,1351,1365,1379,1393],"tbody",{},[1288,1304,1305,1310,1317],{},[1306,1307,1308],"td",{},[485,1309,1229],{},[1306,1311,1312,1313,1316],{},"ID utilisateur (",[485,1314,1315],{},"id votreutilisateur",")",[1306,1318,1319],{},[485,1320,1321],{},"1000",[1288,1323,1324,1328,1333],{},[1306,1325,1326],{},[485,1327,1237],{},[1306,1329,1330,1331,1316],{},"ID de groupe (",[485,1332,1315],{},[1306,1334,1335],{},[485,1336,1321],{},[1288,1338,1339,1343,1346],{},[1306,1340,1341],{},[485,1342,1244],{},[1306,1344,1345],{},"Port d'accès à l'interface web",[1306,1347,1348],{},[485,1349,1350],{},"5695",[1288,1352,1353,1357,1360],{},[1306,1354,1355],{},[485,1356,1251],{},[1306,1358,1359],{},"Clé privée fournie par Proton",[1306,1361,1362],{},[485,1363,1364],{},"buKsjNHLyzKMM1qYnzOy4s7SHfly",[1288,1366,1367,1371,1374],{},[1306,1368,1369],{},[485,1370,1258],{},[1306,1372,1373],{},"Clé générée pour la mise à jour du port",[1306,1375,1376],{},[485,1377,1378],{},"MnBa47MeVmk7xiv",[1288,1380,1381,1385,1388],{},[1306,1382,1383],{},[485,1384,1268],{},[1306,1386,1387],{},"Identifiant de connexion à l'interface Qbittorrent",[1306,1389,1390],{},[485,1391,1392],{},"user",[1288,1394,1395,1399,1402],{},[1306,1396,1397],{},[485,1398,1275],{},[1306,1400,1401],{},"Mot de passe de l'interface Qbittorrent",[1306,1403,1404],{},[485,1405,1406],{},"password",[477,1408,1410],{"id":1409},"terminé","Terminé !",[464,1412,1414],{"id":1413},"déploiement","Déploiement",[473,1416,1417,1421,1424,1433,1437,1444,1451,1454],{"level":475},[477,1418,1420],{"id":1419},"déployer-le-conteneur","Déployer le conteneur",[399,1422,1423],{},"Une fois fait, déployez le conteneur.",[1425,1426,1427],"warning",{},[395,1428,1429,1430],{},"Les logs de démarrage affichent un mot de passe temporaire pour l'utilisateur ",[485,1431,1432],{},"admin",[477,1434,1436],{"id":1435},"se-connecter-et-sécuriser-son-compte","Se connecter et sécuriser son compte",[399,1438,1439,1440,1443],{},"Connectez-vous sur ",[485,1441,1442],{},"http:\u002F\u002Fipduserveur:5695"," (ou le port que vous avez défini).",[1445,1446,1447,1450],"caution",{},[395,1448,1449],{},"Si la connexion échoue :"," vérifiez les règles de votre pare-feu.",[399,1452,1453],{},"Changez votre identifiant et votre mot de passe dans les réglages « webui ».",[477,1455,1410],{"id":1456},"terminé-1",[399,1458,1459,1460,1463],{},"C'est terminé ! Dans les réglages de Qbittorrent, section « Téléchargements », définissez ",[485,1461,1462],{},"\u002Fmedia\u002Fdownloads"," comme dossier par défaut.",[399,1465,1466,1467,1470,1471,1474],{},"Lors de l'ajout d'un téléchargement, pensez à choisir le bon dossier pour que Plex se synchronise correctement (",[485,1468,1469],{},"\u002Fmedia\u002Fmovies"," ou ",[485,1472,1473],{},"\u002Fmedia\u002Ftvseries","). Vous pouvez aussi automatiser cela avec des catégories et des dossiers.",[464,1476,1478],{"id":1477},"exposer-la-webui","Exposer la webui",[1425,1480,1481,1482,1485,1486,1489],{},"Qbittorrent ne gère pas l'authentification multifacteur. L'exposer sur internet peut mettre votre système en danger. Ne le faites que si vous utilisez du MFA via ",[416,1483,254],{"href":1484},"\u002Fserveex\u002Fadvanced\u002Fauthentik\u002F",". Sinon, ne l'exposez pas avec SWAG. Utilisez plutôt un VPN comme ",[416,1487,118],{"href":1488},"\u002Fserveex\u002Fcore\u002Fwireguard",".",[399,1491,1492],{},"Pour lancer des téléchargements depuis l'extérieur, sans VPN, vous pouvez exposer l'interface web de Qbittorrent.",[390,1494,1495,1496,1499,1500,1503,1504,1507,1508,1512,1513,1516,1517,1521],{},"Nous partons du principe que vous avez le sous-domaine ",[485,1497,1498],{},"seedbox.mondomaine.fr"," avec un ",[485,1501,1502],{},"CNAME"," pointant vers ",[485,1505,1506],{},"mondomaine.fr"," dans la ",[416,1509,1511],{"href":1510},"\u002Fgeneral\u002Fnetworking\u002Fdns","zone DNS",". Et que le port ",[485,1514,1515],{},"443"," de votre box est redirigé vers votre serveur dans les ",[416,1518,1520],{"href":1519},"\u002Fgeneral\u002Fnetworking\u002Fnat","règles NAT",", à moins d'utiliser Cloudflare Zero Trust.",[473,1523,1524,1528,1531,1630,1633,1644,1648,1654,1664,1678,1681,2032,2047,2055],{"level":475},[477,1525,1527],{"id":1526},"ajouter-le-réseau-seedbox-à-swag","Ajouter le réseau seedbox à SWAG",[399,1529,1530],{},"Dans Dockge, modifiez le fichier compose de SWAG et ajoutez le réseau de Gluetun :",[494,1532,1534],{"className":537,"code":1533,"filename":539,"language":540,"meta":500,"style":500},"---\nservices:\n  swag:\n    container_name: # ...\n    # ...\n    networks:\n      # ...\n      - seedbox\n\nnetworks:\n  # ...\n  seedbox:\n    name: seedbox_default\n    external: true\n",[485,1535,1536,1540,1546,1553,1562,1567,1574,1579,1586,1590,1597,1602,1609,1619],{"__ignoreMap":500},[504,1537,1538],{"class":506,"line":507},[504,1539,547],{"class":510},[504,1541,1542,1544],{"class":506,"line":550},[504,1543,554],{"class":553},[504,1545,558],{"class":557},[504,1547,1548,1551],{"class":506,"line":561},[504,1549,1550],{"class":553},"  swag",[504,1552,558],{"class":557},[504,1554,1555,1557,1559],{"class":506,"line":569},[504,1556,584],{"class":553},[504,1558,575],{"class":557},[504,1560,1561],{"class":837}," # ...\n",[504,1563,1564],{"class":506,"line":581},[504,1565,1566],{"class":837},"    # ...\n",[504,1568,1569,1572],{"class":506,"line":592},[504,1570,1571],{"class":553},"    networks",[504,1573,558],{"class":557},[504,1575,1576],{"class":506,"line":603},[504,1577,1578],{"class":837},"      # ...\n",[504,1580,1581,1583],{"class":506,"line":614},[504,1582,636],{"class":557},[504,1584,1585],{"class":518}," seedbox\n",[504,1587,1588],{"class":506,"line":625},[504,1589,742],{"emptyLinePlaceholder":741},[504,1591,1592,1595],{"class":506,"line":633},[504,1593,1594],{"class":553},"networks",[504,1596,558],{"class":557},[504,1598,1599],{"class":506,"line":642},[504,1600,1601],{"class":837},"  # ...\n",[504,1603,1604,1607],{"class":506,"line":650},[504,1605,1606],{"class":553},"  seedbox",[504,1608,558],{"class":557},[504,1610,1611,1614,1616],{"class":506,"line":658},[504,1612,1613],{"class":553},"    name",[504,1615,575],{"class":557},[504,1617,1618],{"class":518}," seedbox_default\n",[504,1620,1621,1624,1626],{"class":506,"line":666},[504,1622,1623],{"class":553},"    external",[504,1625,575],{"class":557},[504,1627,1629],{"class":1628},"s08Ry"," true\n",[399,1631,1632],{},"Cliquez sur « Deploy » et attendez que SWAG soit complètement initialisé.",[390,1634,1635,1636,1639,1640,1489],{},"Nous partons du principe que le nom du réseau est ",[485,1637,1638],{},"seedbox_default",". Vous pouvez le confirmer en consultant le tableau de bord de SWAG sur ",[416,1641,1642],{"href":1642,"rel":1643},"http:\u002F\u002Fipduserveur:81",[420],[477,1645,1647],{"id":1646},"créer-le-fichier-subdomainconf","Créer le fichier subdomain.conf",[399,1649,1650,1651,1489],{},"Créez ou modifiez maintenant ",[485,1652,1653],{},"seedbox.subdomain.conf",[937,1655,941,1657,1660,1661,1663],{"icon":500,"to":1656},"\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum",[395,1658,1659],{},"Astuce pour les allergiques au terminal :"," utilisez ",[395,1662,351],{}," pour modifier les fichiers plutôt que le terminal.",[494,1665,1667],{"className":496,"code":1666,"filename":498,"language":499,"meta":500,"style":500},"sudo nano \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fproxy-confs\u002Fseedbox.subdomain.conf\n",[485,1668,1669],{"__ignoreMap":500},[504,1670,1671,1673,1675],{"class":506,"line":507},[504,1672,1042],{"class":510},[504,1674,1096],{"class":518},[504,1676,1677],{"class":518}," \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fproxy-confs\u002Fseedbox.subdomain.conf\n",[399,1679,1680],{},"Collez la configuration suivante (vérifiez le port) :",[494,1682,1686],{"className":1683,"code":1684,"filename":1653,"language":1685,"meta":500,"style":500},"language-nginx shiki shiki-themes github-dark material-theme github-dark","## Version 2023\u002F12\u002F19\n\nserver {\n    listen 443 ssl;\n    listen [::]:443 ssl;\n\n    server_name seedbox.*;\n\n    include \u002Fconfig\u002Fnginx\u002Fssl.conf;\n\n    client_max_body_size 0;\n\n    #if ($lan-ip = yes) { set $geo-whitelist yes; }\n    #if ($geo-whitelist = no) { return 404; }\n    if ($geo-blacklist = no) { return 404; }\n\n    # enable for ldap auth (requires ldap-location.conf in the location block)\n    #include \u002Fconfig\u002Fnginx\u002Fldap-server.conf;\n\n    # enable for Authelia (requires authelia-location.conf in the location block)\n    #include \u002Fconfig\u002Fnginx\u002Fauthelia-server.conf;\n\n    # enable for Authentik (requires authentik-location.conf in the location block)\n    #include \u002Fconfig\u002Fnginx\u002Fauthentik-server.conf;\n\n    location \u002F {\n        # enable the next two lines for http auth\n        #auth_basic \"Restricted\";\n        #auth_basic_user_file \u002Fconfig\u002Fnginx\u002F.htpasswd;\n\n        # enable for ldap auth (requires ldap-server.conf in the server block)\n        #include \u002Fconfig\u002Fnginx\u002Fldap-location.conf;\n\n        # enable for Authelia (requires authelia-server.conf in the server block)\n        #include \u002Fconfig\u002Fnginx\u002Fauthelia-location.conf;\n\n        # enable for Authentik (requires authentik-server.conf in the server block)\n        #include \u002Fconfig\u002Fnginx\u002Fauthentik-location.conf;\n\n        include \u002Fconfig\u002Fnginx\u002Fproxy.conf;\n        include \u002Fconfig\u002Fnginx\u002Fresolver.conf;\n        set $upstream_app gluetun;\n        set $upstream_port 5555;\n        set $upstream_proto http;\n        proxy_pass $upstream_proto:\u002F\u002F$upstream_app:$upstream_port;\n\n    }\n}\n","nginx",[485,1687,1688,1693,1697,1706,1721,1730,1734,1744,1748,1758,1762,1772,1776,1781,1786,1820,1824,1829,1834,1838,1843,1848,1852,1857,1862,1866,1877,1882,1887,1892,1896,1901,1906,1910,1915,1920,1924,1929,1934,1938,1948,1957,1969,1983,1994,2016,2020,2026],{"__ignoreMap":500},[504,1689,1690],{"class":506,"line":507},[504,1691,1692],{"class":837},"## Version 2023\u002F12\u002F19\n",[504,1694,1695],{"class":506,"line":550},[504,1696,742],{"emptyLinePlaceholder":741},[504,1698,1699,1703],{"class":506,"line":561},[504,1700,1702],{"class":1701},"sAoO4","server",[504,1704,1705],{"class":1125}," {\n",[504,1707,1708,1712,1715,1718],{"class":506,"line":569},[504,1709,1711],{"class":1710},"sJPTy","    listen ",[504,1713,1515],{"class":1714},"swwWl",[504,1716,1717],{"class":1125}," ssl",[504,1719,1720],{"class":557},";\n",[504,1722,1723,1725,1728],{"class":506,"line":581},[504,1724,1711],{"class":1710},[504,1726,1727],{"class":1125},"[::]:443 ssl",[504,1729,1720],{"class":557},[504,1731,1732],{"class":506,"line":592},[504,1733,742],{"emptyLinePlaceholder":741},[504,1735,1736,1739,1742],{"class":506,"line":603},[504,1737,1738],{"class":1710},"    server_name ",[504,1740,1741],{"class":1125},"seedbox.*",[504,1743,1720],{"class":557},[504,1745,1746],{"class":506,"line":614},[504,1747,742],{"emptyLinePlaceholder":741},[504,1749,1750,1753,1756],{"class":506,"line":625},[504,1751,1752],{"class":1710},"    include ",[504,1754,1755],{"class":1125},"\u002Fconfig\u002Fnginx\u002Fssl.conf",[504,1757,1720],{"class":557},[504,1759,1760],{"class":506,"line":633},[504,1761,742],{"emptyLinePlaceholder":741},[504,1763,1764,1767,1770],{"class":506,"line":642},[504,1765,1766],{"class":1710},"    client_max_body_size ",[504,1768,1769],{"class":1714},"0",[504,1771,1720],{"class":557},[504,1773,1774],{"class":506,"line":650},[504,1775,742],{"emptyLinePlaceholder":741},[504,1777,1778],{"class":506,"line":658},[504,1779,1780],{"class":837},"    #if ($lan-ip = yes) { set $geo-whitelist yes; }\n",[504,1782,1783],{"class":506,"line":666},[504,1784,1785],{"class":837},"    #if ($geo-whitelist = no) { return 404; }\n",[504,1787,1788,1792,1795,1798,1801,1804,1807,1811,1814,1817],{"class":506,"line":674},[504,1789,1791],{"class":1790},"sJLGa","    if",[504,1793,1794],{"class":1125}," (",[504,1796,1797],{"class":557},"$",[504,1799,1800],{"class":1125},"geo-blacklist ",[504,1802,1803],{"class":1710},"= ",[504,1805,1806],{"class":1125},"no) ",[504,1808,1810],{"class":1809},"sSoIa","{ ",[504,1812,1813],{"class":1790},"return",[504,1815,1816],{"class":1714}," 404",[504,1818,1819],{"class":1809},"; }\n",[504,1821,1822],{"class":506,"line":682},[504,1823,742],{"emptyLinePlaceholder":741},[504,1825,1826],{"class":506,"line":690},[504,1827,1828],{"class":837},"    # enable for ldap auth (requires ldap-location.conf in the location block)\n",[504,1830,1831],{"class":506,"line":698},[504,1832,1833],{"class":837},"    #include \u002Fconfig\u002Fnginx\u002Fldap-server.conf;\n",[504,1835,1836],{"class":506,"line":706},[504,1837,742],{"emptyLinePlaceholder":741},[504,1839,1840],{"class":506,"line":714},[504,1841,1842],{"class":837},"    # enable for Authelia (requires authelia-location.conf in the location block)\n",[504,1844,1845],{"class":506,"line":722},[504,1846,1847],{"class":837},"    #include \u002Fconfig\u002Fnginx\u002Fauthelia-server.conf;\n",[504,1849,1850],{"class":506,"line":730},[504,1851,742],{"emptyLinePlaceholder":741},[504,1853,1854],{"class":506,"line":738},[504,1855,1856],{"class":837},"    # enable for Authentik (requires authentik-location.conf in the location block)\n",[504,1858,1859],{"class":506,"line":745},[504,1860,1861],{"class":837},"    #include \u002Fconfig\u002Fnginx\u002Fauthentik-server.conf;\n",[504,1863,1864],{"class":506,"line":753},[504,1865,742],{"emptyLinePlaceholder":741},[504,1867,1868,1871,1874],{"class":506,"line":763},[504,1869,1870],{"class":1701},"    location",[504,1872,1873],{"class":510}," \u002F ",[504,1875,1876],{"class":1125},"{\n",[504,1878,1879],{"class":506,"line":772},[504,1880,1881],{"class":837},"        # enable the next two lines for http auth\n",[504,1883,1884],{"class":506,"line":781},[504,1885,1886],{"class":837},"        #auth_basic \"Restricted\";\n",[504,1888,1889],{"class":506,"line":790},[504,1890,1891],{"class":837},"        #auth_basic_user_file \u002Fconfig\u002Fnginx\u002F.htpasswd;\n",[504,1893,1894],{"class":506,"line":797},[504,1895,742],{"emptyLinePlaceholder":741},[504,1897,1898],{"class":506,"line":805},[504,1899,1900],{"class":837},"        # enable for ldap auth (requires ldap-server.conf in the server block)\n",[504,1902,1903],{"class":506,"line":813},[504,1904,1905],{"class":837},"        #include \u002Fconfig\u002Fnginx\u002Fldap-location.conf;\n",[504,1907,1908],{"class":506,"line":821},[504,1909,742],{"emptyLinePlaceholder":741},[504,1911,1912],{"class":506,"line":829},[504,1913,1914],{"class":837},"        # enable for Authelia (requires authelia-server.conf in the server block)\n",[504,1916,1917],{"class":506,"line":841},[504,1918,1919],{"class":837},"        #include \u002Fconfig\u002Fnginx\u002Fauthelia-location.conf;\n",[504,1921,1922],{"class":506,"line":852},[504,1923,742],{"emptyLinePlaceholder":741},[504,1925,1926],{"class":506,"line":860},[504,1927,1928],{"class":837},"        # enable for Authentik (requires authentik-server.conf in the server block)\n",[504,1930,1931],{"class":506,"line":868},[504,1932,1933],{"class":837},"        #include \u002Fconfig\u002Fnginx\u002Fauthentik-location.conf;\n",[504,1935,1936],{"class":506,"line":875},[504,1937,742],{"emptyLinePlaceholder":741},[504,1939,1940,1943,1946],{"class":506,"line":882},[504,1941,1942],{"class":1710},"        include ",[504,1944,1945],{"class":1125},"\u002Fconfig\u002Fnginx\u002Fproxy.conf",[504,1947,1720],{"class":557},[504,1949,1950,1952,1955],{"class":506,"line":890},[504,1951,1942],{"class":1710},[504,1953,1954],{"class":1125},"\u002Fconfig\u002Fnginx\u002Fresolver.conf",[504,1956,1720],{"class":557},[504,1958,1959,1962,1964,1967],{"class":506,"line":898},[504,1960,1961],{"class":1710},"        set ",[504,1963,1797],{"class":557},[504,1965,1966],{"class":1125},"upstream_app gluetun",[504,1968,1720],{"class":557},[504,1970,1971,1973,1975,1978,1981],{"class":506,"line":906},[504,1972,1961],{"class":1710},[504,1974,1797],{"class":557},[504,1976,1977],{"class":1125},"upstream_port ",[504,1979,1980],{"class":1714},"5555",[504,1982,1720],{"class":557},[504,1984,1985,1987,1989,1992],{"class":506,"line":914},[504,1986,1961],{"class":1710},[504,1988,1797],{"class":557},[504,1990,1991],{"class":1125},"upstream_proto http",[504,1993,1720],{"class":557},[504,1995,1996,1999,2001,2004,2006,2009,2011,2014],{"class":506,"line":922},[504,1997,1998],{"class":1710},"        proxy_pass ",[504,2000,1797],{"class":557},[504,2002,2003],{"class":1125},"upstream_proto:\u002F\u002F",[504,2005,1797],{"class":557},[504,2007,2008],{"class":1125},"upstream_app:",[504,2010,1797],{"class":557},[504,2012,2013],{"class":1125},"upstream_port",[504,2015,1720],{"class":557},[504,2017,2018],{"class":506,"line":930},[504,2019,742],{"emptyLinePlaceholder":741},[504,2021,2023],{"class":506,"line":2022},47,[504,2024,2025],{"class":1125},"    }\n",[504,2027,2029],{"class":506,"line":2028},48,[504,2030,2031],{"class":1125},"}\n",[937,2033,2035,2036,2039,2040,2043,2044,1489],{"icon":500,"to":2034},"\u002Fserveex\u002Fadvanced\u002Fauthentik#protecting-an-app-via-reverse-proxy","✨ Vous pouvez sécuriser cette application avec Authentik en décommentant les lignes ",[485,2037,2038],{},"authentik-server.conf"," et ",[485,2041,2042],{},"authentik-location.conf",". N'oubliez pas de ",[395,2045,2046],{},"créer une application et un provider dans Authentik",[399,2048,1194,2049,1199,2051,1203,2053,1207],{},[1196,2050],{"value":1198},[1196,2052],{"value":1202},[1196,2054],{"value":1206},[477,2056,1410],{"id":2057},"terminé-2",[399,2059,2060,2061,2064],{},"Attendez quelques minutes, puis allez sur ",[485,2062,2063],{},"https:\u002F\u002Fseedbox.mondomaine.fr",". Vous devriez arriver sur l'interface de Qbittorrent.",[399,2066,2067],{},"Et voilà ! Vous avez maintenant un media center prêt à l'emploi.",[399,2069,2070],{},[402,2071],{"alt":404,"src":2072},"\u002Fimg\u002Fserveex\u002Fseed.svg",[2074,2075,2076],"style",{},"html pre.shiki code .sEgDM, html code.shiki .sEgDM{--shiki-light:#B392F0;--shiki-default:#FFCB6B;--shiki-dark:#B392F0}html pre.shiki code .sJWha, html code.shiki .sJWha{--shiki-light:#79B8FF;--shiki-default:#C3E88D;--shiki-dark:#79B8FF}html pre.shiki code .s11XM, html code.shiki .s11XM{--shiki-light:#9ECBFF;--shiki-default:#C3E88D;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sRuoG, html code.shiki .sRuoG{--shiki-light:#85E89D;--shiki-default:#F07178;--shiki-dark:#85E89D}html pre.shiki code .s8jd1, html code.shiki .s8jd1{--shiki-light:#E1E4E8;--shiki-default:#89DDFF;--shiki-dark:#E1E4E8}html pre.shiki code .sDvJj, html code.shiki .sDvJj{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .slcoZ, html code.shiki .slcoZ{--shiki-light:#E1E4E8;--shiki-default:#EEFFFF;--shiki-dark:#E1E4E8}html pre.shiki code .s8K8j, html code.shiki .s8K8j{--shiki-light:#9ECBFF;--shiki-default:#89DDFF;--shiki-dark:#9ECBFF}html pre.shiki code .szyEh, html code.shiki .szyEh{--shiki-light:#F97583;--shiki-default:#F07178;--shiki-dark:#F97583}html pre.shiki code .s08Ry, html code.shiki .s08Ry{--shiki-light:#79B8FF;--shiki-default:#FF9CAC;--shiki-dark:#79B8FF}html pre.shiki code .sAoO4, html code.shiki .sAoO4{--shiki-light:#F97583;--shiki-default:#C792EA;--shiki-dark:#F97583}html pre.shiki code .sJPTy, html code.shiki .sJPTy{--shiki-light:#F97583;--shiki-default:#89DDFF;--shiki-dark:#F97583}html pre.shiki code .swwWl, html code.shiki .swwWl{--shiki-light:#79B8FF;--shiki-default:#F78C6C;--shiki-dark:#79B8FF}html pre.shiki code .sJLGa, html code.shiki .sJLGa{--shiki-light:#F97583;--shiki-light-font-style:inherit;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sSoIa, html code.shiki .sSoIa{--shiki-light:#E1E4E8;--shiki-default:#F07178;--shiki-dark:#E1E4E8}",{"title":500,"searchDepth":550,"depth":550,"links":2078},[2079,2086,2091],{"id":466,"depth":550,"text":467,"children":2080},[2081,2082,2083,2084,2085],{"id":479,"depth":561,"text":480},{"id":522,"depth":561,"text":523},{"id":1011,"depth":561,"text":1012},{"id":1210,"depth":561,"text":1211},{"id":1409,"depth":561,"text":1410},{"id":1413,"depth":550,"text":1414,"children":2087},[2088,2089,2090],{"id":1419,"depth":561,"text":1420},{"id":1435,"depth":561,"text":1436},{"id":1456,"depth":561,"text":1410},{"id":1477,"depth":550,"text":1478,"children":2092},[2093,2094,2095],{"id":1526,"depth":561,"text":1527},{"id":1646,"depth":561,"text":1647},{"id":2057,"depth":561,"text":1410},[2097],"Djeex","Installer qBittorrent avec Gluetun et ProtonVPN pour télécharger des torrents de manière sécurisée derrière un VPN sur votre serveur auto-hébergé.","md",null,{},{"title":365,"description":2098},"l4_IPWL3Cl6VenS511t55ygV_Bg1lEYh8zJFdqBIipw",[2105,2107],{"title":361,"path":362,"stem":363,"description":2106,"children":-1},"Installer Plex Media Server avec Tautulli sur votre homelab pour diffuser films et séries depuis n'importe où sur tous vos appareils.",{"title":369,"path":370,"stem":371,"description":2108,"children":-1},"Automatiser les téléchargements de médias avec la suite Servarr, Radarr, Sonarr, Bazarr, Prowlarr et Overseerr pour les films et les séries.",1788645852278]