[{"data":1,"prerenderedAt":1841},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-recycled-deprecated-file-browser-":376,"-fr-recycled-deprecated-file-browser--surround":1836},[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":351,"body":378,"contributors":1828,"description":1830,"extension":1831,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":1832,"meta":1833,"navigation":590,"path":352,"seo":1834,"stem":353,"__hash__":1835},"docs_fr\u002Ffr\u002F6.recycled\u002F2.deprecated\u002F2.file-browser.md",{"type":379,"value":380,"toc":1816},"minimark",[381,389,398,408,414,419,616,623,627,642,645,680,1254,1257,1261,1275,1758,1774,1812],[382,383],"ellipsis",{"blur":384,"left":385,"top":386,"width":387,"z-index":388},"140px","0px","10rem","40rem","60",[390,391,393,394,397],"warning",{"to":392},"\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum","Remplacé par ",[395,396,208],"strong",{},". Le projet d'origine a un historique de CVE sérieuses (une RCE par CSRF menant à un compte admin dérobé, du XSS stocké, du path traversal, du contournement d'authentification...) et a été officiellement archivé en septembre 2026, les mainteneurs laissant définitivement non corrigés des problèmes connus de gestion de session et d'exécution de commandes. Ne déployez pas cette version, surtout pas exposée sur internet.",[399,400,401,407],"p",{},[402,403,351],"a",{"href":404,"rel":405},"https:\u002F\u002Fgithub.com\u002Ffilebrowser\u002Ffilebrowser",[406],"nofollow"," est une interface web qui permet d'accéder aux fichiers de votre serveur et de les modifier.",[399,409,410],{},[411,412],"img",{"alt":351,"src":413},"\u002Fimg\u002Fserveex\u002Ffilebrowser.png",[415,416,418],"h2",{"id":417},"installation","Installation",[420,421,423,428,440,547,605,612],"steps",{"level":422},"3",[424,425,427],"h3",{"id":426},"déployer-la-stack","Déployer la stack",[399,429,430,431,435,436,439],{},"Ouvrez Dockge, cliquez sur ",[432,433,434],"code",{},"compose",", nommez la stack ",[432,437,438],{},"filebrowser",", puis copiez-collez ce qui suit :",[441,442,448],"pre",{"className":443,"code":444,"filename":445,"language":446,"meta":447,"style":447},"language-yaml shiki shiki-themes github-dark material-theme github-dark","---\nservices:\n  filebrowser:\n    container_name: filebrowser\n    volumes:\n      - \u002Fsrv\u002Fdocker\u002Ffilebrowser\u002Fconfig:\u002Fconfig\u002F\n      - \u002Fchemin\u002Fvers\u002Fvos\u002Fdossiers:\u002Fvosdossiers #ajoutez les dossiers à parcourir, comme \u002Fsrv\u002Fdocker:\u002Fsrv\u002Fdocker par exemple\n    ports:\n      - 8010:80\n    image: filebrowser\u002Ffilebrowser:s6\n","compose.yaml","yaml","",[432,449,450,459,470,478,491,499,508,520,528,536],{"__ignoreMap":447},[451,452,455],"span",{"class":453,"line":454},"line",1,[451,456,458],{"class":457},"sEgDM","---\n",[451,460,462,466],{"class":453,"line":461},2,[451,463,465],{"class":464},"sRuoG","services",[451,467,469],{"class":468},"s8jd1",":\n",[451,471,473,476],{"class":453,"line":472},3,[451,474,475],{"class":464},"  filebrowser",[451,477,469],{"class":468},[451,479,481,484,487],{"class":453,"line":480},4,[451,482,483],{"class":464},"    container_name",[451,485,486],{"class":468},":",[451,488,490],{"class":489},"s11XM"," filebrowser\n",[451,492,494,497],{"class":453,"line":493},5,[451,495,496],{"class":464},"    volumes",[451,498,469],{"class":468},[451,500,502,505],{"class":453,"line":501},6,[451,503,504],{"class":468},"      -",[451,506,507],{"class":489}," \u002Fsrv\u002Fdocker\u002Ffilebrowser\u002Fconfig:\u002Fconfig\u002F\n",[451,509,511,513,516],{"class":453,"line":510},7,[451,512,504],{"class":468},[451,514,515],{"class":489}," \u002Fchemin\u002Fvers\u002Fvos\u002Fdossiers:\u002Fvosdossiers",[451,517,519],{"class":518},"sDvJj"," #ajoutez les dossiers à parcourir, comme \u002Fsrv\u002Fdocker:\u002Fsrv\u002Fdocker par exemple\n",[451,521,523,526],{"class":453,"line":522},8,[451,524,525],{"class":464},"    ports",[451,527,469],{"class":468},[451,529,531,533],{"class":453,"line":530},9,[451,532,504],{"class":468},[451,534,535],{"class":489}," 8010:80\n",[451,537,539,542,544],{"class":453,"line":538},10,[451,540,541],{"class":464},"    image",[451,543,486],{"class":468},[451,545,546],{"class":489}," filebrowser\u002Ffilebrowser:s6\n",[548,549,550,557],"tip",{"icon":447},[399,551,552,553,556],{},"✨ ",[395,554,555],{},"Astuce :"," ajoutez le label watchtower à chaque conteneur pour automatiser les mises à jour.",[441,558,560],{"className":443,"code":559,"filename":445,"language":446,"meta":447,"style":447},"services:\n  filebrowser:\n    #...\n    labels:\n\n      - com.centurylinklabs.watchtower.enable=true\n```\n",[432,561,562,568,574,579,586,592,599],{"__ignoreMap":447},[451,563,564,566],{"class":453,"line":454},[451,565,465],{"class":464},[451,567,469],{"class":468},[451,569,570,572],{"class":453,"line":461},[451,571,475],{"class":464},[451,573,469],{"class":468},[451,575,576],{"class":453,"line":472},[451,577,578],{"class":518},"    #...\n",[451,580,581,584],{"class":453,"line":480},[451,582,583],{"class":464},"    labels",[451,585,469],{"class":468},[451,587,588],{"class":453,"line":493},[451,589,591],{"emptyLinePlaceholder":590},true,"\n",[451,593,594,596],{"class":453,"line":501},[451,595,504],{"class":468},[451,597,598],{"class":489}," com.centurylinklabs.watchtower.enable=true\n",[451,600,601],{"class":453,"line":510},[451,602,604],{"class":603},"slcoZ","```\n",[399,606,607,608,611],{},"Déployez le conteneur et allez sur ",[432,609,610],{},"http:\u002F\u002Fipdevotreserveur:8010",". Et voilà ! Votre interface web File Browser est en route !",[424,613,615],{"id":614},"terminé","Terminé !",[617,618,619,622],"caution",{},[395,620,621],{},"Si ça ne marche pas :"," vérifiez les règles de votre pare-feu.",[415,624,626],{"id":625},"exposer-file-browser-avec-swag","Exposer File Browser avec Swag",[390,628,629,630,633,634,637,638,641],{},"File Browser ne gère pas l'authentification multifacteur. L'exposer publiquement pourrait mettre vos systèmes en danger. Ne le faites que si vous utilisez une solution d'authentification robuste comme ",[402,631,136],{"href":632},"\u002Fserveex\u002Fsecurity\u002Ftinyauth"," ou ",[402,635,254],{"href":636},"\u002Fserveex\u002Fadvanced\u002Fauthentik\u002F",". Sinon, ne l'exposez pas avec SWAG. Utilisez plutôt un VPN comme ",[402,639,118],{"href":640},"\u002Fserveex\u002Fcore\u002Fwireguard",".",[399,643,644],{},"Vous voudrez peut-être accéder à File Browser à distance depuis tous vos appareils. Pour cela, nous allons l'exposer à travers Swag.",[646,647,648,651,652,655,656,660,661,664,665,668,669,672,673,675,676,641],"note",{},[395,649,650],{},"Au préalable :"," nous partons du principe que vous avez déjà créé un sous-domaine du type ",[432,653,654],{},"files.mondomaine.fr"," dans votre ",[402,657,659],{"href":658},"\u002Fgeneral\u002Fnetworking\u002Fdns","zone DNS",", pointant vers ",[432,662,663],{},"mondomaine.fr"," avec un ",[432,666,667],{},"CNAME",". À moins d'utiliser Cloudflare Zero Trust, nous partons aussi du principe que vous avez déjà redirigé le port ",[432,670,671],{},"443"," de votre box vers le port ",[432,674,671],{}," de votre serveur avec les ",[402,677,679],{"href":678},"\u002Fgeneral\u002Fnetworking\u002Fnat","règles NAT",[420,681,682,686,689,811,822,825,829,835,854,857,1235,1251],{"level":422},[424,683,685],{"id":684},"ajouter-le-réseau-de-file-browser-à-swag","Ajouter le réseau de File Browser à SWAG",[399,687,688],{},"Dans Dockge, allez sur la stack SWAG et modifiez le fichier compose pour y ajouter le réseau de File Browser :",[441,690,692],{"className":443,"code":691,"filename":445,"language":446,"meta":447,"style":447},"---\nservices:\n  swag:\n     container_name: # ...\n      # ... \n     networks:                 # Rattache le conteneur au réseau personnalisé \n      # ...           \n      - filebrowser            # Nom du réseau déclaré dans la stack\n    \nnetworks:                      # Définit le réseau personnalisé\n  # ...\n  filebrowser:                 # Nom du réseau déclaré dans la stack\n    name: filebrowser_default  # Nom réel du réseau externe\n    external: true             # Précise qu'il s'agit d'un réseau externe\n",[432,693,694,698,704,711,721,726,736,741,751,756,766,772,782,796],{"__ignoreMap":447},[451,695,696],{"class":453,"line":454},[451,697,458],{"class":457},[451,699,700,702],{"class":453,"line":461},[451,701,465],{"class":464},[451,703,469],{"class":468},[451,705,706,709],{"class":453,"line":472},[451,707,708],{"class":464},"  swag",[451,710,469],{"class":468},[451,712,713,716,718],{"class":453,"line":480},[451,714,715],{"class":464},"     container_name",[451,717,486],{"class":468},[451,719,720],{"class":518}," # ...\n",[451,722,723],{"class":453,"line":493},[451,724,725],{"class":518},"      # ... \n",[451,727,728,731,733],{"class":453,"line":501},[451,729,730],{"class":464},"     networks",[451,732,486],{"class":468},[451,734,735],{"class":518},"                 # Rattache le conteneur au réseau personnalisé \n",[451,737,738],{"class":453,"line":510},[451,739,740],{"class":518},"      # ...           \n",[451,742,743,745,748],{"class":453,"line":522},[451,744,504],{"class":468},[451,746,747],{"class":489}," filebrowser",[451,749,750],{"class":518},"            # Nom du réseau déclaré dans la stack\n",[451,752,753],{"class":453,"line":530},[451,754,755],{"class":603},"    \n",[451,757,758,761,763],{"class":453,"line":538},[451,759,760],{"class":464},"networks",[451,762,486],{"class":468},[451,764,765],{"class":518},"                      # Définit le réseau personnalisé\n",[451,767,769],{"class":453,"line":768},11,[451,770,771],{"class":518},"  # ...\n",[451,773,775,777,779],{"class":453,"line":774},12,[451,776,475],{"class":464},[451,778,486],{"class":468},[451,780,781],{"class":518},"                 # Nom du réseau déclaré dans la stack\n",[451,783,785,788,790,793],{"class":453,"line":784},13,[451,786,787],{"class":464},"    name",[451,789,486],{"class":468},[451,791,792],{"class":489}," filebrowser_default",[451,794,795],{"class":518},"  # Nom réel du réseau externe\n",[451,797,799,802,804,808],{"class":453,"line":798},14,[451,800,801],{"class":464},"    external",[451,803,486],{"class":468},[451,805,807],{"class":806},"s08Ry"," true",[451,809,810],{"class":518},"             # Précise qu'il s'agit d'un réseau externe\n",[646,812,813,814,817,818,641],{},"Nous partons ici du principe que le nom du réseau de File Browser est ",[432,815,816],{},"filebrowser_default",". Vous pouvez confirmer que la connexion fonctionne en accédant au tableau de bord de SWAG sur ",[402,819,820],{"href":820,"rel":821},"http:\u002F\u002Fipdevotreserveur:81",[406],[399,823,824],{},"Redémarrez la stack en cliquant sur « deploy » et attendez que SWAG soit complètement initialisé.",[424,826,828],{"id":827},"créer-le-fichier-subdomainconf","Créer le fichier subdomain.conf",[399,830,831,832,641],{},"Dans les dossiers de Swag, créez le fichier ",[432,833,834],{},"files.subdomain.conf",[441,836,841],{"className":837,"code":838,"filename":839,"language":840,"meta":447,"style":447},"language-bash shiki shiki-themes github-dark material-theme github-dark","sudo nano \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fproxy-confs\u002Ffiles.subdomain.conf\n","Terminal","bash",[432,842,843],{"__ignoreMap":447},[451,844,845,848,851],{"class":453,"line":454},[451,846,847],{"class":457},"sudo",[451,849,850],{"class":489}," nano",[451,852,853],{"class":489}," \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fproxy-confs\u002Ffiles.subdomain.conf\n",[399,855,856],{},"Et collez la configuration suivante :",[441,858,862],{"className":859,"code":860,"filename":834,"language":861,"meta":447,"style":447},"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 files.*;\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 filebrowser;\n        set $upstream_port 80;\n        set $upstream_proto http;\n        proxy_pass $upstream_proto:\u002F\u002F$upstream_app:$upstream_port;\n    }\n}\n","nginx",[432,863,864,869,873,882,897,906,910,920,924,934,938,948,952,957,962,997,1002,1008,1014,1019,1025,1031,1036,1042,1048,1053,1065,1071,1077,1083,1088,1094,1100,1105,1111,1117,1122,1128,1134,1139,1150,1160,1173,1188,1200,1223,1229],{"__ignoreMap":447},[451,865,866],{"class":453,"line":454},[451,867,868],{"class":518},"## Version 2023\u002F12\u002F19\n",[451,870,871],{"class":453,"line":461},[451,872,591],{"emptyLinePlaceholder":590},[451,874,875,879],{"class":453,"line":472},[451,876,878],{"class":877},"sAoO4","server",[451,880,881],{"class":603}," {\n",[451,883,884,888,891,894],{"class":453,"line":480},[451,885,887],{"class":886},"sJPTy","    listen ",[451,889,671],{"class":890},"swwWl",[451,892,893],{"class":603}," ssl",[451,895,896],{"class":468},";\n",[451,898,899,901,904],{"class":453,"line":493},[451,900,887],{"class":886},[451,902,903],{"class":603},"[::]:443 ssl",[451,905,896],{"class":468},[451,907,908],{"class":453,"line":501},[451,909,591],{"emptyLinePlaceholder":590},[451,911,912,915,918],{"class":453,"line":510},[451,913,914],{"class":886},"    server_name ",[451,916,917],{"class":603},"files.*",[451,919,896],{"class":468},[451,921,922],{"class":453,"line":522},[451,923,591],{"emptyLinePlaceholder":590},[451,925,926,929,932],{"class":453,"line":530},[451,927,928],{"class":886},"    include ",[451,930,931],{"class":603},"\u002Fconfig\u002Fnginx\u002Fssl.conf",[451,933,896],{"class":468},[451,935,936],{"class":453,"line":538},[451,937,591],{"emptyLinePlaceholder":590},[451,939,940,943,946],{"class":453,"line":768},[451,941,942],{"class":886},"    client_max_body_size ",[451,944,945],{"class":890},"0",[451,947,896],{"class":468},[451,949,950],{"class":453,"line":774},[451,951,591],{"emptyLinePlaceholder":590},[451,953,954],{"class":453,"line":784},[451,955,956],{"class":518},"    #if ($lan-ip = yes) { set $geo-whitelist yes; }\n",[451,958,959],{"class":453,"line":798},[451,960,961],{"class":518},"    #if ($geo-whitelist = no) { return 404; }\n",[451,963,965,969,972,975,978,981,984,988,991,994],{"class":453,"line":964},15,[451,966,968],{"class":967},"sJLGa","    if",[451,970,971],{"class":603}," (",[451,973,974],{"class":468},"$",[451,976,977],{"class":603},"geo-blacklist ",[451,979,980],{"class":886},"= ",[451,982,983],{"class":603},"no) ",[451,985,987],{"class":986},"sSoIa","{ ",[451,989,990],{"class":967},"return",[451,992,993],{"class":890}," 404",[451,995,996],{"class":986},"; }\n",[451,998,1000],{"class":453,"line":999},16,[451,1001,591],{"emptyLinePlaceholder":590},[451,1003,1005],{"class":453,"line":1004},17,[451,1006,1007],{"class":518},"    # enable for ldap auth (requires ldap-location.conf in the location block)\n",[451,1009,1011],{"class":453,"line":1010},18,[451,1012,1013],{"class":518},"    #include \u002Fconfig\u002Fnginx\u002Fldap-server.conf;\n",[451,1015,1017],{"class":453,"line":1016},19,[451,1018,591],{"emptyLinePlaceholder":590},[451,1020,1022],{"class":453,"line":1021},20,[451,1023,1024],{"class":518},"    # enable for Authelia (requires authelia-location.conf in the location block)\n",[451,1026,1028],{"class":453,"line":1027},21,[451,1029,1030],{"class":518},"    #include \u002Fconfig\u002Fnginx\u002Fauthelia-server.conf;\n",[451,1032,1034],{"class":453,"line":1033},22,[451,1035,591],{"emptyLinePlaceholder":590},[451,1037,1039],{"class":453,"line":1038},23,[451,1040,1041],{"class":518},"    # enable for Authentik (requires authentik-location.conf in the location block)\n",[451,1043,1045],{"class":453,"line":1044},24,[451,1046,1047],{"class":518},"    #include \u002Fconfig\u002Fnginx\u002Fauthentik-server.conf;\n",[451,1049,1051],{"class":453,"line":1050},25,[451,1052,591],{"emptyLinePlaceholder":590},[451,1054,1056,1059,1062],{"class":453,"line":1055},26,[451,1057,1058],{"class":877},"    location",[451,1060,1061],{"class":457}," \u002F ",[451,1063,1064],{"class":603},"{\n",[451,1066,1068],{"class":453,"line":1067},27,[451,1069,1070],{"class":518},"        # enable the next two lines for http auth\n",[451,1072,1074],{"class":453,"line":1073},28,[451,1075,1076],{"class":518},"        #auth_basic \"Restricted\";\n",[451,1078,1080],{"class":453,"line":1079},29,[451,1081,1082],{"class":518},"        #auth_basic_user_file \u002Fconfig\u002Fnginx\u002F.htpasswd;\n",[451,1084,1086],{"class":453,"line":1085},30,[451,1087,591],{"emptyLinePlaceholder":590},[451,1089,1091],{"class":453,"line":1090},31,[451,1092,1093],{"class":518},"        # enable for ldap auth (requires ldap-server.conf in the server block)\n",[451,1095,1097],{"class":453,"line":1096},32,[451,1098,1099],{"class":518},"        #include \u002Fconfig\u002Fnginx\u002Fldap-location.conf;\n",[451,1101,1103],{"class":453,"line":1102},33,[451,1104,591],{"emptyLinePlaceholder":590},[451,1106,1108],{"class":453,"line":1107},34,[451,1109,1110],{"class":518},"        # enable for Authelia (requires authelia-server.conf in the server block)\n",[451,1112,1114],{"class":453,"line":1113},35,[451,1115,1116],{"class":518},"        #include \u002Fconfig\u002Fnginx\u002Fauthelia-location.conf;\n",[451,1118,1120],{"class":453,"line":1119},36,[451,1121,591],{"emptyLinePlaceholder":590},[451,1123,1125],{"class":453,"line":1124},37,[451,1126,1127],{"class":518},"        # enable for Authentik (requires authentik-server.conf in the server block)\n",[451,1129,1131],{"class":453,"line":1130},38,[451,1132,1133],{"class":518},"        #include \u002Fconfig\u002Fnginx\u002Fauthentik-location.conf;\n",[451,1135,1137],{"class":453,"line":1136},39,[451,1138,591],{"emptyLinePlaceholder":590},[451,1140,1142,1145,1148],{"class":453,"line":1141},40,[451,1143,1144],{"class":886},"        include ",[451,1146,1147],{"class":603},"\u002Fconfig\u002Fnginx\u002Fproxy.conf",[451,1149,896],{"class":468},[451,1151,1153,1155,1158],{"class":453,"line":1152},41,[451,1154,1144],{"class":886},[451,1156,1157],{"class":603},"\u002Fconfig\u002Fnginx\u002Fresolver.conf",[451,1159,896],{"class":468},[451,1161,1163,1166,1168,1171],{"class":453,"line":1162},42,[451,1164,1165],{"class":886},"        set ",[451,1167,974],{"class":468},[451,1169,1170],{"class":603},"upstream_app filebrowser",[451,1172,896],{"class":468},[451,1174,1176,1178,1180,1183,1186],{"class":453,"line":1175},43,[451,1177,1165],{"class":886},[451,1179,974],{"class":468},[451,1181,1182],{"class":603},"upstream_port ",[451,1184,1185],{"class":890},"80",[451,1187,896],{"class":468},[451,1189,1191,1193,1195,1198],{"class":453,"line":1190},44,[451,1192,1165],{"class":886},[451,1194,974],{"class":468},[451,1196,1197],{"class":603},"upstream_proto http",[451,1199,896],{"class":468},[451,1201,1203,1206,1208,1211,1213,1216,1218,1221],{"class":453,"line":1202},45,[451,1204,1205],{"class":886},"        proxy_pass ",[451,1207,974],{"class":468},[451,1209,1210],{"class":603},"upstream_proto:\u002F\u002F",[451,1212,974],{"class":468},[451,1214,1215],{"class":603},"upstream_app:",[451,1217,974],{"class":468},[451,1219,1220],{"class":603},"upstream_port",[451,1222,896],{"class":468},[451,1224,1226],{"class":453,"line":1225},46,[451,1227,1228],{"class":603},"    }\n",[451,1230,1232],{"class":453,"line":1231},47,[451,1233,1234],{"class":603},"}\n",[399,1236,1237,1238,1242,1243,1246,1247,1250],{},"Appuyez sur ",[1239,1240],"kbd",{"value":1241},"Ctrl+O",", puis ",[1239,1244],{"value":1245},"Enter"," pour enregistrer, et ",[1239,1248],{"value":1249},"Ctrl+X"," pour quitter.",[424,1252,615],{"id":1253},"terminé-1",[399,1255,1256],{},"Et voilà ! File Browser est maintenant exposé !",[415,1258,1260],{"id":1259},"protéger-file-browser-avec-tinyauth","Protéger File Browser avec TinyAuth",[399,1262,1263,1264,1266,1267,1269,1270,1274],{},"Ajoutez la vérification forward-auth de ",[402,1265,136],{"href":632}," directement dans ",[432,1268,834],{},", de la même façon que dans ",[402,1271,1273],{"href":1272},"\u002Fserveex\u002Fsecurity\u002Ftinyauth#protecting-an-app-via-reverse-proxy","le tutoriel TinyAuth"," :",[441,1276,1279],{"className":859,"code":1277,"filename":834,"highlights":1278,"language":861,"meta":447,"style":447},"## Version 2023\u002F12\u002F19\n\nserver {\n    listen 443 ssl;\n    listen [::]:443 ssl;\n\n    server_name files.*;\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 \u002Ftinyauth {\n        internal;\n        proxy_pass http:\u002F\u002Ftinyauth:3000\u002Fapi\u002Fauth\u002Fnginx;\n        proxy_pass_request_body off;\n        proxy_set_header Content-Length \"\";\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_set_header X-Forwarded-Host $http_host;\n        proxy_set_header X-Forwarded-Uri $request_uri;\n    }\n\n    location @tinyauth_login {\n        return 302 https:\u002F\u002Ftinyauth.mondomaine.fr\u002Flogin?redirect_uri=$scheme:\u002F\u002F$http_host$request_uri;\n    }\n\n    location \u002F {\n        auth_request \u002Ftinyauth;\n        error_page 401 = @tinyauth_login;\n\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 filebrowser;\n        set $upstream_port 80;\n        set $upstream_proto http;\n        proxy_pass $upstream_proto:\u002F\u002F$upstream_app:$upstream_port;\n    }\n}\n",[1055,1067,1073,1079,1085,1090,1096,1102,1107,1113,1119,1124,1130,1152,1162],[432,1280,1281,1285,1289,1295,1305,1313,1317,1325,1329,1337,1341,1349,1353,1357,1361,1383,1387,1391,1395,1399,1403,1407,1411,1415,1419,1423,1434,1442,1452,1464,1478,1493,1508,1523,1528,1533,1543,1569,1574,1578,1586,1597,1611,1615,1619,1623,1627,1631,1636,1641,1646,1651,1656,1661,1666,1671,1676,1685,1694,1705,1718,1729,1748,1753],{"__ignoreMap":447},[451,1282,1283],{"class":453,"line":454},[451,1284,868],{"class":518},[451,1286,1287],{"class":453,"line":461},[451,1288,591],{"emptyLinePlaceholder":590},[451,1290,1291,1293],{"class":453,"line":472},[451,1292,878],{"class":877},[451,1294,881],{"class":603},[451,1296,1297,1299,1301,1303],{"class":453,"line":480},[451,1298,887],{"class":886},[451,1300,671],{"class":890},[451,1302,893],{"class":603},[451,1304,896],{"class":468},[451,1306,1307,1309,1311],{"class":453,"line":493},[451,1308,887],{"class":886},[451,1310,903],{"class":603},[451,1312,896],{"class":468},[451,1314,1315],{"class":453,"line":501},[451,1316,591],{"emptyLinePlaceholder":590},[451,1318,1319,1321,1323],{"class":453,"line":510},[451,1320,914],{"class":886},[451,1322,917],{"class":603},[451,1324,896],{"class":468},[451,1326,1327],{"class":453,"line":522},[451,1328,591],{"emptyLinePlaceholder":590},[451,1330,1331,1333,1335],{"class":453,"line":530},[451,1332,928],{"class":886},[451,1334,931],{"class":603},[451,1336,896],{"class":468},[451,1338,1339],{"class":453,"line":538},[451,1340,591],{"emptyLinePlaceholder":590},[451,1342,1343,1345,1347],{"class":453,"line":768},[451,1344,942],{"class":886},[451,1346,945],{"class":890},[451,1348,896],{"class":468},[451,1350,1351],{"class":453,"line":774},[451,1352,591],{"emptyLinePlaceholder":590},[451,1354,1355],{"class":453,"line":784},[451,1356,956],{"class":518},[451,1358,1359],{"class":453,"line":798},[451,1360,961],{"class":518},[451,1362,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381],{"class":453,"line":964},[451,1364,968],{"class":967},[451,1366,971],{"class":603},[451,1368,974],{"class":468},[451,1370,977],{"class":603},[451,1372,980],{"class":886},[451,1374,983],{"class":603},[451,1376,987],{"class":986},[451,1378,990],{"class":967},[451,1380,993],{"class":890},[451,1382,996],{"class":986},[451,1384,1385],{"class":453,"line":999},[451,1386,591],{"emptyLinePlaceholder":590},[451,1388,1389],{"class":453,"line":1004},[451,1390,1007],{"class":518},[451,1392,1393],{"class":453,"line":1010},[451,1394,1013],{"class":518},[451,1396,1397],{"class":453,"line":1016},[451,1398,591],{"emptyLinePlaceholder":590},[451,1400,1401],{"class":453,"line":1021},[451,1402,1024],{"class":518},[451,1404,1405],{"class":453,"line":1027},[451,1406,1030],{"class":518},[451,1408,1409],{"class":453,"line":1033},[451,1410,591],{"emptyLinePlaceholder":590},[451,1412,1413],{"class":453,"line":1038},[451,1414,1041],{"class":518},[451,1416,1417],{"class":453,"line":1044},[451,1418,1047],{"class":518},[451,1420,1421],{"class":453,"line":1050},[451,1422,591],{"emptyLinePlaceholder":590},[451,1424,1427,1429,1432],{"class":1425,"line":1055},[453,1426],"highlight",[451,1428,1058],{"class":877},[451,1430,1431],{"class":457}," \u002Ftinyauth ",[451,1433,1064],{"class":603},[451,1435,1437,1440],{"class":1436,"line":1067},[453,1426],[451,1438,1439],{"class":886},"        internal",[451,1441,896],{"class":468},[451,1443,1445,1447,1450],{"class":1444,"line":1073},[453,1426],[451,1446,1205],{"class":886},[451,1448,1449],{"class":603},"http:\u002F\u002Ftinyauth:3000\u002Fapi\u002Fauth\u002Fnginx",[451,1451,896],{"class":468},[451,1453,1455,1458,1462],{"class":1454,"line":1079},[453,1426],[451,1456,1457],{"class":886},"        proxy_pass_request_body ",[451,1459,1461],{"class":1460},"soUAX","off",[451,1463,896],{"class":468},[451,1465,1467,1470,1473,1476],{"class":1466,"line":1085},[453,1426],[451,1468,1469],{"class":886},"        proxy_set_header ",[451,1471,1472],{"class":603},"Content-Length ",[451,1474,1475],{"class":489},"\"\"",[451,1477,896],{"class":468},[451,1479,1481,1483,1486,1488,1491],{"class":1480,"line":1090},[453,1426],[451,1482,1469],{"class":886},[451,1484,1485],{"class":603},"X-Forwarded-Proto ",[451,1487,974],{"class":468},[451,1489,1490],{"class":603},"scheme",[451,1492,896],{"class":468},[451,1494,1496,1498,1501,1503,1506],{"class":1495,"line":1096},[453,1426],[451,1497,1469],{"class":886},[451,1499,1500],{"class":603},"X-Forwarded-Host ",[451,1502,974],{"class":468},[451,1504,1505],{"class":603},"http_host",[451,1507,896],{"class":468},[451,1509,1511,1513,1516,1518,1521],{"class":1510,"line":1102},[453,1426],[451,1512,1469],{"class":886},[451,1514,1515],{"class":603},"X-Forwarded-Uri ",[451,1517,974],{"class":468},[451,1519,1520],{"class":603},"request_uri",[451,1522,896],{"class":468},[451,1524,1526],{"class":1525,"line":1107},[453,1426],[451,1527,1228],{"class":603},[451,1529,1531],{"class":1530,"line":1113},[453,1426],[451,1532,591],{"emptyLinePlaceholder":590},[451,1534,1536,1538,1541],{"class":1535,"line":1119},[453,1426],[451,1537,1058],{"class":877},[451,1539,1540],{"class":457}," @tinyauth_login ",[451,1542,1064],{"class":603},[451,1544,1546,1549,1552,1555,1557,1560,1562,1564,1566],{"class":1545,"line":1124},[453,1426],[451,1547,1548],{"class":967},"        return",[451,1550,1551],{"class":890}," 302",[451,1553,1554],{"class":603}," https:\u002F\u002Ftinyauth.mondomaine.fr\u002Flogin?redirect_uri=",[451,1556,974],{"class":468},[451,1558,1559],{"class":603},"scheme:\u002F\u002F",[451,1561,974],{"class":468},[451,1563,1505],{"class":603},[451,1565,974],{"class":468},[451,1567,1568],{"class":603},"request_uri;\n",[451,1570,1572],{"class":1571,"line":1130},[453,1426],[451,1573,1228],{"class":603},[451,1575,1576],{"class":453,"line":1136},[451,1577,591],{"emptyLinePlaceholder":590},[451,1579,1580,1582,1584],{"class":453,"line":1141},[451,1581,1058],{"class":877},[451,1583,1061],{"class":457},[451,1585,1064],{"class":603},[451,1587,1589,1592,1595],{"class":1588,"line":1152},[453,1426],[451,1590,1591],{"class":886},"        auth_request ",[451,1593,1594],{"class":603},"\u002Ftinyauth",[451,1596,896],{"class":468},[451,1598,1600,1603,1606,1609],{"class":1599,"line":1162},[453,1426],[451,1601,1602],{"class":886},"        error_page ",[451,1604,1605],{"class":890},"401",[451,1607,1608],{"class":603}," = @tinyauth_login",[451,1610,896],{"class":468},[451,1612,1613],{"class":453,"line":1175},[451,1614,591],{"emptyLinePlaceholder":590},[451,1616,1617],{"class":453,"line":1190},[451,1618,1070],{"class":518},[451,1620,1621],{"class":453,"line":1202},[451,1622,1076],{"class":518},[451,1624,1625],{"class":453,"line":1225},[451,1626,1082],{"class":518},[451,1628,1629],{"class":453,"line":1231},[451,1630,591],{"emptyLinePlaceholder":590},[451,1632,1634],{"class":453,"line":1633},48,[451,1635,1093],{"class":518},[451,1637,1639],{"class":453,"line":1638},49,[451,1640,1099],{"class":518},[451,1642,1644],{"class":453,"line":1643},50,[451,1645,591],{"emptyLinePlaceholder":590},[451,1647,1649],{"class":453,"line":1648},51,[451,1650,1110],{"class":518},[451,1652,1654],{"class":453,"line":1653},52,[451,1655,1116],{"class":518},[451,1657,1659],{"class":453,"line":1658},53,[451,1660,591],{"emptyLinePlaceholder":590},[451,1662,1664],{"class":453,"line":1663},54,[451,1665,1127],{"class":518},[451,1667,1669],{"class":453,"line":1668},55,[451,1670,1133],{"class":518},[451,1672,1674],{"class":453,"line":1673},56,[451,1675,591],{"emptyLinePlaceholder":590},[451,1677,1679,1681,1683],{"class":453,"line":1678},57,[451,1680,1144],{"class":886},[451,1682,1147],{"class":603},[451,1684,896],{"class":468},[451,1686,1688,1690,1692],{"class":453,"line":1687},58,[451,1689,1144],{"class":886},[451,1691,1157],{"class":603},[451,1693,896],{"class":468},[451,1695,1697,1699,1701,1703],{"class":453,"line":1696},59,[451,1698,1165],{"class":886},[451,1700,974],{"class":468},[451,1702,1170],{"class":603},[451,1704,896],{"class":468},[451,1706,1708,1710,1712,1714,1716],{"class":453,"line":1707},60,[451,1709,1165],{"class":886},[451,1711,974],{"class":468},[451,1713,1182],{"class":603},[451,1715,1185],{"class":890},[451,1717,896],{"class":468},[451,1719,1721,1723,1725,1727],{"class":453,"line":1720},61,[451,1722,1165],{"class":886},[451,1724,974],{"class":468},[451,1726,1197],{"class":603},[451,1728,896],{"class":468},[451,1730,1732,1734,1736,1738,1740,1742,1744,1746],{"class":453,"line":1731},62,[451,1733,1205],{"class":886},[451,1735,974],{"class":468},[451,1737,1210],{"class":603},[451,1739,974],{"class":468},[451,1741,1215],{"class":603},[451,1743,974],{"class":468},[451,1745,1220],{"class":603},[451,1747,896],{"class":468},[451,1749,1751],{"class":453,"line":1750},63,[451,1752,1228],{"class":603},[451,1754,1756],{"class":453,"line":1755},64,[451,1757,1234],{"class":603},[646,1759,1761,1762,1765,1766,1769,1770,1773],{"to":1760},"\u002Fserveex\u002Fsecurity\u002Ftinyauth#exposing-tinyauth-with-swag","Le bloc ",[432,1763,1764],{},"location \u002Ftinyauth"," s'exécute dans le conteneur de SWAG lui-même, SWAG doit donc être sur le réseau Docker de TinyAuth pour le joindre par son nom (",[432,1767,1768],{},"tinyauth"," ici). Cela devrait déjà être en place depuis ",[395,1771,1772],{},"l'exposition de TinyAuth",". Si vous rencontrez une erreur, revérifiez que le fichier compose de SWAG a toujours ce réseau rattaché.",[548,1775,552,1776,1778,1779,1782,1783,1785,1786,1797,1798,1807,1808,641],{"icon":447},[395,1777,555],{}," vous pouvez protéger cette application avec ",[402,1780,254],{"href":1781},"\u002Fserveex\u002Fadvanced\u002Fauthentik"," plutôt que TinyAuth, en ouvrant ",[432,1784,834],{}," et en décommentant ",[432,1787,1788,1791,1794],{"className":859,"language":861,"style":447},[451,1789,1790],{"class":886},"include ",[451,1792,1793],{"class":603},"\u002Fconfig\u002Fnginx\u002Fauthentik-server.conf",[451,1795,1796],{"class":468},";"," et ",[432,1799,1800,1802,1805],{"className":859,"language":861,"style":447},[451,1801,1790],{"class":886},[451,1803,1804],{"class":603},"\u002Fconfig\u002Fnginx\u002Fauthentik-location.conf",[451,1806,1796],{"class":468},". N'oubliez pas de ",[402,1809,1811],{"href":1810},"\u002Fserveex\u002Fadvanced\u002Fauthentik#protecting-an-app-via-reverse-proxy","créer une application et un provider dans Authentik",[1813,1814,1815],"style",{},"html pre.shiki code .sEgDM, html code.shiki .sEgDM{--shiki-light:#B392F0;--shiki-default:#FFCB6B;--shiki-dark:#B392F0}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 .s11XM, html code.shiki .s11XM{--shiki-light:#9ECBFF;--shiki-default:#C3E88D;--shiki-dark:#9ECBFF}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 .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 .slcoZ, html code.shiki .slcoZ{--shiki-light:#E1E4E8;--shiki-default:#EEFFFF;--shiki-dark:#E1E4E8}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}html pre.shiki code .soUAX, html code.shiki .soUAX{--shiki-light:#79B8FF;--shiki-default:#89DDFF;--shiki-dark:#79B8FF}",{"title":447,"searchDepth":461,"depth":461,"links":1817},[1818,1822,1827],{"id":417,"depth":461,"text":418,"children":1819},[1820,1821],{"id":426,"depth":472,"text":427},{"id":614,"depth":472,"text":615},{"id":625,"depth":461,"text":626,"children":1823},[1824,1825,1826],{"id":684,"depth":472,"text":685},{"id":827,"depth":472,"text":828},{"id":1253,"depth":472,"text":615},{"id":1259,"depth":461,"text":1260},[1829],"Djeex","Installer File Browser pour parcourir et gérer les fichiers de votre serveur depuis une interface web, exposée en toute sécurité avec SWAG.","md",null,{},{"title":351,"description":1830},"A0BVkVNGX7mmBeZziiAotswFYIhK5ChghrQJgzTeG5k",[1837,1839],{"title":347,"path":348,"stem":349,"description":1838,"children":-1},"Ancien guide WireGuard 14 conservé à titre archivé, voir le guide WireGuard à jour pour une installation actuelle.",{"title":361,"path":362,"stem":363,"description":1840,"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.",1788645852169]