[{"data":1,"prerenderedAt":1822},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-serveex-security-cloudflare-":376,"-fr-serveex-security-cloudflare--surround":1817},[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":132,"body":378,"contributors":1809,"description":1811,"extension":1812,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":1813,"meta":1814,"navigation":747,"path":133,"seo":1815,"stem":134,"__hash__":1816},"docs_fr\u002Ffr\u002F3.serveex\u002F3.security\u002F2.cloudflare.md",{"type":379,"value":380,"toc":1789},"minimark",[381,389,397,401,425,444,447,466,469,498,502,506,521,524,527,534,538,541,553,559,573,579,582,585,595,603,607,615,622,636,639,1551,1555,1558,1666,1669,1672,1675,1688,1730,1743,1785],[382,383],"ellipsis",{"blur":384,"left":385,"top":386,"width":387,"z-index":388},"140px","0px","10rem","40rem","60",[390,391,392],"p",{},[393,394],"img",{"alt":395,"src":396},"cloudfare_tunnels","\u002Fimg\u002Fserveex\u002Fcloudflared.svg",[398,399,100],"h2",{"id":400},"introduction",[390,402,403,404,408,409,413,414,417,418,421,422,424],{},"L'architecture ",[405,406,407],"em",{},"Zero Trust"," est la pratique consistant à concevoir des systèmes fondés sur le principe de ",[410,411,412],"strong",{},"« ne jamais faire confiance",", ",[410,415,416],{},"toujours vérifier »",", par opposition au principe traditionnel de ",[410,419,420],{},"« confiance, mais vérifier »",". Ce concept est devenu très populaires récemment, à la suite des attaques toujours plus nombreuses concernant les données des utilisateurs. C'est un concept très large, nous nous concentrerons sur l’application du ",[405,423,407],{}," aux services Web que nous hébergeons.",[390,426,427,428,431,432,434,435,439,440,443],{},"Les ",[405,429,430],{},"tunnels Cloudflare"," offrent un moyen simple d'arriver au ",[405,433,407],{},", en s'appuyant sur ",[436,437,122],"a",{"href":438},"\u002Fserveex\u002Fcore\u002Fswag"," et ",[436,441,254],{"href":442},"\u002Fserveex\u002Fadvanced\u002Fauthentik",".",[390,445,446],{},"Pour le dire simplement, les Tunnels Cloudflare permettent notamment de :",[448,449,450,454,457,460,463],"ul",{},[451,452,453],"li",{},"Masquer l'IP de votre serveur (et donc de votre box s'il est hébergé chez vous).",[451,455,456],{},"D'authentifier le traffic.",[451,458,459],{},"De bénéficier des protection de Cloudflare (attaques DDOS, etc, blacklist, requêtes malveillantes, etc...).",[451,461,462],{},"De bénéficier du CDN, c'est à dire du serveur de cache de Cloudlfare, qui permet d'augmenter les performances de vos sites web.",[451,464,465],{},"De ne plus avoir besoin de l'ouverture de ports de votre routeur pour les services exposés par SWAG.",[390,467,468],{},"Ici, nous expliquerons comment associer SWAG aux tunnels Cloudflare.",[470,471,472,477],"warning",{},[390,473,474],{},[410,475,476],{},"Attention :",[448,478,479,482,490],{},[451,480,481],{},"N'utilisez pas les tunnels Cloudflare pour exposer un serveur mail",[451,483,484,485,489],{},"N'utilisez pas les tunnels Cloudflare pour exposer un service vidéo comme Jellyfin. Contrairement à Plex, ",[436,486,488],{"href":487},"\u002Fserveex\u002Fmedia\u002Fjellyfin","Jellyfin n'a pas de relais cloud"," et est exposé directement par SWAG dans ce guide, veillez donc à le laisser derrière une simple redirection de port plutôt que derrière un tunnel Cloudflare",[451,491,492,493,497],{},"N'utilisez pas les tunnels Cloudflare pour le protocole BitTorrent (si vous avez ",[436,494,496],{"href":495},"\u002Fserveex\u002Fmedia\u002Fqbittorrent","suivi ce guide",", tout est bon)",[398,499,501],{"id":500},"configuration-cloudflare","Configuration Cloudflare",[503,504,37],"h3",{"id":505},"zone-dns",[390,507,508,509,513,514,520],{},"Avant toute chose, vous devez définir Cloudflare comme gestionnaire de votre ",[436,510,512],{"href":511},"\u002Fgeneral\u002Fnetworking\u002Fdns","zone DNS",". Si vous avez réservé votre nom de domaine chez Cloudflare, c'est déjà le cas. Sinon, renseignez vous auprès de votre registrar sur comment ajouter des DNS externes. Cloudflare dispose d'",[436,515,519],{"href":516,"rel":517},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Fdns\u002Fzone-setups\u002Ffull-setup\u002Fsetup\u002F",[518],"nofollow","une documentation expliquant pas à pas comment paramétrer une Zone DNS",", que vous ayez un domaine externe ou reservé chez Cloudflare.",[390,522,523],{},"Si vous avez qu'un seul serveur à protéger derrière Cloudflare, vous pouvez supprimer l'ensemble des enregistrement DNS existant, par défaut le domaine et tout ses sous-domaines seront directement redirigés vers le tunnel.",[390,525,526],{},"Si vous avez des sous-domaines à rediriger vers d'autres serveurs, vous pourrez toujours les déclarer dans la zone DNS à l'aide d'un enregistrement A.",[390,528,529,530,443],{},"Si vous avez plusieurs serveurs et donc plusieurs tunnels pour un meme domaine principal, ",[436,531,533],{"href":532},"#g%C3%A9rer-plusieurs-tunnels-pour-plusieurs-serveurs","voyez ici",[503,535,537],{"id":536},"clé-api","Clé API",[390,539,540],{},"Pour commencer, nous devons créer un nouveau jeton API pour Cloudflare et récupérer nos identifiants de zone et de compte.",[390,542,543,544,548,549,552],{},"Sur le tableau de bord de Cloudflare, dans la page de présentation de votre domaine, vous pouvez voir les identifiants de ",[545,546,547],"code",{},"zone"," et de ",[545,550,551],{},"compte"," en bas à droite de l'écran. Copiez précieusement ces deux identifiants.",[390,554,555],{},[393,556],{"alt":557,"src":558},"id and account","\u002Fimg\u002Fserveex\u002Fcf-id.png",[390,560,561,562,565,566,439,569,572],{},"Juste en dessous d'eux, il y a un lien intitulé ",[405,563,564],{},"Obtenez votre jeton API",". Cliquez dessus. Le périmètre dont nous avons besoin pour le jeton doit inclure ",[545,567,568],{},"Zone:DNS:Edit",[545,570,571],{},"Account:Cloudflare Tunnel:Edit",". Assurez-vous que votre page de création de token ressemble à celle illustrée dans la capture d'écran ci-dessous.",[390,574,575],{},[393,576],{"alt":577,"src":578},"API token","\u002Fimg\u002Fserveex\u002Fcf-token.png",[390,580,581],{},"Une fois que nous aurons enregistré, notre jeton sera affiché une fois. copiez le précieusement, car vous ne pourrez plus le revoir après la fermeture.",[503,583,132],{"id":584},"cloudflare-zero-trust",[390,586,587,588,591,592,594],{},"Vous devez vous inscrire à ",[405,589,590],{},"Cloudflare Teams"," pour pouvoir accéder au tableau de bord ",[405,593,407],{}," qui gère les tunnels et les politiques d'accès. Il s'agit d'un service premium, mais ils proposent un forfait gratuit pour un maximum de 50 utilisateurs, ce qui devrait suffire pour votre Home Lab. Gardez à l’esprit que puisqu’il s’agit d’une fonctionnalité premium, ils demandent une carte de crédit valide lors de l’inscription, mais avec le forfait gratuit, il n'y aura aucun frais.",[390,596,597,598,443],{},"Inscrivez-vous ",[436,599,602],{"href":600,"rel":601},"https:\u002F\u002Fdash.teams.cloudflare.com\u002F",[518],"via ce lien",[398,604,606],{"id":605},"configuration-de-swag","Configuration de Swag",[608,609,610,611,614],"note",{},"Nous partons du principe que vous avez le domaine ",[545,612,613],{},"mondomaine.fr"," avec les DNS qui pointent bien vers ceux de Cloudflare, comme vu précédemment.",[390,616,617,618,621],{},"SWAG dispose de deux ",[545,619,620],{},"Docker Mods"," permettant d'y intégrer :",[448,623,624,630],{},[451,625,626,629],{},[410,627,628],{},"Cloudflared",", le conteneur qui permet de créer et de gérer les tunnels",[451,631,632,635],{},[410,633,634],{},"Cloudflared Real IP",", un conteneur qui permet à SWAG d'obtenir la vraie source IP des requêtes depuis internet plutot que celle de Docker (ce qui pourrait entrer en conflit avec le mod de géolocalisatioN DBIP).",[390,637,638],{},"Ces deux mods, fusionnés dans le conteneur de SWAG, nécessitent un peu de configuration.",[640,641,643,647,658,671,696,699,795,810,814,820,826,840,847,899,907,911,914,1183,1213,1219,1298,1506,1512,1527,1547],"steps",{"level":642},"3",[503,644,646],{"id":645},"configuration-du-tunnel","Configuration du tunnel",[390,648,649,650,653,654,657],{},"Pour configurer les tunnels, nous aurons besoin de créer un fichier ",[545,651,652],{},"tunnelconfig.yml"," auquel nous ferons appel dans le ",[545,655,656],{},"compose.yaml"," de SWAG.",[659,660,663,664,667,668,670],"tip",{"icon":661,"to":662},"","\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum","✨ ",[410,665,666],{},"Astuce :"," vous pouvez utiliser ",[410,669,208],{}," pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.",[672,673,678],"pre",{"className":674,"code":675,"filename":676,"language":677,"meta":661,"style":661},"language-bash shiki shiki-themes github-dark material-theme github-dark","sudo nano \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Ftunnelconfig.yml\n","Terminal","bash",[545,679,680],{"__ignoreMap":661},[681,682,685,689,693],"span",{"class":683,"line":684},"line",1,[681,686,688],{"class":687},"sEgDM","sudo",[681,690,692],{"class":691},"s11XM"," nano",[681,694,695],{"class":691}," \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Ftunnelconfig.yml\n",[390,697,698],{},"Collez la configuration ci-dessous",[672,700,704],{"className":701,"code":702,"filename":652,"language":703,"meta":661,"style":661},"language-yaml shiki shiki-themes github-dark material-theme github-dark","ingress:\n  - hostname: mondomaine.fr\n    service: https:\u002F\u002Fmondomaine.fr\n\n  - hostname: \"*.mondomaine.fr\"\n    service: https:\u002F\u002Fmondomaine.fr\n\n  - service: http_status:404\n","yaml",[545,705,706,716,731,742,749,768,777,782],{"__ignoreMap":661},[681,707,708,712],{"class":683,"line":684},[681,709,711],{"class":710},"sRuoG","ingress",[681,713,715],{"class":714},"s8jd1",":\n",[681,717,719,722,725,728],{"class":683,"line":718},2,[681,720,721],{"class":714},"  -",[681,723,724],{"class":710}," hostname",[681,726,727],{"class":714},":",[681,729,730],{"class":691}," mondomaine.fr\n",[681,732,734,737,739],{"class":683,"line":733},3,[681,735,736],{"class":710},"    service",[681,738,727],{"class":714},[681,740,741],{"class":691}," https:\u002F\u002Fmondomaine.fr\n",[681,743,745],{"class":683,"line":744},4,[681,746,748],{"emptyLinePlaceholder":747},true,"\n",[681,750,752,754,756,758,762,765],{"class":683,"line":751},5,[681,753,721],{"class":714},[681,755,724],{"class":710},[681,757,727],{"class":714},[681,759,761],{"class":760},"s8K8j"," \"",[681,763,764],{"class":691},"*.mondomaine.fr",[681,766,767],{"class":760},"\"\n",[681,769,771,773,775],{"class":683,"line":770},6,[681,772,736],{"class":710},[681,774,727],{"class":714},[681,776,741],{"class":691},[681,778,780],{"class":683,"line":779},7,[681,781,748],{"emptyLinePlaceholder":747},[681,783,785,787,790,792],{"class":683,"line":784},8,[681,786,721],{"class":714},[681,788,789],{"class":710}," service",[681,791,727],{"class":714},[681,793,794],{"class":691}," http_status:404\n",[390,796,797,798,802,803,806,807,443],{},"Enregistrez avec ",[799,800],"kbd",{"value":801},"Ctrl+O"," puis ",[799,804],{"value":805},"Entrée",", puis quittez avec ",[799,808],{"value":809},"Ctrl+X",[503,811,813],{"id":812},"configuration-de-cloudflare-real-ip","Configuration de Cloudflare Real IP",[390,815,816,817],{},"A présent, nous allons configurer le bon fonctionnement du mode ",[405,818,819],{},"Cloudflare Real IP",[390,821,822,823],{},"Ouvrez le fichier ",[545,824,825],{},"nginx.conf",[672,827,829],{"className":674,"code":828,"filename":676,"language":677,"meta":661,"style":661},"sudo nano \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fnginx.conf\n",[545,830,831],{"__ignoreMap":661},[681,832,833,835,837],{"class":683,"line":684},[681,834,688],{"class":687},[681,836,692],{"class":691},[681,838,839],{"class":691}," \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fnginx.conf\n",[390,841,842,843,846],{},"Collez la configuration ci-dessous à la fin de la section ",[545,844,845],{},"http"," :",[672,848,852],{"className":849,"code":850,"filename":825,"language":851,"meta":661,"style":661},"language-nginx shiki shiki-themes github-dark material-theme github-dark","real_ip_header X-Forwarded-For;\nreal_ip_recursive on;\ninclude \u002Fconfig\u002Fnginx\u002Fcf_real-ip.conf;\nset_real_ip_from 127.0.0.1;\n","nginx",[545,853,854,867,878,888],{"__ignoreMap":661},[681,855,856,860,864],{"class":683,"line":684},[681,857,859],{"class":858},"sJPTy","real_ip_header ",[681,861,863],{"class":862},"slcoZ","X-Forwarded-For",[681,865,866],{"class":714},";\n",[681,868,869,872,876],{"class":683,"line":718},[681,870,871],{"class":858},"real_ip_recursive ",[681,873,875],{"class":874},"soUAX","on",[681,877,866],{"class":714},[681,879,880,883,886],{"class":683,"line":733},[681,881,882],{"class":858},"include ",[681,884,885],{"class":862},"\u002Fconfig\u002Fnginx\u002Fcf_real-ip.conf",[681,887,866],{"class":714},[681,889,890,893,897],{"class":683,"line":744},[681,891,892],{"class":858},"set_real_ip_from ",[681,894,896],{"class":895},"swwWl","127.0.0.1",[681,898,866],{"class":714},[390,900,797,901,802,903,806,905,443],{},[799,902],{"value":801},[799,904],{"value":805},[799,906],{"value":809},[503,908,910],{"id":909},"déployer-la-stack-swag","Déployer la stack SWAG",[390,912,913],{},"Ouvrez Dockge, éditez la stack SWAG avec cette configuration",[672,915,917],{"className":701,"code":916,"filename":656,"language":703,"meta":661,"style":661},"---\nservices:\n  swag:\n    image: lscr.io\u002Flinuxserver\u002Fswag:latest\n    container_name: swag\n    cap_add:\n      - NET_ADMIN\n    env_file:\n      - .env\n    environment:\n      - DOCKER_MODS=linuxserver\u002Fmods:swag-dbip|linuxserver\u002Fmods:swag-dashboard|linuxserver\u002Fmods:swag-auto-reload|linuxserver\u002Fmods:universal-cloudflared|linuxserver\u002Fmods:swag-cloudflare-real-ip\n      - PUID=${PUID}\n      - PGID=${PGID}\n      - TZ=Europe\u002FParis\n      - URL=${DOMAIN}\n      - SUBDOMAINS=wildcard\n      - VALIDATION=dns\n      - DNSPLUGIN=${PLUGIN}\n      - EMAIL=${EMAIL}\n      - CF_ZONE_ID=${ZONE_ID}\n      - CF_ACCOUNT_ID=${ACCOUNT_ID}\n      - CF_API_TOKEN=${API_TOKEN}\n      - CF_TUNNEL_NAME=${TUNNEL_NAME}\n      - CF_TUNNEL_PASSWORD=${TUNNEL_PW}\n      - FILE__CF_TUNNEL_CONFIG=\u002Fconfig\u002Ftunnelconfig.yml\n    extra_hosts:\n      - ${DOMAIN}:127.0.0.1\n    ports:\n      - 81:81\n    volumes:\n      - \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig:\u002Fconfig\n      - \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Ffail2ban\u002Ffail2ban.sqlite3:\u002Fdashboard\u002Ffail2ban.sqlite3:ro\n    restart: unless-stopped\n",[545,918,919,924,931,938,948,958,965,973,980,988,996,1004,1012,1020,1028,1036,1044,1052,1060,1068,1076,1084,1092,1100,1108,1116,1124,1132,1140,1148,1156,1164,1172],{"__ignoreMap":661},[681,920,921],{"class":683,"line":684},[681,922,923],{"class":687},"---\n",[681,925,926,929],{"class":683,"line":718},[681,927,928],{"class":710},"services",[681,930,715],{"class":714},[681,932,933,936],{"class":683,"line":733},[681,934,935],{"class":710},"  swag",[681,937,715],{"class":714},[681,939,940,943,945],{"class":683,"line":744},[681,941,942],{"class":710},"    image",[681,944,727],{"class":714},[681,946,947],{"class":691}," lscr.io\u002Flinuxserver\u002Fswag:latest\n",[681,949,950,953,955],{"class":683,"line":751},[681,951,952],{"class":710},"    container_name",[681,954,727],{"class":714},[681,956,957],{"class":691}," swag\n",[681,959,960,963],{"class":683,"line":770},[681,961,962],{"class":710},"    cap_add",[681,964,715],{"class":714},[681,966,967,970],{"class":683,"line":779},[681,968,969],{"class":714},"      -",[681,971,972],{"class":691}," NET_ADMIN\n",[681,974,975,978],{"class":683,"line":784},[681,976,977],{"class":710},"    env_file",[681,979,715],{"class":714},[681,981,983,985],{"class":683,"line":982},9,[681,984,969],{"class":714},[681,986,987],{"class":691}," .env\n",[681,989,991,994],{"class":683,"line":990},10,[681,992,993],{"class":710},"    environment",[681,995,715],{"class":714},[681,997,999,1001],{"class":683,"line":998},11,[681,1000,969],{"class":714},[681,1002,1003],{"class":691}," DOCKER_MODS=linuxserver\u002Fmods:swag-dbip|linuxserver\u002Fmods:swag-dashboard|linuxserver\u002Fmods:swag-auto-reload|linuxserver\u002Fmods:universal-cloudflared|linuxserver\u002Fmods:swag-cloudflare-real-ip\n",[681,1005,1007,1009],{"class":683,"line":1006},12,[681,1008,969],{"class":714},[681,1010,1011],{"class":691}," PUID=${PUID}\n",[681,1013,1015,1017],{"class":683,"line":1014},13,[681,1016,969],{"class":714},[681,1018,1019],{"class":691}," PGID=${PGID}\n",[681,1021,1023,1025],{"class":683,"line":1022},14,[681,1024,969],{"class":714},[681,1026,1027],{"class":691}," TZ=Europe\u002FParis\n",[681,1029,1031,1033],{"class":683,"line":1030},15,[681,1032,969],{"class":714},[681,1034,1035],{"class":691}," URL=${DOMAIN}\n",[681,1037,1039,1041],{"class":683,"line":1038},16,[681,1040,969],{"class":714},[681,1042,1043],{"class":691}," SUBDOMAINS=wildcard\n",[681,1045,1047,1049],{"class":683,"line":1046},17,[681,1048,969],{"class":714},[681,1050,1051],{"class":691}," VALIDATION=dns\n",[681,1053,1055,1057],{"class":683,"line":1054},18,[681,1056,969],{"class":714},[681,1058,1059],{"class":691}," DNSPLUGIN=${PLUGIN}\n",[681,1061,1063,1065],{"class":683,"line":1062},19,[681,1064,969],{"class":714},[681,1066,1067],{"class":691}," EMAIL=${EMAIL}\n",[681,1069,1071,1073],{"class":683,"line":1070},20,[681,1072,969],{"class":714},[681,1074,1075],{"class":691}," CF_ZONE_ID=${ZONE_ID}\n",[681,1077,1079,1081],{"class":683,"line":1078},21,[681,1080,969],{"class":714},[681,1082,1083],{"class":691}," CF_ACCOUNT_ID=${ACCOUNT_ID}\n",[681,1085,1087,1089],{"class":683,"line":1086},22,[681,1088,969],{"class":714},[681,1090,1091],{"class":691}," CF_API_TOKEN=${API_TOKEN}\n",[681,1093,1095,1097],{"class":683,"line":1094},23,[681,1096,969],{"class":714},[681,1098,1099],{"class":691}," CF_TUNNEL_NAME=${TUNNEL_NAME}\n",[681,1101,1103,1105],{"class":683,"line":1102},24,[681,1104,969],{"class":714},[681,1106,1107],{"class":691}," CF_TUNNEL_PASSWORD=${TUNNEL_PW}\n",[681,1109,1111,1113],{"class":683,"line":1110},25,[681,1112,969],{"class":714},[681,1114,1115],{"class":691}," FILE__CF_TUNNEL_CONFIG=\u002Fconfig\u002Ftunnelconfig.yml\n",[681,1117,1119,1122],{"class":683,"line":1118},26,[681,1120,1121],{"class":710},"    extra_hosts",[681,1123,715],{"class":714},[681,1125,1127,1129],{"class":683,"line":1126},27,[681,1128,969],{"class":714},[681,1130,1131],{"class":691}," ${DOMAIN}:127.0.0.1\n",[681,1133,1135,1138],{"class":683,"line":1134},28,[681,1136,1137],{"class":710},"    ports",[681,1139,715],{"class":714},[681,1141,1143,1145],{"class":683,"line":1142},29,[681,1144,969],{"class":714},[681,1146,1147],{"class":691}," 81:81\n",[681,1149,1151,1154],{"class":683,"line":1150},30,[681,1152,1153],{"class":710},"    volumes",[681,1155,715],{"class":714},[681,1157,1159,1161],{"class":683,"line":1158},31,[681,1160,969],{"class":714},[681,1162,1163],{"class":691}," \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig:\u002Fconfig\n",[681,1165,1167,1169],{"class":683,"line":1166},32,[681,1168,969],{"class":714},[681,1170,1171],{"class":691}," \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Ffail2ban\u002Ffail2ban.sqlite3:\u002Fdashboard\u002Ffail2ban.sqlite3:ro\n",[681,1173,1175,1178,1180],{"class":683,"line":1174},33,[681,1176,1177],{"class":710},"    restart",[681,1179,727],{"class":714},[681,1181,1182],{"class":691}," unless-stopped\n",[659,1184,1185,1190],{"icon":661},[390,1186,663,1187,1189],{},[410,1188,666],{}," ajoutez un label Watchtower pour automatiser les mises à jour :",[672,1191,1193],{"className":701,"code":1192,"filename":656,"language":703,"meta":661,"style":661},"---\nlabels:\n  - com.centurylinklabs.watchtower.enable=true\n",[545,1194,1195,1199,1206],{"__ignoreMap":661},[681,1196,1197],{"class":683,"line":684},[681,1198,923],{"class":687},[681,1200,1201,1204],{"class":683,"line":718},[681,1202,1203],{"class":710},"labels",[681,1205,715],{"class":714},[681,1207,1208,1210],{"class":683,"line":733},[681,1209,721],{"class":714},[681,1211,1212],{"class":691}," com.centurylinklabs.watchtower.enable=true\n",[390,1214,1215,1216,846],{},"Renseignez votre fichier ",[545,1217,1218],{},".env",[672,1220,1224],{"className":1221,"code":1222,"filename":1218,"language":1223,"meta":661,"style":661},"language-properties shiki shiki-themes github-dark material-theme github-dark","PUID=\nPGID=\nDOMAIN=\nPLUGIN=\nEMAIL=\nZONE_ID=\nACCOUNT_ID=\nAPI_TOKEN=\nTUNNEL_NAME=\nTUNNEL_PW=\n","properties",[545,1225,1226,1235,1242,1249,1256,1263,1270,1277,1284,1291],{"__ignoreMap":661},[681,1227,1228,1232],{"class":683,"line":684},[681,1229,1231],{"class":1230},"szyEh","PUID",[681,1233,1234],{"class":714},"=\n",[681,1236,1237,1240],{"class":683,"line":718},[681,1238,1239],{"class":1230},"PGID",[681,1241,1234],{"class":714},[681,1243,1244,1247],{"class":683,"line":733},[681,1245,1246],{"class":1230},"DOMAIN",[681,1248,1234],{"class":714},[681,1250,1251,1254],{"class":683,"line":744},[681,1252,1253],{"class":1230},"PLUGIN",[681,1255,1234],{"class":714},[681,1257,1258,1261],{"class":683,"line":751},[681,1259,1260],{"class":1230},"EMAIL",[681,1262,1234],{"class":714},[681,1264,1265,1268],{"class":683,"line":770},[681,1266,1267],{"class":1230},"ZONE_ID",[681,1269,1234],{"class":714},[681,1271,1272,1275],{"class":683,"line":779},[681,1273,1274],{"class":1230},"ACCOUNT_ID",[681,1276,1234],{"class":714},[681,1278,1279,1282],{"class":683,"line":784},[681,1280,1281],{"class":1230},"API_TOKEN",[681,1283,1234],{"class":714},[681,1285,1286,1289],{"class":683,"line":982},[681,1287,1288],{"class":1230},"TUNNEL_NAME",[681,1290,1234],{"class":714},[681,1292,1293,1296],{"class":683,"line":990},[681,1294,1295],{"class":1230},"TUNNEL_PW",[681,1297,1234],{"class":714},[1299,1300,1301,1317],"table",{},[1302,1303,1304],"thead",{},[1305,1306,1307,1311,1314],"tr",{},[1308,1309,1310],"th",{},"Variable",[1308,1312,1313],{},"Valeur",[1308,1315,1316],{},"Exemples",[1318,1319,1320,1348,1370,1385,1410,1426,1442,1458,1474,1490],"tbody",{},[1305,1321,1322,1329,1343],{},[1323,1324,1325],"td",{},[545,1326,1327],{"className":1221,"language":1223,"style":661},[681,1328,1231],{"class":862},[1323,1330,1331,1332,1342],{},"A renseigner avec les infos de votre user (trouvables via la commande ",[545,1333,1336,1339],{"className":1334,"language":1335,"style":661},"language-shell shiki shiki-themes github-dark material-theme github-dark","shell",[681,1337,1338],{"class":687},"id",[681,1340,1341],{"class":691}," nomdutilisateur",")",[1323,1344,1345],{},[545,1346,1347],{},"1000",[1305,1349,1350,1357,1365],{},[1323,1351,1352],{},[545,1353,1354],{"className":1221,"language":1223,"style":661},[681,1355,1356],{"class":862},"GUID",[1323,1358,1331,1359,1342],{},[545,1360,1361,1363],{"className":1334,"language":1335,"style":661},[681,1362,1338],{"class":687},[681,1364,1341],{"class":691},[1323,1366,1367],{},[545,1368,1369],{},"1000 ",[1305,1371,1372,1378,1381],{},[1323,1373,1374],{},[545,1375,1376],{"className":1221,"language":1223,"style":661},[681,1377,1246],{"class":862},[1323,1379,1380],{},"Le domaine que vous avez réservé",[1323,1382,1383],{},[545,1384,613],{},[1305,1386,1387,1393,1405],{},[1323,1388,1389],{},[545,1390,1391],{"className":1221,"language":1223,"style":661},[681,1392,1253],{"class":862},[1323,1394,1395,1396,1399,1400,1342],{},"Le fournisseur de zone DNS, ici Cloudflare. Pensez à renseigner ",[545,1397,1398],{},"cloudflare.ini"," (voir ",[436,1401,1404],{"href":1402,"rel":1403},"https:\u002F\u002Fdocs.linuxserver.io\u002Fgeneral\u002Fswag\u002F#create-container-via-dns-validation-with-a-wildcard-cert",[518],"guide de swag",[1323,1406,1407],{},[545,1408,1409],{},"cloudflare",[1305,1411,1412,1418,1421],{},[1323,1413,1414],{},[545,1415,1416],{"className":1221,"language":1223,"style":661},[681,1417,1260],{"class":862},[1323,1419,1420],{},"Votre email pour le certificat",[1323,1422,1423],{},[545,1424,1425],{},"votre@email.fr",[1305,1427,1428,1434,1437],{},[1323,1429,1430],{},[545,1431,1432],{"className":1221,"language":1223,"style":661},[681,1433,1267],{"class":862},[1323,1435,1436],{},"L'ID de Zone que vous avez noté précédemment",[1323,1438,1439],{},[545,1440,1441],{},"aNhcz1l3JfWbFZo2XMpzQlP2iOqk",[1305,1443,1444,1450,1453],{},[1323,1445,1446],{},[545,1447,1448],{"className":1221,"language":1223,"style":661},[681,1449,1274],{"class":862},[1323,1451,1452],{},"L'ID de Compte que vous avez noté précédemment",[1323,1454,1455],{},[545,1456,1457],{},"buKsjNHLyzKMM1qYnzOy4s7SHfly",[1305,1459,1460,1466,1469],{},[1323,1461,1462],{},[545,1463,1464],{"className":1221,"language":1223,"style":661},[681,1465,1281],{"class":862},[1323,1467,1468],{},"Le jeton d'API que vous avez noté précédemment",[1323,1470,1471],{},[545,1472,1473],{},"53ydYus9TFFk1DOXNdP87iIcJtQjoW",[1305,1475,1476,1482,1485],{},[1323,1477,1478],{},[545,1479,1480],{"className":1221,"language":1223,"style":661},[681,1481,1288],{"class":862},[1323,1483,1484],{},"Le nom de votre tunnel",[1323,1486,1487],{},[545,1488,1489],{},"mon_tunnel",[1305,1491,1492,1498,1501],{},[1323,1493,1494],{},[545,1495,1496],{"className":1221,"language":1223,"style":661},[681,1497,1295],{"class":862},[1323,1499,1500],{},"Un mot de passe fort généré aléatoirement",[1323,1502,1503],{},[545,1504,1505],{},"iSzKRmP4VbnlsMvdSdgBEJiJi",[390,1507,1508,1509],{},"Une fois fait, déployez la stack. Cela prendra un peu de temps, vérifiez les logs, vous devriez arriver à ",[545,1510,1511],{},"serveur ready",[390,1513,1514,1515,1518,1519,1523,1524,443],{},"Une fois le conteneur en ligne, vérifiez dans cloudflare que votre tunnel est bien présent dans la section ",[405,1516,1517],{},"Networks > Tunnels"," de ",[436,1520,132],{"href":1521,"rel":1522},"https:\u002F\u002Fone.dash.cloudflare.com\u002F",[518],". Par défaut, l'ensemble des sous domaine sont redirigés vers le tunnel, sans avoir besoin de les déclarer ",[436,1525,1526],{"href":511},"dans votre zone DNS",[659,1528,663,1529,1531,1532,1534,1535,1538,1539,1542,1543],{"icon":661,"to":511},[410,1530,666],{}," si vous voulez exposer un service sans tunnel, déclarez simplement un enregistrement A ",[410,1533,1526],{},". En cas de problème de résolution, désactivez la fonction ",[405,1536,1537],{},"proxy"," pour cet enregistrement, par exemple pour ",[545,1540,1541],{},"sous.mondomaine.fr",".\n",[393,1544],{"alt":1545,"src":1546},"dns","\u002Fimg\u002Fserveex\u002Fcf-dns.png",[503,1548,1550],{"id":1549},"terminé","Terminé !",[398,1552,1554],{"id":1553},"gérer-plusieurs-tunnels-pour-plusieurs-serveurs","Gérer plusieurs tunnels pour plusieurs serveurs",[390,1556,1557],{},"Par défaut, l'ensemble des sous-domaines de votre domaine passent par l'unique tunnel. Mais si vous avez un second serveur, il suffit de changer le nom du tunnel dans cette instance de SWAG, puis de rediriger les sous-domaines vers le bon tunnel dans votre zone DNS.",[640,1559,1560,1564,1573,1577,1586,1592,1596,1613,1663],{"level":642},[503,1561,1563],{"id":1562},"changer-le-nom-du-tunnel","Changer le nom du tunnel",[390,1565,1566,1567,1569,1570,1572],{},"Dans la stack SWAG du second serveur, mettez un ",[545,1568,1288],{}," différent dans le fichier ",[545,1571,1218],{},", puis redéployez.",[503,1574,1576],{"id":1575},"trouver-les-id-des-tunnels","Trouver les ID des tunnels",[390,1578,1579,1580,1518,1582,1585],{},"Rendez-vous dans la section ",[405,1581,1517],{},[436,1583,132],{"href":1521,"rel":1584},[518]," et notez les ID des tunnels :",[390,1587,1588],{},[393,1589],{"alt":1590,"src":1591},"tunnels_id","\u002Fimg\u002Fserveex\u002Fcf-tunnels-id.png",[503,1593,1595],{"id":1594},"ajouter-les-enregistrements-cname","Ajouter les enregistrements CNAME",[390,1597,1598,1599,1604,1605,1608,1609,1612],{},"Dans le ",[436,1600,1603],{"href":1601,"rel":1602},"https:\u002F\u002Fdash.cloudflare.com\u002F",[518],"tableau de bord DNS de Cloudflare",", cliquez sur votre nom de domaine, puis sur ",[545,1606,1607],{},"Ajouter un enregistrement"," et ajoutez ces deux enregistrements CNAME (en incluant bien ",[545,1610,1611],{},".cfargotunnel.com",") :",[1299,1614,1615,1628],{},[1302,1616,1617],{},[1305,1618,1619,1622,1625],{},[1308,1620,1621],{},"Type",[1308,1623,1624],{},"Nom",[1308,1626,1627],{},"Cible",[1318,1629,1630,1647],{},[1305,1631,1632,1637,1642],{},[1323,1633,1634],{},[545,1635,1636],{},"CNAME",[1323,1638,1639],{},[545,1640,1641],{},"sousdomaine1",[1323,1643,1644],{},[545,1645,1646],{},"votreiddetunnel1.cfargotunnel.com",[1305,1648,1649,1653,1658],{},[1323,1650,1651],{},[545,1652,1636],{},[1323,1654,1655],{},[545,1656,1657],{},"sousdomaine2",[1323,1659,1660],{},[545,1661,1662],{},"votreiddetunnel2.cfargotunnel.com",[503,1664,1550],{"id":1665},"terminé-1",[390,1667,1668],{},"Si vous avez de nombreux sous-domaines, vous pouvez déclarer un seul sous domaine par tunnel comme ci-dessus, puis déclarer vos autres sous domaine en les faisant pointer vers ces sous domaines de référence.",[390,1670,1671],{},"Ainsi, en cas de changement d'ID de tunnel, vous n'aurez qu'un seul enregistrement DNS à modifier.",[390,1673,1674],{},"Par exemple :",[448,1676,1677],{},[451,1678,1679,439,1682,1685,1686,846],{},[545,1680,1681],{},"sub1",[545,1683,1684],{},"sub2"," pointent eux aussi vers le serveur derrière ",[545,1687,1641],{},[1299,1689,1690,1700],{},[1302,1691,1692],{},[1305,1693,1694,1696,1698],{},[1308,1695,1621],{},[1308,1697,1624],{},[1308,1699,1627],{},[1318,1701,1702,1716],{},[1305,1703,1704,1708,1712],{},[1323,1705,1706],{},[545,1707,1636],{},[1323,1709,1710],{},[545,1711,1681],{},[1323,1713,1714],{},[545,1715,1641],{},[1305,1717,1718,1722,1726],{},[1323,1719,1720],{},[545,1721,1636],{},[1323,1723,1724],{},[545,1725,1684],{},[1323,1727,1728],{},[545,1729,1641],{},[448,1731,1732],{},[451,1733,1734,439,1737,1740,1741,846],{},[545,1735,1736],{},"sub3",[545,1738,1739],{},"sub4"," pointent vers le serveur derrière ",[545,1742,1657],{},[1299,1744,1745,1755],{},[1302,1746,1747],{},[1305,1748,1749,1751,1753],{},[1308,1750,1621],{},[1308,1752,1624],{},[1308,1754,1627],{},[1318,1756,1757,1771],{},[1305,1758,1759,1763,1767],{},[1323,1760,1761],{},[545,1762,1636],{},[1323,1764,1765],{},[545,1766,1736],{},[1323,1768,1769],{},[545,1770,1657],{},[1305,1772,1773,1777,1781],{},[1323,1774,1775],{},[545,1776,1636],{},[1323,1778,1779],{},[545,1780,1739],{},[1323,1782,1783],{},[545,1784,1657],{},[1786,1787,1788],"style",{},"html pre.shiki code .sEgDM, html code.shiki .sEgDM{--shiki-light:#B392F0;--shiki-default:#FFCB6B;--shiki-dark:#B392F0}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 .s8K8j, html code.shiki .s8K8j{--shiki-light:#9ECBFF;--shiki-default:#89DDFF;--shiki-dark:#9ECBFF}html pre.shiki code .sJPTy, html code.shiki .sJPTy{--shiki-light:#F97583;--shiki-default:#89DDFF;--shiki-dark:#F97583}html pre.shiki code .slcoZ, html code.shiki .slcoZ{--shiki-light:#E1E4E8;--shiki-default:#EEFFFF;--shiki-dark:#E1E4E8}html pre.shiki code .soUAX, html code.shiki .soUAX{--shiki-light:#79B8FF;--shiki-default:#89DDFF;--shiki-dark:#79B8FF}html pre.shiki code .swwWl, html code.shiki .swwWl{--shiki-light:#79B8FF;--shiki-default:#F78C6C;--shiki-dark:#79B8FF}html pre.shiki code .szyEh, html code.shiki .szyEh{--shiki-light:#F97583;--shiki-default:#F07178;--shiki-dark:#F97583}",{"title":661,"searchDepth":718,"depth":718,"links":1790},[1791,1792,1797,1803],{"id":400,"depth":718,"text":100},{"id":500,"depth":718,"text":501,"children":1793},[1794,1795,1796],{"id":505,"depth":733,"text":37},{"id":536,"depth":733,"text":537},{"id":584,"depth":733,"text":132},{"id":605,"depth":718,"text":606,"children":1798},[1799,1800,1801,1802],{"id":645,"depth":733,"text":646},{"id":812,"depth":733,"text":813},{"id":909,"depth":733,"text":910},{"id":1549,"depth":733,"text":1550},{"id":1553,"depth":718,"text":1554,"children":1804},[1805,1806,1807,1808],{"id":1562,"depth":733,"text":1563},{"id":1575,"depth":733,"text":1576},{"id":1594,"depth":733,"text":1595},{"id":1665,"depth":733,"text":1550},[1810],"Djeex","Utiliser les tunnels Cloudflare et Zero Trust pour exposer des services sans ouvrir de ports, configurer SWAG et gérer plusieurs tunnels.","md",null,{},{"title":132,"description":1811},"_mSsRJQ2ub7LrlUgVIISQdGkNBkZ3kzI0MEeE3gIQEI",[1818,1820],{"title":122,"path":123,"stem":124,"description":1819,"children":-1},"Configurer SWAG comme reverse proxy avec SSL automatique, exposer vos services en toute sécurité et activer le blocage géographique sur votre homelab.",{"title":136,"path":137,"stem":138,"description":1821,"children":-1},"Installer TinyAuth, un proxy de forward-auth léger, et l'associer à Pocket ID pour ajouter une connexion SSO devant vos applications auto-hébergées. Protéger votre application derrière Swag avec le forward-auth.",1788645837581]