[{"data":1,"prerenderedAt":888},["ShallowReactive",2],{"\u002Fv5\u002Fadministrer\u002Finstallation\u002Fdocker":3,"section:\u002Fv5\u002Fadministrer\u002Finstallation\u002Fdocker":887},{"id":4,"title":5,"body":6,"description":877,"extension":878,"meta":879,"navigation":669,"path":883,"seo":884,"stem":885,"__hash__":886},"docs\u002F1.v5\u002F5.administrer\u002F02.installation\u002F2.docker.md","Installation Docker",{"type":7,"value":8,"toc":856},"minimark",[9,14,19,24,36,72,80,121,124,157,161,175,193,197,200,217,228,248,252,260,263,277,297,301,304,318,322,330,345,356,360,363,366,370,376,383,388,391,399,406,412,416,427,464,470,476,480,487,490,524,528,532,539,571,574,638,642,645,748,752,755,839,843,852],[10,11,13],"h1",{"id":12},"installation-de-dokos-avec-docker","Installation de Dokos avec Docker",[15,16,18],"h2",{"id":17},"pré-requis","Pré-requis",[20,21,23],"h3",{"id":22},"installer-docker","Installer Docker",[25,26,27,28,35],"p",{},"Si Docker n'est pas installé sur votre serveur, vous pouvez utiliser la commande suivante ou ",[29,30,34],"a",{"href":31,"rel":32},"https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F",[33],"nofollow","vous reporter à la documentation de Docker",".",[37,38,43],"pre",{"className":39,"code":40,"language":41,"meta":42,"style":42},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -fsSL https:\u002F\u002Fget.docker.com | sudo bash\n","bash","",[44,45,46],"code",{"__ignoreMap":42},[47,48,51,55,59,62,66,69],"span",{"class":49,"line":50},"line",1,[47,52,54],{"class":53},"sBMFI","curl",[47,56,58],{"class":57},"sfazB"," -fsSL",[47,60,61],{"class":57}," https:\u002F\u002Fget.docker.com",[47,63,65],{"class":64},"sMK4o"," |",[47,67,68],{"class":53}," sudo",[47,70,71],{"class":57}," bash\n",[25,73,74,75,35],{},"Ensuite, suivez ",[29,76,79],{"href":77,"rel":78},"https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002Flinux-postinstall\u002F",[33],"les étapes de post-installation Docker si nécessaire",[37,81,83],{"className":39,"code":82,"language":41,"meta":42,"style":42},"sudo groupadd docker\nsudo usermod -aG docker $USER\nexit\n",[44,84,85,96,114],{"__ignoreMap":42},[47,86,87,90,93],{"class":49,"line":50},[47,88,89],{"class":53},"sudo",[47,91,92],{"class":57}," groupadd",[47,94,95],{"class":57}," docker\n",[47,97,99,101,104,107,110],{"class":49,"line":98},2,[47,100,89],{"class":53},[47,102,103],{"class":57}," usermod",[47,105,106],{"class":57}," -aG",[47,108,109],{"class":57}," docker",[47,111,113],{"class":112},"sTEyZ"," $USER\n",[47,115,117],{"class":49,"line":116},3,[47,118,120],{"class":119},"s2Zo4","exit\n",[25,122,123],{},"Enfin, vérifiez l'installation de Docker avec les commandes suivantes.",[37,125,127],{"className":39,"code":126,"language":41,"meta":42,"style":42},"docker --version\ndocker compose version\ndocker run hello-world\n",[44,128,129,137,147],{"__ignoreMap":42},[47,130,131,134],{"class":49,"line":50},[47,132,133],{"class":53},"docker",[47,135,136],{"class":57}," --version\n",[47,138,139,141,144],{"class":49,"line":98},[47,140,133],{"class":53},[47,142,143],{"class":57}," compose",[47,145,146],{"class":57}," version\n",[47,148,149,151,154],{"class":49,"line":116},[47,150,133],{"class":53},[47,152,153],{"class":57}," run",[47,155,156],{"class":57}," hello-world\n",[20,158,160],{"id":159},"télécharger-le-fichier-compose-pour-dokos","Télécharger le fichier Compose pour Dokos",[25,162,163,164,167,168,171,172,35],{},"Téléchargez le fichier ",[44,165,166],{},"compose.yaml"," pour Dokos depuis le dépôt GitLab de Docli (",[44,169,170],{},"bench"," comme nous le verrons plus tard).\nPar défaut, la version de Dokos utilisée est la dernière version stable, disponible avec le tag ",[44,173,174],{},"latest",[37,176,178],{"className":39,"code":177,"language":41,"meta":42,"style":42},"curl -o compose.yaml https:\u002F\u002Fgitlab.com\u002Fdokos\u002Fdocli\u002F-\u002Fraw\u002Fdevelop\u002Fcompose\u002Fdokos.yaml\n",[44,179,180],{"__ignoreMap":42},[47,181,182,184,187,190],{"class":49,"line":50},[47,183,54],{"class":53},[47,185,186],{"class":57}," -o",[47,188,189],{"class":57}," compose.yaml",[47,191,192],{"class":57}," https:\u002F\u002Fgitlab.com\u002Fdokos\u002Fdocli\u002F-\u002Fraw\u002Fdevelop\u002Fcompose\u002Fdokos.yaml\n",[15,194,196],{"id":195},"lancer-dokos","Lancer Dokos",[25,198,199],{},"Vous pouvez ensuite lancer le conteneur de Dokos avec :",[37,201,203],{"className":39,"code":202,"language":41,"meta":42,"style":42},"docker compose up -d\n",[44,204,205],{"__ignoreMap":42},[47,206,207,209,211,214],{"class":49,"line":50},[47,208,133],{"class":53},[47,210,143],{"class":57},[47,212,213],{"class":57}," up",[47,215,216],{"class":57}," -d\n",[25,218,219,220,223,224,227],{},"Le fichier lance MariaDB 10.6, trois serveurs Redis et Dokos. Au premier démarrage, le service ",[44,221,222],{},"create-site"," crée le site ",[44,225,226],{},"frontend"," avec les applications Payments, Dokos, HRMS et Webshop. Cette étape prend quelques minutes : le site reste indisponible pendant ce temps.",[229,230,233],"callout",{"color":231,"icon":232},"amber","i-heroicons-exclamation-triangle",[25,234,235,236,239,240,243,244,247],{},"Le fichier fixe le mot de passe ",[44,237,238],{},"admin"," pour l'utilisateur ",[44,241,242],{},"Administrator"," et pour l'utilisateur ",[44,245,246],{},"root"," de MariaDB. Changez-les avant d'exposer le serveur sur Internet.",[15,249,251],{"id":250},"accéder-à-dokos","Accéder à Dokos",[25,253,254,255,259],{},"Vous pouvez accéder à Dokos en accédant au port 8080 du serveur dans votre navigateur, par exemple ",[29,256,257],{"href":257,"rel":258},"http:\u002F\u002Flocalhost:8080",[33]," si le conteneur tourne sur votre ordinateur.",[25,261,262],{},"Ensuite, vous pouvez vous connecter avec les identifiants suivants :",[264,265,266,272],"ul",{},[267,268,269,270],"li",{},"Nom d'utilisateur : ",[44,271,242],{},[267,273,274,275],{},"Mot de passe : ",[44,276,238],{},[229,278,279],{"color":231,"icon":232},[25,280,281,282,284,285,289,290,293,294,35],{},"N'oubliez pas de changer le mot de passe de l'utilisateur ",[44,283,242],{}," après la finalisation de l'installation.\nPour changer le mot de passe, cliquez sur votre avatar en haut à droite, puis sur ",[286,287,288],"strong",{},"Mes paramètres",". Dans l'onglet ",[286,291,292],{},"Paramètres",", ouvrez la section ",[286,295,296],{},"Modification de mot de passe",[15,298,300],{"id":299},"arrêter-dokos","Arrêter Dokos",[25,302,303],{},"Pour arrêter Dokos, vous pouvez utiliser la commande suivante :",[37,305,307],{"className":39,"code":306,"language":41,"meta":42,"style":42},"docker compose down\n",[44,308,309],{"__ignoreMap":42},[47,310,311,313,315],{"class":49,"line":50},[47,312,133],{"class":53},[47,314,143],{"class":57},[47,316,317],{"class":57}," down\n",[15,319,321],{"id":320},"configurer-son-nom-de-domaine","Configurer son nom de domaine",[25,323,324,325,329],{},"Pour accéder à Dokos via votre nom de domaine (ex. ",[29,326,327],{"href":327,"rel":328},"https:\u002F\u002Fdemo.dokos.cloud",[33],"), il va falloir installer les éléments suivants sur votre serveur:",[264,331,332,339],{},[267,333,334,338],{},[335,336,337],"em",{},"Nginx",": Reverse proxy permettant de rediriger votre nom de domaine vers le port 8080 de votre serveur",[267,340,341,344],{},[335,342,343],{},"Certbot",": Utilitaire permettant de créer un certificat SSL pour une connexion sécurisée",[229,346,349],{"color":347,"icon":348},"teal","i-heroicons-light-bulb",[25,350,351,352,355],{},"La configuration présentée ici est simple et a pour but de vous permettre de déployer facilement un site Dokos.",[353,354],"br",{},"\nNous vous recommandons de renforcer cette configuration avec toutes les mesures de sécurité qui vous semblent appropriées.",[20,357,359],{"id":358},"_1-effectuer-une-redirection-dns","1. Effectuer une redirection DNS",[25,361,362],{},"La première étape consiste à aller dans les paramètres DNS de votre nom de domaine et à ajouter une entrée de redirection A vers le serveur sur lequel vous avez installé Dokos.",[25,364,365],{},"Ex. demo.dokos.cloud | A | 15.237.107.35",[20,367,369],{"id":368},"_2-installation-de-nginx","2. Installation de Nginx",[25,371,372,373],{},"Sur Ubuntu, l'installation de Nginx se fait avec la commande suivante:\n",[44,374,375],{},"sudo apt install nginx",[25,377,378,379,382],{},"Une fois Nginx installé, créez un fichier de configuration pour votre site dans le dossier ",[44,380,381],{},"\u002Fetc\u002Fnginx\u002Fsites-enabled\u002F",":",[25,384,385],{},[44,386,387],{},"sudo nano \u002Fetc\u002Fnginx\u002Fsites-enabled\u002Fdemo.conf",[25,389,390],{},"Ajoutez-y une redirection vers le port 8080 dans ce fichier et enregistrez le:",[37,392,397],{"className":393,"code":395,"language":396},[394],"language-text","server {\n    server_name demo.dokos.cloud; # A remplacer par votre nom de domaine\n\n    location \u002F {\n        proxy_set_header   X-Forwarded-For $remote_addr;\n        proxy_set_header   Host $http_host;\n        proxy_pass         http:\u002F\u002F127.0.0.1:8080;\n    }\n}\n","text",[44,398,395],{"__ignoreMap":42},[25,400,401,402,405],{},"Redémarrez Nginx et connectez-vous à l'adresse ",[44,403,404],{},"demo.dokos.cloud"," pour vérifier que la redirection fonctionne bien.",[37,407,410],{"className":408,"code":409,"language":396},[394],"sudo nginx -t\nsudo systemctl reload nginx\n",[44,411,409],{"__ignoreMap":42},[20,413,415],{"id":414},"_3-création-dun-certificat","3. Création d'un certificat",[25,417,418,419,423,424,426],{},"Installez certbot (",[29,420,421],{"href":421,"rel":422},"https:\u002F\u002Fcertbot.eff.org\u002F",[33],") sur votre système.",[353,425],{},"\nPour Ubuntu:",[37,428,430],{"className":39,"code":429,"language":41,"meta":42,"style":42},"sudo snap install --classic certbot\nsudo ln -s \u002Fsnap\u002Fbin\u002Fcertbot \u002Fusr\u002Fbin\u002Fcertbot\n",[44,431,432,448],{"__ignoreMap":42},[47,433,434,436,439,442,445],{"class":49,"line":50},[47,435,89],{"class":53},[47,437,438],{"class":57}," snap",[47,440,441],{"class":57}," install",[47,443,444],{"class":57}," --classic",[47,446,447],{"class":57}," certbot\n",[47,449,450,452,455,458,461],{"class":49,"line":98},[47,451,89],{"class":53},[47,453,454],{"class":57}," ln",[47,456,457],{"class":57}," -s",[47,459,460],{"class":57}," \u002Fsnap\u002Fbin\u002Fcertbot",[47,462,463],{"class":57}," \u002Fusr\u002Fbin\u002Fcertbot\n",[25,465,466,467],{},"Lancez certbot pour générer un certificat: ",[44,468,469],{},"sudo certbot --nginx",[25,471,472,473,475],{},"Rechargez la page de votre site (ex. ",[44,474,404],{},"), vous pourrez constater que votre certificat est actif.",[20,477,479],{"id":478},"_4-configuration-du-nom-de-domaine-dans-docker","4. Configuration du nom de domaine dans Docker",[25,481,482,483,486],{},"Le nom de domaine configuré par défaut est ",[29,484,257],{"href":257,"rel":485},[33]," ceci afin de permettre que les images s'affichent sur les PDF imprimés.",[25,488,489],{},"Pour définir le nom de domaine dans la configuration du site afin qu'il corresponde à la configuration serveur, vous pouvez exécuter la commande suivante :",[37,491,493],{"className":39,"code":492,"language":41,"meta":42,"style":42},"docker compose run backend bench --site frontend set-config host_name https:\u002F\u002Fsite.example.com\n",[44,494,495],{"__ignoreMap":42},[47,496,497,499,501,503,506,509,512,515,518,521],{"class":49,"line":50},[47,498,133],{"class":53},[47,500,143],{"class":57},[47,502,153],{"class":57},[47,504,505],{"class":57}," backend",[47,507,508],{"class":57}," bench",[47,510,511],{"class":57}," --site",[47,513,514],{"class":57}," frontend",[47,516,517],{"class":57}," set-config",[47,519,520],{"class":57}," host_name",[47,522,523],{"class":57}," https:\u002F\u002Fsite.example.com\n",[15,525,527],{"id":526},"sauvegarder-restaurer-mettre-à-jour","Sauvegarder, restaurer, mettre à jour",[20,529,531],{"id":530},"sauvegarder-dokos","Sauvegarder Dokos",[25,533,534,535,538],{},"Pour sauvegarder Dokos ",[286,536,537],{},"une fois lancé",", vous pouvez utiliser la commande suivante :",[37,540,542],{"className":39,"code":541,"language":41,"meta":42,"style":42},"# Le système doit être up pour effectuer une sauvegarde\ndocker compose run backend bench backup --with-files --compress\n",[44,543,544,550],{"__ignoreMap":42},[47,545,546],{"class":49,"line":50},[47,547,549],{"class":548},"sHwdD","# Le système doit être up pour effectuer une sauvegarde\n",[47,551,552,554,556,558,560,562,565,568],{"class":49,"line":98},[47,553,133],{"class":53},[47,555,143],{"class":57},[47,557,153],{"class":57},[47,559,505],{"class":57},[47,561,508],{"class":57},[47,563,564],{"class":57}," backup",[47,566,567],{"class":57}," --with-files",[47,569,570],{"class":57}," --compress\n",[25,572,573],{},"Si vous souhaitez récupérer ces sauvegardes depuis l'extérieur du conteneur, vous avez plusieurs possibilités :",[264,575,576,620],{},[267,577,578,579,582,583,601,602,604,605,608,609,612,613,616,617,35],{},"Utiliser ",[44,580,581],{},"docker cp"," pour copier les fichiers depuis le conteneur vers votre machine.\n",[37,584,586],{"className":39,"code":585,"language":41,"meta":42,"style":42},"docker cp dodock-backend-1:\u002Fhome\u002Ffrappe\u002Ffrappe-bench\u002Fsites\u002Ffrontend\u002Fprivate\u002Fbackups\u002F .\u002Fdokos-backups\n",[44,587,588],{"__ignoreMap":42},[47,589,590,592,595,598],{"class":49,"line":50},[47,591,133],{"class":53},[47,593,594],{"class":57}," cp",[47,596,597],{"class":57}," dodock-backend-1:\u002Fhome\u002Ffrappe\u002Ffrappe-bench\u002Fsites\u002Ffrontend\u002Fprivate\u002Fbackups\u002F",[47,599,600],{"class":57}," .\u002Fdokos-backups\n","\nLe fichier ",[44,603,166],{}," nomme le projet ",[44,606,607],{},"dodock"," : le conteneur s'appelle donc ",[44,610,611],{},"dodock-backend-1",". Si vous changez le nom du projet (option ",[44,614,615],{},"-p","), affichez le nom du conteneur avec ",[44,618,619],{},"docker compose ps",[267,621,578,622,625,626,629,630,633,634],{},[44,623,624],{},"docker run"," pour dupliquer les volumes ",[44,627,628],{},"db-data"," et ",[44,631,632],{},"sites",".\n",[29,635,636],{"href":636,"rel":637},"https:\u002F\u002Fdocs.docker.com\u002Fstorage\u002Fvolumes\u002F#back-up-restore-or-migrate-data-volumes",[33],[20,639,641],{"id":640},"restaurer-dokos","Restaurer Dokos",[25,643,644],{},"Pour restaurer Dokos, vous devez d'abord démarrer le système et suivre cette procédure :",[37,646,648],{"className":39,"code":647,"language":41,"meta":42,"style":42},"# Le projet dokos doit être up pour effectuer une restauration\ndocker compose up -d\n\n# Lister les sauvegardes disponibles\ndocker compose run backend ls sites\u002Ffrontend\u002Fprivate\u002Fbackups\n\n# Restaurer la sauvegarde en spécifiant le nom du fichier\ndocker compose run backend bench restore \\\n    [...]-frontend-database.sql.gz \\\n    --with-public-files [...]-frontend-files.tar.gz \\\n    --with-private-files [...]-frontend-private-files.tar.gz\n",[44,649,650,655,665,671,677,694,699,705,724,730,739],{"__ignoreMap":42},[47,651,652],{"class":49,"line":50},[47,653,654],{"class":548},"# Le projet dokos doit être up pour effectuer une restauration\n",[47,656,657,659,661,663],{"class":49,"line":98},[47,658,133],{"class":53},[47,660,143],{"class":57},[47,662,213],{"class":57},[47,664,216],{"class":57},[47,666,667],{"class":49,"line":116},[47,668,670],{"emptyLinePlaceholder":669},true,"\n",[47,672,674],{"class":49,"line":673},4,[47,675,676],{"class":548},"# Lister les sauvegardes disponibles\n",[47,678,680,682,684,686,688,691],{"class":49,"line":679},5,[47,681,133],{"class":53},[47,683,143],{"class":57},[47,685,153],{"class":57},[47,687,505],{"class":57},[47,689,690],{"class":57}," ls",[47,692,693],{"class":57}," sites\u002Ffrontend\u002Fprivate\u002Fbackups\n",[47,695,697],{"class":49,"line":696},6,[47,698,670],{"emptyLinePlaceholder":669},[47,700,702],{"class":49,"line":701},7,[47,703,704],{"class":548},"# Restaurer la sauvegarde en spécifiant le nom du fichier\n",[47,706,708,710,712,714,716,718,721],{"class":49,"line":707},8,[47,709,133],{"class":53},[47,711,143],{"class":57},[47,713,153],{"class":57},[47,715,505],{"class":57},[47,717,508],{"class":57},[47,719,720],{"class":57}," restore",[47,722,723],{"class":112}," \\\n",[47,725,727],{"class":49,"line":726},9,[47,728,729],{"class":112},"    [...]-frontend-database.sql.gz \\\n",[47,731,733,736],{"class":49,"line":732},10,[47,734,735],{"class":53},"    --with-public-files",[47,737,738],{"class":112}," [...]-frontend-files.tar.gz \\\n",[47,740,742,745],{"class":49,"line":741},11,[47,743,744],{"class":53},"    --with-private-files",[47,746,747],{"class":112}," [...]-frontend-private-files.tar.gz\n",[20,749,751],{"id":750},"mettre-à-jour-dokos","Mettre à jour Dokos",[25,753,754],{},"Pour mettre à jour Dokos, vous pouvez utiliser la commande suivante :",[37,756,758],{"className":39,"code":757,"language":41,"meta":42,"style":42},"# Modifiez le numéro de version dans le fichier compose.yaml si besoin\n\n# Télécharger les nouvelles images Docker\ndocker compose pull\n\n# Relancer les conteneurs\ndocker compose down\ndocker compose up -d\n\n# Migrer les sites\ndocker compose run backend bench --site all migrate\n",[44,759,760,765,769,774,783,787,792,800,810,814,819],{"__ignoreMap":42},[47,761,762],{"class":49,"line":50},[47,763,764],{"class":548},"# Modifiez le numéro de version dans le fichier compose.yaml si besoin\n",[47,766,767],{"class":49,"line":98},[47,768,670],{"emptyLinePlaceholder":669},[47,770,771],{"class":49,"line":116},[47,772,773],{"class":548},"# Télécharger les nouvelles images Docker\n",[47,775,776,778,780],{"class":49,"line":673},[47,777,133],{"class":53},[47,779,143],{"class":57},[47,781,782],{"class":57}," pull\n",[47,784,785],{"class":49,"line":679},[47,786,670],{"emptyLinePlaceholder":669},[47,788,789],{"class":49,"line":696},[47,790,791],{"class":548},"# Relancer les conteneurs\n",[47,793,794,796,798],{"class":49,"line":701},[47,795,133],{"class":53},[47,797,143],{"class":57},[47,799,317],{"class":57},[47,801,802,804,806,808],{"class":49,"line":707},[47,803,133],{"class":53},[47,805,143],{"class":57},[47,807,213],{"class":57},[47,809,216],{"class":57},[47,811,812],{"class":49,"line":726},[47,813,670],{"emptyLinePlaceholder":669},[47,815,816],{"class":49,"line":732},[47,817,818],{"class":548},"# Migrer les sites\n",[47,820,821,823,825,827,829,831,833,836],{"class":49,"line":741},[47,822,133],{"class":53},[47,824,143],{"class":57},[47,826,153],{"class":57},[47,828,505],{"class":57},[47,830,508],{"class":57},[47,832,511],{"class":57},[47,834,835],{"class":57}," all",[47,837,838],{"class":57}," migrate\n",[20,840,842],{"id":841},"résolution-de-problèmes","Résolution de problèmes",[264,844,845],{},[267,846,847,848,851],{},"La page du bureau est vide après une mise à jour : il faut toujours démonter les conteneurs avec la commande ",[44,849,850],{},"docker compose down"," après une mise à jour.",[853,854,855],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":42,"searchDepth":50,"depth":98,"links":857},[858,862,863,864,865,871],{"id":17,"depth":98,"text":18,"children":859},[860,861],{"id":22,"depth":116,"text":23},{"id":159,"depth":116,"text":160},{"id":195,"depth":98,"text":196},{"id":250,"depth":98,"text":251},{"id":299,"depth":98,"text":300},{"id":320,"depth":98,"text":321,"children":866},[867,868,869,870],{"id":358,"depth":116,"text":359},{"id":368,"depth":116,"text":369},{"id":414,"depth":116,"text":415},{"id":478,"depth":116,"text":479},{"id":526,"depth":98,"text":527,"children":872},[873,874,875,876],{"id":530,"depth":116,"text":531},{"id":640,"depth":116,"text":641},{"id":750,"depth":116,"text":751},{"id":841,"depth":116,"text":842},"Installer Dokos avec Docker et Docker Compose : prérequis, fichier compose.yaml, lancement du conteneur et création du site.","md",{"reviewed":669,"last_verified":880,"sources":881},"2026-11-04",[882],"bench:compose\u002Fdokos.yaml","\u002Fv5\u002Fadministrer\u002Finstallation\u002Fdocker",{"title":5,"description":877},"1.v5\u002F5.administrer\u002F02.installation\u002F2.docker","d3JLnMtohmFpPsuDnQXDLA2Lk5hlP_dCJC4iN8PcP_I",{},1793871947902]