[{"data":1,"prerenderedAt":1684},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-serveex-development-forgejo-":376,"-fr-serveex-development-forgejo--surround":1679},[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":226,"body":378,"contributors":1671,"description":1673,"extension":1674,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":1675,"meta":1676,"navigation":808,"path":227,"seo":1677,"stem":228,"__hash__":1678},"docs_fr\u002Ffr\u002F3.serveex\u002F8.development\u002F2.forgejo.md",{"type":379,"value":380,"toc":1653},"minimark",[381,389,399,406,411,415,676,684,688,691,732,1439,1442,1446,1449,1591,1649],[382,383],"ellipsis",{"blur":384,"left":385,"top":386,"width":387,"z-index":388},"140px","0px","10rem","40rem","60",[390,391,392,398],"p",{},[393,394,226],"a",{"href":395,"rel":396},"https:\u002F\u002Fforgejo.org\u002F",[397],"nofollow"," est une plateforme DevOps auto-hébergée qui permet de gérer des dépôts à la manière de GitHub, mais sur votre propre infrastructure. C'est un fork communautaire de Gitea.",[390,400,401],{},[402,403],"img",{"alt":404,"src":405},"forgejo","\u002Fimg\u002Fserveex\u002Fforgejo.png",[407,408,410],"h2",{"id":409},"installation","Installation",[412,413],"file-tree",{":tree":414},"{\"\u002F\":[{\"srv\":[{\"docker\":[{\"forgejo\":[\"compose.yaml\",\".env\",\"data\u002F\"]}]}]}]}",[416,417,419,424,435,625,629,636,665,672],"steps",{"level":418},"3",[420,421,423],"h3",{"id":422},"déployer-la-stack","Déployer la stack",[390,425,426,427,431,432,434],{},"Ouvrez Dockge, cliquez sur ",[428,429,430],"code",{},"compose",", nommez la stack ",[428,433,404],{},", et collez le contenu suivant :",[436,437,443],"pre",{"className":438,"code":439,"filename":440,"language":441,"meta":442,"style":442},"language-yaml shiki shiki-themes github-dark material-theme github-dark","---\nnetworks:\n  forgejo:\n    external: false\nservices:\n  server:\n    image: codeberg.org\u002Fforgejo\u002Fforgejo:11\n    container_name: forgejo\n    environment:\n      - USER_UID=${UID}\n      - USER_GID=${GID}\n      - TZ=Europe\u002FParis\n    restart: unless-stopped\n    networks:\n      - forgejo\n    volumes:\n      - .\u002Fdata:\u002Fdata\n    ports:\n      - 3333:3000\n      - 222:22\n","compose.yaml","yaml","",[428,444,445,454,465,473,486,494,502,514,525,533,542,550,558,569,577,584,592,600,608,616],{"__ignoreMap":442},[446,447,450],"span",{"class":448,"line":449},"line",1,[446,451,453],{"class":452},"sEgDM","---\n",[446,455,457,461],{"class":448,"line":456},2,[446,458,460],{"class":459},"sRuoG","networks",[446,462,464],{"class":463},"s8jd1",":\n",[446,466,468,471],{"class":448,"line":467},3,[446,469,470],{"class":459},"  forgejo",[446,472,464],{"class":463},[446,474,476,479,482],{"class":448,"line":475},4,[446,477,478],{"class":459},"    external",[446,480,481],{"class":463},":",[446,483,485],{"class":484},"s08Ry"," false\n",[446,487,489,492],{"class":448,"line":488},5,[446,490,491],{"class":459},"services",[446,493,464],{"class":463},[446,495,497,500],{"class":448,"line":496},6,[446,498,499],{"class":459},"  server",[446,501,464],{"class":463},[446,503,505,508,510],{"class":448,"line":504},7,[446,506,507],{"class":459},"    image",[446,509,481],{"class":463},[446,511,513],{"class":512},"s11XM"," codeberg.org\u002Fforgejo\u002Fforgejo:11\n",[446,515,517,520,522],{"class":448,"line":516},8,[446,518,519],{"class":459},"    container_name",[446,521,481],{"class":463},[446,523,524],{"class":512}," forgejo\n",[446,526,528,531],{"class":448,"line":527},9,[446,529,530],{"class":459},"    environment",[446,532,464],{"class":463},[446,534,536,539],{"class":448,"line":535},10,[446,537,538],{"class":463},"      -",[446,540,541],{"class":512}," USER_UID=${UID}\n",[446,543,545,547],{"class":448,"line":544},11,[446,546,538],{"class":463},[446,548,549],{"class":512}," USER_GID=${GID}\n",[446,551,553,555],{"class":448,"line":552},12,[446,554,538],{"class":463},[446,556,557],{"class":512}," TZ=Europe\u002FParis\n",[446,559,561,564,566],{"class":448,"line":560},13,[446,562,563],{"class":459},"    restart",[446,565,481],{"class":463},[446,567,568],{"class":512}," unless-stopped\n",[446,570,572,575],{"class":448,"line":571},14,[446,573,574],{"class":459},"    networks",[446,576,464],{"class":463},[446,578,580,582],{"class":448,"line":579},15,[446,581,538],{"class":463},[446,583,524],{"class":512},[446,585,587,590],{"class":448,"line":586},16,[446,588,589],{"class":459},"    volumes",[446,591,464],{"class":463},[446,593,595,597],{"class":448,"line":594},17,[446,596,538],{"class":463},[446,598,599],{"class":512}," .\u002Fdata:\u002Fdata\n",[446,601,603,606],{"class":448,"line":602},18,[446,604,605],{"class":459},"    ports",[446,607,464],{"class":463},[446,609,611,613],{"class":448,"line":610},19,[446,612,538],{"class":463},[446,614,615],{"class":512}," 3333:3000\n",[446,617,619,621],{"class":448,"line":618},20,[446,620,538],{"class":463},[446,622,624],{"class":623},"swwWl"," 222:22\n",[420,626,628],{"id":627},"renseigner-vos-variables-denvironnement","Renseigner vos variables d'environnement",[390,630,631,632,635],{},"Remplissez le fichier ",[428,633,634],{},".env"," avec les informations nécessaires, par exemple :",[436,637,641],{"className":638,"code":639,"filename":634,"language":640,"meta":442,"style":442},"language-properties shiki shiki-themes github-dark material-theme github-dark","UID=1000\nGID=1000\n","properties",[428,642,643,656],{"__ignoreMap":442},[446,644,645,649,652],{"class":448,"line":449},[446,646,648],{"class":647},"szyEh","UID",[446,650,651],{"class":463},"=",[446,653,655],{"class":654},"slcoZ","1000\n",[446,657,658,661,663],{"class":448,"line":456},[446,659,660],{"class":647},"GID",[446,662,651],{"class":463},[446,664,655],{"class":654},[390,666,667,668,671],{},"Déployez le conteneur et allez sur ",[428,669,670],{},"http:\u002F\u002Fipdevotreserveur:3333",". Votre instance Forgejo est en route !",[420,673,675],{"id":674},"terminé","Terminé !",[677,678,679,683],"caution",{},[680,681,682],"strong",{},"Si ça ne marche pas :"," vérifiez les règles de votre pare-feu.",[407,685,687],{"id":686},"exposer-forgejo-avec-swag","Exposer Forgejo avec Swag",[390,689,690],{},"L'intérêt de cette installation est de pouvoir y accéder à distance depuis n'importe lequel de vos appareils. Pour cela, nous allons exposer Forgejo à travers Swag.",[692,693,694,697,698,701,702,706,707,710,711,714,715,719,720,723,724,726,727,731],"note",{},[680,695,696],{},"Au préalable :"," nous partons du principe que vous avez créé un sous-domaine du type ",[428,699,700],{},"forgejo.mondomaine.fr"," dans votre ",[393,703,705],{"href":704},"\u002Fgeneral\u002Fnetworking\u002Fdns","zone DNS"," avec un ",[428,708,709],{},"CNAME"," pointant vers ",[428,712,713],{},"mondomaine.fr",", et que, ",[393,716,718],{"href":717},"\u002Fserveex\u002Fsecurity\u002Fcloudflare","à moins d'utiliser Cloudflare Zero Trust",", vous avez déjà redirigé le port ",[428,721,722],{},"443"," de votre box vers le port ",[428,725,722],{}," de votre serveur dans les ",[393,728,730],{"href":729},"\u002Fgeneral\u002Fnetworking\u002Fnat","règles NAT",".",[416,733,734,738,741,858,869,872,876,882,894,913,916,1342,1358,1362,1369,1383,1386,1427,1436],{"level":418},[420,735,737],{"id":736},"ajouter-le-réseau-de-forgejo-à-swag","Ajouter le réseau de Forgejo à SWAG",[390,739,740],{},"Dans Dockge, allez sur la stack SWAG et modifiez le fichier compose en y ajoutant le réseau de Forgejo :",[436,742,744],{"className":438,"code":743,"filename":440,"language":441,"meta":442,"style":442},"---\nservices:\n  swag:\n     container_name: # ...\n      # ... \n     networks:              # Rattache le conteneur au réseau personnalisé\n      # ...           \n      - forgejo             # Nom du réseau déclaré\n\nnetworks:                   # Définit le réseau personnalisé\n  # ...\n  forgejo:                  # Nom du réseau déclaré\n    name: forgejo_default   # Nom réel du réseau externe\n    external: true          # Indique qu'il s'agit d'un réseau externe\n",[428,745,746,750,756,763,774,779,789,794,804,810,819,824,833,846],{"__ignoreMap":442},[446,747,748],{"class":448,"line":449},[446,749,453],{"class":452},[446,751,752,754],{"class":448,"line":456},[446,753,491],{"class":459},[446,755,464],{"class":463},[446,757,758,761],{"class":448,"line":467},[446,759,760],{"class":459},"  swag",[446,762,464],{"class":463},[446,764,765,768,770],{"class":448,"line":475},[446,766,767],{"class":459},"     container_name",[446,769,481],{"class":463},[446,771,773],{"class":772},"sDvJj"," # ...\n",[446,775,776],{"class":448,"line":488},[446,777,778],{"class":772},"      # ... \n",[446,780,781,784,786],{"class":448,"line":496},[446,782,783],{"class":459},"     networks",[446,785,481],{"class":463},[446,787,788],{"class":772},"              # Rattache le conteneur au réseau personnalisé\n",[446,790,791],{"class":448,"line":504},[446,792,793],{"class":772},"      # ...           \n",[446,795,796,798,801],{"class":448,"line":516},[446,797,538],{"class":463},[446,799,800],{"class":512}," forgejo",[446,802,803],{"class":772},"             # Nom du réseau déclaré\n",[446,805,806],{"class":448,"line":527},[446,807,809],{"emptyLinePlaceholder":808},true,"\n",[446,811,812,814,816],{"class":448,"line":535},[446,813,460],{"class":459},[446,815,481],{"class":463},[446,817,818],{"class":772},"                   # Définit le réseau personnalisé\n",[446,820,821],{"class":448,"line":544},[446,822,823],{"class":772},"  # ...\n",[446,825,826,828,830],{"class":448,"line":552},[446,827,470],{"class":459},[446,829,481],{"class":463},[446,831,832],{"class":772},"                  # Nom du réseau déclaré\n",[446,834,835,838,840,843],{"class":448,"line":560},[446,836,837],{"class":459},"    name",[446,839,481],{"class":463},[446,841,842],{"class":512}," forgejo_default",[446,844,845],{"class":772},"   # Nom réel du réseau externe\n",[446,847,848,850,852,855],{"class":448,"line":571},[446,849,478],{"class":459},[446,851,481],{"class":463},[446,853,854],{"class":484}," true",[446,856,857],{"class":772},"          # Indique qu'il s'agit d'un réseau externe\n",[692,859,860,861,864,865,731],{},"Nous partons du principe que le nom du réseau de Forgejo est ",[428,862,863],{},"forgejo_default",". Vous pouvez vérifier la connectivité en visitant le tableau de bord de SWAG sur ",[393,866,867],{"href":867,"rel":868},"http:\u002F\u002Fipdevotreserveur:81",[397],[390,870,871],{},"Redéployez la stack en cliquant sur « Deploy » et attendez que SWAG soit pleinement opérationnel.",[420,873,875],{"id":874},"créer-le-fichier-subdomainconf","Créer le fichier subdomain.conf",[390,877,878,879,731],{},"Dans les dossiers de Swag, créez le fichier ",[428,880,881],{},"forgejo.subdomain.conf",[883,884,886,887,890,891,893],"tip",{"icon":442,"to":885},"\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum","✨ ",[680,888,889],{},"Astuce :"," vous pouvez utiliser ",[680,892,208],{}," pour naviguer et modifier vos fichiers plutôt que des commandes dans le terminal.",[436,895,900],{"className":896,"code":897,"filename":898,"language":899,"meta":442,"style":442},"language-bash shiki shiki-themes github-dark material-theme github-dark","sudo nano \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fproxy-confs\u002Fforgejo.subdomain.conf\n","Terminal","bash",[428,901,902],{"__ignoreMap":442},[446,903,904,907,910],{"class":448,"line":449},[446,905,906],{"class":452},"sudo",[446,908,909],{"class":512}," nano",[446,911,912],{"class":512}," \u002Fsrv\u002Fdocker\u002Fswag\u002Fconfig\u002Fnginx\u002Fproxy-confs\u002Fforgejo.subdomain.conf\n",[390,914,915],{},"Collez la configuration ci-dessous :",[436,917,921],{"className":918,"code":919,"filename":881,"language":920,"meta":442,"style":442},"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 forgejo.*;\n\n    include \u002Fconfig\u002Fnginx\u002Fssl.conf;\n\n    client_max_body_size 0;\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 forgejo;\n        set $upstream_port 3000;\n        set $upstream_proto http;\n        proxy_pass $upstream_proto:\u002F\u002F$upstream_app:$upstream_port;\n\n    }\n\n    location ~ (\u002Fforgejo)?\u002Finfo\u002Flfs {\n        include \u002Fconfig\u002Fnginx\u002Fproxy.conf;\n        include \u002Fconfig\u002Fnginx\u002Fresolver.conf;\n        set $upstream_app forgejo;\n        set $upstream_port 3000;\n        set $upstream_proto http;\n        proxy_pass $upstream_proto:\u002F\u002F$upstream_app:$upstream_port;\n\n    }\n}\n","nginx",[428,922,923,928,932,941,955,964,968,978,982,992,996,1006,1010,1015,1020,1024,1029,1034,1038,1043,1048,1053,1065,1071,1077,1083,1088,1094,1100,1105,1111,1117,1122,1128,1134,1139,1150,1160,1174,1189,1201,1224,1229,1235,1240,1254,1263,1272,1283,1296,1307,1326,1331,1336],{"__ignoreMap":442},[446,924,925],{"class":448,"line":449},[446,926,927],{"class":772},"## Version 2023\u002F12\u002F19\n",[446,929,930],{"class":448,"line":456},[446,931,809],{"emptyLinePlaceholder":808},[446,933,934,938],{"class":448,"line":467},[446,935,937],{"class":936},"sAoO4","server",[446,939,940],{"class":654}," {\n",[446,942,943,947,949,952],{"class":448,"line":475},[446,944,946],{"class":945},"sJPTy","    listen ",[446,948,722],{"class":623},[446,950,951],{"class":654}," ssl",[446,953,954],{"class":463},";\n",[446,956,957,959,962],{"class":448,"line":488},[446,958,946],{"class":945},[446,960,961],{"class":654},"[::]:443 ssl",[446,963,954],{"class":463},[446,965,966],{"class":448,"line":496},[446,967,809],{"emptyLinePlaceholder":808},[446,969,970,973,976],{"class":448,"line":504},[446,971,972],{"class":945},"    server_name ",[446,974,975],{"class":654},"forgejo.*",[446,977,954],{"class":463},[446,979,980],{"class":448,"line":516},[446,981,809],{"emptyLinePlaceholder":808},[446,983,984,987,990],{"class":448,"line":527},[446,985,986],{"class":945},"    include ",[446,988,989],{"class":654},"\u002Fconfig\u002Fnginx\u002Fssl.conf",[446,991,954],{"class":463},[446,993,994],{"class":448,"line":535},[446,995,809],{"emptyLinePlaceholder":808},[446,997,998,1001,1004],{"class":448,"line":544},[446,999,1000],{"class":945},"    client_max_body_size ",[446,1002,1003],{"class":623},"0",[446,1005,954],{"class":463},[446,1007,1008],{"class":448,"line":552},[446,1009,809],{"emptyLinePlaceholder":808},[446,1011,1012],{"class":448,"line":560},[446,1013,1014],{"class":772},"    # enable for ldap auth (requires ldap-location.conf in the location block)\n",[446,1016,1017],{"class":448,"line":571},[446,1018,1019],{"class":772},"    #include \u002Fconfig\u002Fnginx\u002Fldap-server.conf;\n",[446,1021,1022],{"class":448,"line":579},[446,1023,809],{"emptyLinePlaceholder":808},[446,1025,1026],{"class":448,"line":586},[446,1027,1028],{"class":772},"    # enable for Authelia (requires authelia-location.conf in the location block)\n",[446,1030,1031],{"class":448,"line":594},[446,1032,1033],{"class":772},"    #include \u002Fconfig\u002Fnginx\u002Fauthelia-server.conf;\n",[446,1035,1036],{"class":448,"line":602},[446,1037,809],{"emptyLinePlaceholder":808},[446,1039,1040],{"class":448,"line":610},[446,1041,1042],{"class":772},"    # enable for Authentik (requires authentik-location.conf in the location block)\n",[446,1044,1045],{"class":448,"line":618},[446,1046,1047],{"class":772},"    #include \u002Fconfig\u002Fnginx\u002Fauthentik-server.conf;\n",[446,1049,1051],{"class":448,"line":1050},21,[446,1052,809],{"emptyLinePlaceholder":808},[446,1054,1056,1059,1062],{"class":448,"line":1055},22,[446,1057,1058],{"class":936},"    location",[446,1060,1061],{"class":452}," \u002F ",[446,1063,1064],{"class":654},"{\n",[446,1066,1068],{"class":448,"line":1067},23,[446,1069,1070],{"class":772},"        # enable the next two lines for http auth\n",[446,1072,1074],{"class":448,"line":1073},24,[446,1075,1076],{"class":772},"        #auth_basic \"Restricted\";\n",[446,1078,1080],{"class":448,"line":1079},25,[446,1081,1082],{"class":772},"        #auth_basic_user_file \u002Fconfig\u002Fnginx\u002F.htpasswd;\n",[446,1084,1086],{"class":448,"line":1085},26,[446,1087,809],{"emptyLinePlaceholder":808},[446,1089,1091],{"class":448,"line":1090},27,[446,1092,1093],{"class":772},"        # enable for ldap auth (requires ldap-server.conf in the server block)\n",[446,1095,1097],{"class":448,"line":1096},28,[446,1098,1099],{"class":772},"        #include \u002Fconfig\u002Fnginx\u002Fldap-location.conf;\n",[446,1101,1103],{"class":448,"line":1102},29,[446,1104,809],{"emptyLinePlaceholder":808},[446,1106,1108],{"class":448,"line":1107},30,[446,1109,1110],{"class":772},"        # enable for Authelia (requires authelia-server.conf in the server block)\n",[446,1112,1114],{"class":448,"line":1113},31,[446,1115,1116],{"class":772},"        #include \u002Fconfig\u002Fnginx\u002Fauthelia-location.conf;\n",[446,1118,1120],{"class":448,"line":1119},32,[446,1121,809],{"emptyLinePlaceholder":808},[446,1123,1125],{"class":448,"line":1124},33,[446,1126,1127],{"class":772},"        # enable for Authentik (requires authentik-server.conf in the server block)\n",[446,1129,1131],{"class":448,"line":1130},34,[446,1132,1133],{"class":772},"        #include \u002Fconfig\u002Fnginx\u002Fauthentik-location.conf;\n",[446,1135,1137],{"class":448,"line":1136},35,[446,1138,809],{"emptyLinePlaceholder":808},[446,1140,1142,1145,1148],{"class":448,"line":1141},36,[446,1143,1144],{"class":945},"        include ",[446,1146,1147],{"class":654},"\u002Fconfig\u002Fnginx\u002Fproxy.conf",[446,1149,954],{"class":463},[446,1151,1153,1155,1158],{"class":448,"line":1152},37,[446,1154,1144],{"class":945},[446,1156,1157],{"class":654},"\u002Fconfig\u002Fnginx\u002Fresolver.conf",[446,1159,954],{"class":463},[446,1161,1163,1166,1169,1172],{"class":448,"line":1162},38,[446,1164,1165],{"class":945},"        set ",[446,1167,1168],{"class":463},"$",[446,1170,1171],{"class":654},"upstream_app forgejo",[446,1173,954],{"class":463},[446,1175,1177,1179,1181,1184,1187],{"class":448,"line":1176},39,[446,1178,1165],{"class":945},[446,1180,1168],{"class":463},[446,1182,1183],{"class":654},"upstream_port ",[446,1185,1186],{"class":623},"3000",[446,1188,954],{"class":463},[446,1190,1192,1194,1196,1199],{"class":448,"line":1191},40,[446,1193,1165],{"class":945},[446,1195,1168],{"class":463},[446,1197,1198],{"class":654},"upstream_proto http",[446,1200,954],{"class":463},[446,1202,1204,1207,1209,1212,1214,1217,1219,1222],{"class":448,"line":1203},41,[446,1205,1206],{"class":945},"        proxy_pass ",[446,1208,1168],{"class":463},[446,1210,1211],{"class":654},"upstream_proto:\u002F\u002F",[446,1213,1168],{"class":463},[446,1215,1216],{"class":654},"upstream_app:",[446,1218,1168],{"class":463},[446,1220,1221],{"class":654},"upstream_port",[446,1223,954],{"class":463},[446,1225,1227],{"class":448,"line":1226},42,[446,1228,809],{"emptyLinePlaceholder":808},[446,1230,1232],{"class":448,"line":1231},43,[446,1233,1234],{"class":654},"    }\n",[446,1236,1238],{"class":448,"line":1237},44,[446,1239,809],{"emptyLinePlaceholder":808},[446,1241,1243,1245,1248,1252],{"class":448,"line":1242},45,[446,1244,1058],{"class":936},[446,1246,1247],{"class":945}," ~",[446,1249,1251],{"class":1250},"sxjBU"," (\u002Fforgejo)?\u002Finfo\u002Flfs ",[446,1253,1064],{"class":654},[446,1255,1257,1259,1261],{"class":448,"line":1256},46,[446,1258,1144],{"class":945},[446,1260,1147],{"class":654},[446,1262,954],{"class":463},[446,1264,1266,1268,1270],{"class":448,"line":1265},47,[446,1267,1144],{"class":945},[446,1269,1157],{"class":654},[446,1271,954],{"class":463},[446,1273,1275,1277,1279,1281],{"class":448,"line":1274},48,[446,1276,1165],{"class":945},[446,1278,1168],{"class":463},[446,1280,1171],{"class":654},[446,1282,954],{"class":463},[446,1284,1286,1288,1290,1292,1294],{"class":448,"line":1285},49,[446,1287,1165],{"class":945},[446,1289,1168],{"class":463},[446,1291,1183],{"class":654},[446,1293,1186],{"class":623},[446,1295,954],{"class":463},[446,1297,1299,1301,1303,1305],{"class":448,"line":1298},50,[446,1300,1165],{"class":945},[446,1302,1168],{"class":463},[446,1304,1198],{"class":654},[446,1306,954],{"class":463},[446,1308,1310,1312,1314,1316,1318,1320,1322,1324],{"class":448,"line":1309},51,[446,1311,1206],{"class":945},[446,1313,1168],{"class":463},[446,1315,1211],{"class":654},[446,1317,1168],{"class":463},[446,1319,1216],{"class":654},[446,1321,1168],{"class":463},[446,1323,1221],{"class":654},[446,1325,954],{"class":463},[446,1327,1329],{"class":448,"line":1328},52,[446,1330,809],{"emptyLinePlaceholder":808},[446,1332,1334],{"class":448,"line":1333},53,[446,1335,1234],{"class":654},[446,1337,1339],{"class":448,"line":1338},54,[446,1340,1341],{"class":654},"}\n",[390,1343,1344,1345,1349,1350,1353,1354,1357],{},"Appuyez sur ",[1346,1347],"kbd",{"value":1348},"Ctrl+O",", puis ",[1346,1351],{"value":1352},"Enter"," pour enregistrer, et ",[1346,1355],{"value":1356},"Ctrl+X"," pour quitter.",[420,1359,1361],{"id":1360},"configurer-le-domaine-de-forgejo","Configurer le domaine de Forgejo",[390,1363,1364,1365,1368],{},"Ouvrez maintenant le fichier ",[428,1366,1367],{},"app.ini"," depuis le système de fichiers du conteneur :",[436,1370,1372],{"className":896,"code":1371,"filename":898,"language":899,"meta":442,"style":442},"sudo nano \u002Fsrv\u002Fdocker\u002Fforgejo\u002Fdata\u002Fgitea\u002Fconf\u002Fapp.ini\n",[428,1373,1374],{"__ignoreMap":442},[446,1375,1376,1378,1380],{"class":448,"line":449},[446,1377,906],{"class":452},[446,1379,909],{"class":512},[446,1381,1382],{"class":512}," \u002Fsrv\u002Fdocker\u002Fforgejo\u002Fdata\u002Fgitea\u002Fconf\u002Fapp.ini\n",[390,1384,1385],{},"Puis modifiez la section server avec les informations de votre domaine :",[436,1387,1389],{"className":638,"code":1388,"filename":1367,"language":640,"meta":442,"style":442},"[server]\nDOMAIN = forgejo.mondomaine.fr\nSSH_DOMAIN = forgejo.mondomaine.fr\nROOT_URL = https:\u002F\u002Fforgejo.mondomaine.fr\u002F\n",[428,1390,1391,1397,1408,1417],{"__ignoreMap":442},[446,1392,1393],{"class":448,"line":449},[446,1394,1396],{"class":1395},"srnIM","[server]\n",[446,1398,1399,1402,1405],{"class":448,"line":456},[446,1400,1401],{"class":647},"DOMAIN",[446,1403,1404],{"class":463}," =",[446,1406,1407],{"class":654}," forgejo.mondomaine.fr\n",[446,1409,1410,1413,1415],{"class":448,"line":467},[446,1411,1412],{"class":647},"SSH_DOMAIN",[446,1414,1404],{"class":463},[446,1416,1407],{"class":654},[446,1418,1419,1422,1424],{"class":448,"line":475},[446,1420,1421],{"class":647},"ROOT_URL",[446,1423,1404],{"class":463},[446,1425,1426],{"class":654}," https:\u002F\u002Fforgejo.mondomaine.fr\u002F\n",[390,1428,1344,1429,1349,1431,1353,1433,1435],{},[1346,1430],{"value":1348},[1346,1432],{"value":1352},[1346,1434],{"value":1356}," pour quitter, puis redémarrez le conteneur.",[420,1437,675],{"id":1438},"terminé-1",[390,1440,1441],{},"Et voilà ! Forgejo est maintenant exposé sur le web.",[407,1443,1445],{"id":1444},"protéger-forgejo-avec-pocket-id","Protéger Forgejo avec Pocket ID",[390,1447,1448],{},"Forgejo peut aussi déléguer la connexion à un fournisseur OIDC plutôt qu'à (ou en plus de) ses propres comptes.",[416,1450,1451,1455,1465,1473,1484,1488,1500,1582,1588],{"level":418},[420,1452,1454],{"id":1453},"enregistrer-forgejo-comme-client-oidc","Enregistrer Forgejo comme client OIDC",[390,1456,1457,1461,1462,1464],{},[393,1458,1460],{"href":1459},"\u002Fserveex\u002Fsecurity\u002Fpocket-id#registering-an-oidc-client","Enregistrez un client OIDC dans Pocket ID"," nommé ",[428,1463,226],{},", avec cette URL de callback :",[436,1466,1471],{"className":1467,"code":1469,"language":1470,"meta":442},[1468],"language-text","https:\u002F\u002Fforgejo.mondomaine.fr\u002Fuser\u002Foauth2\u002FPocketID\u002Fcallback\n","text",[428,1472,1469],{"__ignoreMap":442},[692,1474,1475,1476,1479,1480,1483],{},"Le ",[428,1477,1478],{},"PocketID"," de l'URL de callback doit correspondre exactement au champ ",[680,1481,1482],{},"Authentication Name"," que vous renseignerez à l'étape suivante.",[420,1485,1487],{"id":1486},"ajouter-la-source-dauthentification-dans-forgejo","Ajouter la source d'authentification dans Forgejo",[390,1489,1490,1491,1495,1496,1499],{},"En tant qu'administrateur, allez dans ",[1492,1493,1494],"em",{},"Site Administration > Identity & Access > Authentication Sources",", cliquez sur ",[1492,1497,1498],{},"Add Authentication Source",", et renseignez :",[1501,1502,1503,1516],"table",{},[1504,1505,1506],"thead",{},[1507,1508,1509,1513],"tr",{},[1510,1511,1512],"th",{},"Champ",[1510,1514,1515],{},"Valeur",[1517,1518,1519,1530,1538,1548,1556,1564,1572],"tbody",{},[1507,1520,1521,1525],{},[1522,1523,1524],"td",{},"Authentication Type",[1522,1526,1527],{},[428,1528,1529],{},"OAuth2",[1507,1531,1532,1534],{},[1522,1533,1482],{},[1522,1535,1536],{},[428,1537,1478],{},[1507,1539,1540,1543],{},[1522,1541,1542],{},"OAuth2 Provider",[1522,1544,1545],{},[428,1546,1547],{},"OpenID Connect",[1507,1549,1550,1553],{},[1522,1551,1552],{},"Client ID (Key)",[1522,1554,1555],{},"Le client ID copié depuis Pocket ID",[1507,1557,1558,1561],{},[1522,1559,1560],{},"Client Secret",[1522,1562,1563],{},"Le client secret copié depuis Pocket ID",[1507,1565,1566,1569],{},[1522,1567,1568],{},"OIDC Discovery URL",[1522,1570,1571],{},"L'URL de découverte OIDC de Pocket ID",[1507,1573,1574,1577],{},[1522,1575,1576],{},"Additional Scopes",[1522,1578,1579],{},[428,1580,1581],{},"openid email profile",[390,1583,1584,1585,731],{},"Activez également ",[680,1586,1587],{},"Skip local 2FA",[420,1589,675],{"id":1590},"terminé-2",[883,1592,1594,1600],{"icon":442,"to":1593},"\u002Fserveex\u002Fadvanced\u002Fauthentik",[390,1595,1596,1597,1599],{},"✨ Vous pouvez utiliser ",[680,1598,254],{}," plutôt que Pocket ID :",[1601,1602,1603,1617,1631],"ol",{},[1604,1605,1606,1607,1609,1610,1613,1614,731],"li",{},"Dans Authentik, créez une application et un provider OAuth2\u002FOpenID Connect nommé ",[428,1608,226],{},", avec une redirect URI (de type ",[428,1611,1612],{},"Strict",") valant ",[428,1615,1616],{},"https:\u002F\u002Fforgejo.mondomaine.fr\u002Fuser\u002Foauth2\u002Fauthentik\u002Fcallback",[1604,1618,1619,1620,1623,1624,1626,1627,1630],{},"Notez les ",[680,1621,1622],{},"Client ID",", ",[680,1625,1560],{}," et ",[680,1628,1629],{},"Slug"," du provider.",[1604,1632,1633,1634,1637,1638,1623,1640,1637,1643,1645,1646,731],{},"Dans la source d'authentification de Forgejo, mettez ",[428,1635,1636],{},"authentik"," dans ",[680,1639,1482],{},[428,1641,1642],{},"https:\u002F\u002Fauthentik.mondomaine.fr\u002Fapplication\u002Fo\u002F\u003Cslug>\u002F.well-known\u002Fopenid-configuration",[680,1644,1568],{},", puis renseignez le Client ID, le Client Secret et les Additional Scopes ",[428,1647,1648],{},"email profile",[1650,1651,1652],"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 .s08Ry, html code.shiki .s08Ry{--shiki-light:#79B8FF;--shiki-default:#FF9CAC;--shiki-dark:#79B8FF}html pre.shiki code .s11XM, html code.shiki .s11XM{--shiki-light:#9ECBFF;--shiki-default:#C3E88D;--shiki-dark:#9ECBFF}html pre.shiki code .swwWl, html code.shiki .swwWl{--shiki-light:#79B8FF;--shiki-default:#F78C6C;--shiki-dark:#79B8FF}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 .szyEh, html code.shiki .szyEh{--shiki-light:#F97583;--shiki-default:#F07178;--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 .sDvJj, html code.shiki .sDvJj{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .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 .sxjBU, html code.shiki .sxjBU{--shiki-light:#DBEDFF;--shiki-default:#C3E88D;--shiki-dark:#DBEDFF}html pre.shiki code .srnIM, html code.shiki .srnIM{--shiki-light:#B392F0;--shiki-default:#89DDFF;--shiki-dark:#B392F0}",{"title":442,"searchDepth":456,"depth":456,"links":1654},[1655,1660,1666],{"id":409,"depth":456,"text":410,"children":1656},[1657,1658,1659],{"id":422,"depth":467,"text":423},{"id":627,"depth":467,"text":628},{"id":674,"depth":467,"text":675},{"id":686,"depth":456,"text":687,"children":1661},[1662,1663,1664,1665],{"id":736,"depth":467,"text":737},{"id":874,"depth":467,"text":875},{"id":1360,"depth":467,"text":1361},{"id":1438,"depth":467,"text":675},{"id":1444,"depth":456,"text":1445,"children":1667},[1668,1669,1670],{"id":1453,"depth":467,"text":1454},{"id":1486,"depth":467,"text":1487},{"id":1590,"depth":467,"text":675},[1672],"Djeex","Installer Forgejo, un service Git auto-hébergé et léger pour gérer vos dépôts de code en privé sur votre propre serveur.","md",null,{},{"title":226,"description":1673},"Xrz7n1VpiyueB3sw4hj98sTeP1iS13bbA6Y5MHfl1g0",[1680,1682],{"title":222,"path":223,"stem":224,"description":1681,"children":-1},"Installer code-server pour utiliser VS Code dans votre navigateur depuis votre homelab, monter des dossiers et l'exposer de manière sécurisée avec SWAG.",{"title":230,"path":231,"stem":232,"description":1683,"children":-1},"Installer IT Tools, une collection auto-hébergée d'utilitaires pratiques pour développeurs, convertisseurs, encodeurs, formateurs et plus encore.",1788645837582]