[{"data":1,"prerenderedAt":889},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-nonsense-bash-socat-proxy-":376,"-fr-nonsense-bash-socat-proxy--surround":884},[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":316,"body":378,"contributors":876,"description":878,"extension":879,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":880,"meta":881,"navigation":626,"path":317,"seo":882,"stem":318,"__hash__":883},"docs_fr\u002Ffr\u002F5.nonsense\u002F3.bash\u002F3.socat-proxy.md",{"type":379,"value":380,"toc":874},"minimark",[381,389,393,416,429,437,451,454,457,464,467,859,862,870],[382,383],"ellipsis",{"blur":384,"left":385,"top":386,"width":387,"z-index":388},"140px","0px","10rem","40rem","60",[390,391,392],"p",{},"Ce projet répond à un cas d'usage problématique :",[394,395,396,407],"ul",{},[397,398,399,400,406],"li",{},"J'ai ",[401,402,162],"a",{"href":403,"rel":404},"https:\u002F\u002Fbeszel.dev\u002F",[405],"nofollow",", un conteneur de monitoring en mode host, nécessitant d'exposer le socket de Docker afin qu'il récupère les stats des conteneurs",[397,408,409,410,415],{},"Afin de ne pas laisser le socket complètement ouvert pour Beszel, j'ai ",[401,411,414],{"href":412,"rel":413},"https:\u002F\u002Fgithub.com\u002FTecnativa\u002Fdocker-socket-proxy",[405],"Docker Socket Proxy",", un conteneur qui se place entre le scoket de docker et le conteneur qui en a besoin, et qui filtre le requêtes en paramétrant les bonnes permissions pour ne pas tout exposer au conteneur qui l'utilise.",[390,417,418,419,422,423,425,426,428],{},"Problème, si ",[420,421,162],"strong",{}," est en mode host, il doit contacter ",[420,424,414],{}," directement sur un port de l'host, c'est à dire en exposant un port de ",[420,427,414],{},". Ce qui fait que n'importe quel conteneur\u002Fapplication sur mon host peut l'appeler et utiliser le socket docker.",[390,430,431,432,436],{},"C'est là qu'intervient ",[401,433,316],{"href":434,"rel":435},"https:\u002F\u002Fgit.djeex.fr\u002FDjeex\u002Fsocat-proxy",[405],". Ce dernier est un conteneur qui :",[394,438,439,442,445,448],{},[397,440,441],{},"Crée un socket UNIX",[397,443,444],{},"Ecoute ce socket",[397,446,447],{},"Envoie les requetes vers Docker Socket Proxy et vice versa",[397,449,450],{},"Permet de remplacer le vrai socket docker en exposant le socket proxy créé, dans le conteneur final via un bind mount (ici, Beszel)",[390,452,453],{},"Ainsi, un filtre comme Docker Socket Proxy dialogue avec Socat Proxy dans leur propre réseau isolé (en mode bridge), et le bind mount du socket UNIX créé est localisé sur l'host dans un dossier avec les permissions nécessaires pour ne pas etre visible des autres conteneurs\u002Fapplicatifs.",[390,455,456],{},"En gros :",[390,458,459],{},[460,461],"img",{"alt":462,"src":463},"","\u002Fimg\u002Fnonsense\u002Fsocat-proxy.svg",[390,465,466],{},"Par exemple, pour Beszel cela rendrait comme ceci :",[468,469,474],"pre",{"className":470,"code":471,"filename":472,"language":473,"meta":462,"style":462},"language-yaml shiki shiki-themes github-dark material-theme github-dark","---\nservices:\n  socat-proxy:\n    image: git.djeex.fr\u002Fdjeex\u002Fsocat-proxy:latest\n    container_name: socat-proxy-beszel\n    environment:\n      - TARGET_HOST=${TARGET_HOST}\n      - TARGET_PORT=${TARGET_PORT}\n      - UNIX_SOCKET_PATH=${UNIX_SOCKET_PATH}\n      - HOST_SOCKET_PATH=${HOST_SOCKET_PATH}\n      - UNIX_SOCKET_NAME=${UNIX_SOCKET_NAME}\n    volumes:\n      - ${HOST_SOCKET_PATH}:${UNIX_SOCKET_PATH}\n    restart: unless-stopped\n    depends_on:\n      - ${TARGET_HOST}\n\n  socket-proxy:\n    image: lscr.io\u002Flinuxserver\u002Fsocket-proxy:latest\n    container_name: ${TARGET_HOST}\n    security_opt:\n      - no-new-privileges:true\n    environment:\n      - CONTAINERS=1\n      - INFO=1\n    volumes:\n      - \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro\n    restart: unless-stopped\n    read_only: true\n    tmpfs:\n      - \u002Frun\n\n  beszel-agent:\n    image: henrygd\u002Fbeszel-agent:latest\n    container_name: beszel-agent\n    restart: unless-stopped\n    network_mode: host\n    security_opt:\n      - no-new-privileges:true\n    volumes:\n      - ${HOST_SOCKET_PATH}\u002F${UNIX_SOCKET_NAME}:\u002Fvar\u002Frun\u002Fdocker.sock:ro\n    environment:\n      - #... your Beszel environment var \n    depends_on:\n      - socat-proxy\n","compose.yaml","yaml",[475,476,477,486,497,505,518,529,537,546,554,562,570,578,586,594,605,613,621,628,636,646,655,663,671,678,686,694,701,709,718,730,738,746,751,759,769,779,788,799,806,813,820,828,835,844,851],"code",{"__ignoreMap":462},[478,479,482],"span",{"class":480,"line":481},"line",1,[478,483,485],{"class":484},"sEgDM","---\n",[478,487,489,493],{"class":480,"line":488},2,[478,490,492],{"class":491},"sRuoG","services",[478,494,496],{"class":495},"s8jd1",":\n",[478,498,500,503],{"class":480,"line":499},3,[478,501,502],{"class":491},"  socat-proxy",[478,504,496],{"class":495},[478,506,508,511,514],{"class":480,"line":507},4,[478,509,510],{"class":491},"    image",[478,512,513],{"class":495},":",[478,515,517],{"class":516},"s11XM"," git.djeex.fr\u002Fdjeex\u002Fsocat-proxy:latest\n",[478,519,521,524,526],{"class":480,"line":520},5,[478,522,523],{"class":491},"    container_name",[478,525,513],{"class":495},[478,527,528],{"class":516}," socat-proxy-beszel\n",[478,530,532,535],{"class":480,"line":531},6,[478,533,534],{"class":491},"    environment",[478,536,496],{"class":495},[478,538,540,543],{"class":480,"line":539},7,[478,541,542],{"class":495},"      -",[478,544,545],{"class":516}," TARGET_HOST=${TARGET_HOST}\n",[478,547,549,551],{"class":480,"line":548},8,[478,550,542],{"class":495},[478,552,553],{"class":516}," TARGET_PORT=${TARGET_PORT}\n",[478,555,557,559],{"class":480,"line":556},9,[478,558,542],{"class":495},[478,560,561],{"class":516}," UNIX_SOCKET_PATH=${UNIX_SOCKET_PATH}\n",[478,563,565,567],{"class":480,"line":564},10,[478,566,542],{"class":495},[478,568,569],{"class":516}," HOST_SOCKET_PATH=${HOST_SOCKET_PATH}\n",[478,571,573,575],{"class":480,"line":572},11,[478,574,542],{"class":495},[478,576,577],{"class":516}," UNIX_SOCKET_NAME=${UNIX_SOCKET_NAME}\n",[478,579,581,584],{"class":480,"line":580},12,[478,582,583],{"class":491},"    volumes",[478,585,496],{"class":495},[478,587,589,591],{"class":480,"line":588},13,[478,590,542],{"class":495},[478,592,593],{"class":516}," ${HOST_SOCKET_PATH}:${UNIX_SOCKET_PATH}\n",[478,595,597,600,602],{"class":480,"line":596},14,[478,598,599],{"class":491},"    restart",[478,601,513],{"class":495},[478,603,604],{"class":516}," unless-stopped\n",[478,606,608,611],{"class":480,"line":607},15,[478,609,610],{"class":491},"    depends_on",[478,612,496],{"class":495},[478,614,616,618],{"class":480,"line":615},16,[478,617,542],{"class":495},[478,619,620],{"class":516}," ${TARGET_HOST}\n",[478,622,624],{"class":480,"line":623},17,[478,625,627],{"emptyLinePlaceholder":626},true,"\n",[478,629,631,634],{"class":480,"line":630},18,[478,632,633],{"class":491},"  socket-proxy",[478,635,496],{"class":495},[478,637,639,641,643],{"class":480,"line":638},19,[478,640,510],{"class":491},[478,642,513],{"class":495},[478,644,645],{"class":516}," lscr.io\u002Flinuxserver\u002Fsocket-proxy:latest\n",[478,647,649,651,653],{"class":480,"line":648},20,[478,650,523],{"class":491},[478,652,513],{"class":495},[478,654,620],{"class":516},[478,656,658,661],{"class":480,"line":657},21,[478,659,660],{"class":491},"    security_opt",[478,662,496],{"class":495},[478,664,666,668],{"class":480,"line":665},22,[478,667,542],{"class":495},[478,669,670],{"class":516}," no-new-privileges:true\n",[478,672,674,676],{"class":480,"line":673},23,[478,675,534],{"class":491},[478,677,496],{"class":495},[478,679,681,683],{"class":480,"line":680},24,[478,682,542],{"class":495},[478,684,685],{"class":516}," CONTAINERS=1\n",[478,687,689,691],{"class":480,"line":688},25,[478,690,542],{"class":495},[478,692,693],{"class":516}," INFO=1\n",[478,695,697,699],{"class":480,"line":696},26,[478,698,583],{"class":491},[478,700,496],{"class":495},[478,702,704,706],{"class":480,"line":703},27,[478,705,542],{"class":495},[478,707,708],{"class":516}," \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro\n",[478,710,712,714,716],{"class":480,"line":711},28,[478,713,599],{"class":491},[478,715,513],{"class":495},[478,717,604],{"class":516},[478,719,721,724,726],{"class":480,"line":720},29,[478,722,723],{"class":491},"    read_only",[478,725,513],{"class":495},[478,727,729],{"class":728},"s08Ry"," true\n",[478,731,733,736],{"class":480,"line":732},30,[478,734,735],{"class":491},"    tmpfs",[478,737,496],{"class":495},[478,739,741,743],{"class":480,"line":740},31,[478,742,542],{"class":495},[478,744,745],{"class":516}," \u002Frun\n",[478,747,749],{"class":480,"line":748},32,[478,750,627],{"emptyLinePlaceholder":626},[478,752,754,757],{"class":480,"line":753},33,[478,755,756],{"class":491},"  beszel-agent",[478,758,496],{"class":495},[478,760,762,764,766],{"class":480,"line":761},34,[478,763,510],{"class":491},[478,765,513],{"class":495},[478,767,768],{"class":516}," henrygd\u002Fbeszel-agent:latest\n",[478,770,772,774,776],{"class":480,"line":771},35,[478,773,523],{"class":491},[478,775,513],{"class":495},[478,777,778],{"class":516}," beszel-agent\n",[478,780,782,784,786],{"class":480,"line":781},36,[478,783,599],{"class":491},[478,785,513],{"class":495},[478,787,604],{"class":516},[478,789,791,794,796],{"class":480,"line":790},37,[478,792,793],{"class":491},"    network_mode",[478,795,513],{"class":495},[478,797,798],{"class":516}," host\n",[478,800,802,804],{"class":480,"line":801},38,[478,803,660],{"class":491},[478,805,496],{"class":495},[478,807,809,811],{"class":480,"line":808},39,[478,810,542],{"class":495},[478,812,670],{"class":516},[478,814,816,818],{"class":480,"line":815},40,[478,817,583],{"class":491},[478,819,496],{"class":495},[478,821,823,825],{"class":480,"line":822},41,[478,824,542],{"class":495},[478,826,827],{"class":516}," ${HOST_SOCKET_PATH}\u002F${UNIX_SOCKET_NAME}:\u002Fvar\u002Frun\u002Fdocker.sock:ro\n",[478,829,831,833],{"class":480,"line":830},42,[478,832,534],{"class":491},[478,834,496],{"class":495},[478,836,838,840],{"class":480,"line":837},43,[478,839,542],{"class":495},[478,841,843],{"class":842},"sDvJj"," #... your Beszel environment var \n",[478,845,847,849],{"class":480,"line":846},44,[478,848,610],{"class":491},[478,850,496],{"class":495},[478,852,854,856],{"class":480,"line":853},45,[478,855,542],{"class":495},[478,857,858],{"class":516}," socat-proxy\n",[390,860,861],{},"Plus d'infos directement sur le repo :",[863,864,866],"card",{"title":865},"🐋 __Socat Proxy__",[401,867,869],{"href":434,"rel":868},[405],"A lighteweight bind mount socket proxy",[871,872,873],"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 .s08Ry, html code.shiki .s08Ry{--shiki-light:#79B8FF;--shiki-default:#FF9CAC;--shiki-dark:#79B8FF}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);}",{"title":462,"searchDepth":488,"depth":488,"links":875},[],[877],"Djeex","Utiliser socat pour proxifier le socket Docker via Docker Socket Proxy, permettant à Beszel de collecter les stats des conteneurs sans exposer le socket complet.","md",null,{},{"title":316,"description":878},"hCdvgG-Oo4XNHbvJ9RzmXpbkMB3IeSLz7SnFwhZJsGk",[885,887],{"title":312,"path":313,"stem":314,"description":886,"children":-1},"Un script bash pour extraire automatiquement les headers LUKS de tous les disques chiffrés, les identifier par numéro de série et les archiver de façon chiffrée.",{"title":320,"path":321,"stem":322,"description":888,"children":-1},"Un script bash qui surveille la température des disques durs et éteint automatiquement le serveur lorsqu'ils dépassent un seuil de sécurité trop longtemps.",1788645853478]