[{"data":1,"prerenderedAt":1237},["ShallowReactive",2],{"\u002Fv5\u002Fadministrer\u002Finstallation\u002Fplus\u002Fdokos-v4":3,"section:\u002Fv5\u002Fadministrer\u002Finstallation\u002Fplus\u002Fdokos-v4":1236},{"id":4,"title":5,"body":6,"description":1218,"extension":1219,"meta":1220,"navigation":345,"path":1232,"seo":1233,"stem":1234,"__hash__":1235},"docs\u002F1.v5\u002F5.administrer\u002F02.installation\u002F9.plus\u002F1.dokos-v4.md","Installation standard Dokos v4",{"type":7,"value":8,"toc":1200},"minimark",[9,14,36,41,53,58,64,144,148,151,170,173,209,213,216,267,280,284,287,308,315,318,417,420,444,448,451,460,560,563,581,584,600,668,671,688,706,710,714,717,753,760,824,828,913,1012,1016,1020,1023,1074,1082,1086,1093,1112,1115,1133,1136,1147,1150,1154,1157,1176,1180,1186,1197],[10,11,13],"h1",{"id":12},"installation-de-dokos-v4-sur-ubuntu-2404","Installation de Dokos v4 sur Ubuntu 24.04",[15,16,19],"callout",{"color":17,"icon":18},"teal","i-heroicons-chat-bubble-left-right",[20,21,22,23,30,31,35],"p",{},"Ce guide a été testé sur Ubuntu 24.04. Si une erreur se produit lors de l'installation, n'hésitez pas à poster un message sur le ",[24,25,29],"a",{"href":26,"rel":27},"https:\u002F\u002Fcommunity.dokos.io",[28],"nofollow","forum"," de la communauté. Pour installer la version actuelle, suivez l'",[24,32,34],{"href":33},"\u002Fv5\u002Fadministrer\u002Finstallation\u002Fmanuelle","installation standard de Dokos v5",".",[37,38,40],"h2",{"id":39},"pré-requis","Pré-requis",[20,42,43,44,48,49,35],{},"Le serveur Ubuntu doit posséder au moins 4 Go de RAM, 40 Go d'espace disque, ainsi qu'un utilisateur ",[45,46,47],"strong",{},"non root"," avec accès ",[50,51,52],"code",{},"sudo",[54,55,57],"h3",{"id":56},"création-dun-utilisateur","Création d'un utilisateur",[20,59,60,61,63],{},"Si ça n'est pas déjà le cas, par exemple si votre serveur est nouvellement créé, vous devrez créer un utilisateur non-root et lui donner les droits ",[50,62,52],{},". Ensuite, connectez-vous à votre serveur via SSH avec cet utilisateur.",[65,66,67,71,93,136],"details",{},[68,69,70],"summary",{},"Commandes pour créer un utilisateur",[72,73,78],"pre",{"className":74,"code":75,"language":76,"meta":77,"style":77},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","adduser dokos\n","sh","",[50,79,80],{"__ignoreMap":77},[81,82,85,89],"span",{"class":83,"line":84},"line",1,[81,86,88],{"class":87},"sBMFI","adduser",[81,90,92],{"class":91},"sfazB"," dokos\n",[72,94,96],{"className":74,"code":95,"language":76,"meta":77,"style":77},"usermod -aG sudo dokos\nrsync --archive --chown=dokos:dokos ~\u002F.ssh \u002Fhome\u002Fdokos\nexit\n",[50,97,98,111,129],{"__ignoreMap":77},[81,99,100,103,106,109],{"class":83,"line":84},[81,101,102],{"class":87},"usermod",[81,104,105],{"class":91}," -aG",[81,107,108],{"class":91}," sudo",[81,110,92],{"class":91},[81,112,114,117,120,123,126],{"class":83,"line":113},2,[81,115,116],{"class":87},"rsync",[81,118,119],{"class":91}," --archive",[81,121,122],{"class":91}," --chown=dokos:dokos",[81,124,125],{"class":91}," ~\u002F.ssh",[81,127,128],{"class":91}," \u002Fhome\u002Fdokos\n",[81,130,132],{"class":83,"line":131},3,[81,133,135],{"class":134},"s2Zo4","exit\n",[20,137,138,139,35],{},"Ces étapes sont extraites du ",[24,140,143],{"href":141,"rel":142},"https:\u002F\u002Fwww.digitalocean.com\u002Fcommunity\u002Ftutorials\u002Finitial-server-setup-with-ubuntu",[28],"guide de démarrage Ubuntu par Digital Ocean",[54,145,147],{"id":146},"python-v310-à-v312","Python (v3.10 à v3.12)",[20,149,150],{},"Tout d'abord, vérifiez que Python 3.10, 3.11 ou 3.12 est installé sur votre machine. Dodock v4 ne prend pas en charge Python 3.13.",[72,152,154],{"className":74,"code":153,"language":76,"meta":77,"style":77},"python3 --version\n# Python 3.12.3\n",[50,155,156,164],{"__ignoreMap":77},[81,157,158,161],{"class":83,"line":84},[81,159,160],{"class":87},"python3",[81,162,163],{"class":91}," --version\n",[81,165,166],{"class":83,"line":113},[81,167,169],{"class":168},"sHwdD","# Python 3.12.3\n",[20,171,172],{},"Ensuite, installez pip et venv :",[72,174,176],{"className":74,"code":175,"language":76,"meta":77,"style":77},"sudo apt-get update -y\nsudo apt-get install -y python3-pip python3-venv\n",[50,177,178,191],{"__ignoreMap":77},[81,179,180,182,185,188],{"class":83,"line":84},[81,181,52],{"class":87},[81,183,184],{"class":91}," apt-get",[81,186,187],{"class":91}," update",[81,189,190],{"class":91}," -y\n",[81,192,193,195,197,200,203,206],{"class":83,"line":113},[81,194,52],{"class":87},[81,196,184],{"class":91},[81,198,199],{"class":91}," install",[81,201,202],{"class":91}," -y",[81,204,205],{"class":91}," python3-pip",[81,207,208],{"class":91}," python3-venv\n",[54,210,212],{"id":211},"git-redis-et-wkhtmltopdf","Git, Redis et wkhtmltopdf",[20,214,215],{},"Ensuite, installez les paquets suivants :",[72,217,219],{"className":74,"code":218,"language":76,"meta":77,"style":77},"# Mise à jour des dépôts\nsudo apt-get install -y git redis-server ca-certificates file\nsudo apt-get install -y xvfb libfontconfig wkhtmltopdf\n",[50,220,221,226,248],{"__ignoreMap":77},[81,222,223],{"class":83,"line":84},[81,224,225],{"class":168},"# Mise à jour des dépôts\n",[81,227,228,230,232,234,236,239,242,245],{"class":83,"line":113},[81,229,52],{"class":87},[81,231,184],{"class":91},[81,233,199],{"class":91},[81,235,202],{"class":91},[81,237,238],{"class":91}," git",[81,240,241],{"class":91}," redis-server",[81,243,244],{"class":91}," ca-certificates",[81,246,247],{"class":91}," file\n",[81,249,250,252,254,256,258,261,264],{"class":83,"line":131},[81,251,52],{"class":87},[81,253,184],{"class":91},[81,255,199],{"class":91},[81,257,202],{"class":91},[81,259,260],{"class":91}," xvfb",[81,262,263],{"class":91}," libfontconfig",[81,265,266],{"class":91}," wkhtmltopdf\n",[15,268,270],{"color":17,"icon":269},"i-heroicons-light-bulb",[20,271,272,275,276,35],{},[50,273,274],{},"wkhtmltopdf"," est utilisé pour produire des documents PDF depuis Dodock\u002FDokos.\nIl s'agit de la version ",[277,278,279],"em",{},"0.12.6 with patched qt",[54,281,283],{"id":282},"mariadb-v106-à-v108","MariaDB (v10.6 à v10.8)",[20,285,286],{},"Dodock v4 est testé avec MariaDB 10.6 à 10.8. Ubuntu 24.04 installe MariaDB 10.11. Avec cette version, la création d'un site affiche l'avertissement « MariaDB version … is more than 10.8 which is not yet tested with Frappe Framework ». L'installation continue malgré cet avertissement.",[72,288,290],{"className":74,"code":289,"language":76,"meta":77,"style":77},"sudo apt-get install -y mariadb-server mariadb-client\n",[50,291,292],{"__ignoreMap":77},[81,293,294,296,298,300,302,305],{"class":83,"line":84},[81,295,52],{"class":87},[81,297,184],{"class":91},[81,299,199],{"class":91},[81,301,202],{"class":91},[81,303,304],{"class":91}," mariadb-server",[81,306,307],{"class":91}," mariadb-client\n",[20,309,310,311,314],{},"Pendant l'installation, vous devrez choisir un mot de passe pour l'utilisateur ",[277,312,313],{},"root"," pour votre base de données.\nCe dernier doit être précieusement conservé, il vous sera demandé lors de la création de chaque site et pour certaines opérations de maintenance.",[20,316,317],{},"Pour le configurer ou le modifier, vous pouvez lancer la commande suivante :",[72,319,321],{"className":74,"code":320,"language":76,"meta":77,"style":77},"sudo mariadb-secure-installation\n# > Enter current password for root (enter for none):\n# Laissez vide et appuyez sur Entrée à la première question.\n\n# > Switch to unix_socket authentication [Y\u002Fn] n\n# Répondre non (n) à la question, car nous utiliserons l'authentification par mot de passe.\n\n# > Set root password? [Y\u002Fn] Y\n# Répondre oui (Y), puis entrer un mot de passe sécurisé pour l'utilisateur `root` de la base de données.\n# Ce mot de passe sera demandé à chaque création de site, ainsi que lors de certaines opérations de maintenance.\n\n# Ensuite, répondre oui (Y) à toutes les questions suivantes.\n# > Remove anonymous users? [Y\u002Fn] Y\n# > Disallow root login remotely? [Y\u002Fn] Y\n# > Remove test database and access to it? [Y\u002Fn] Y\n# > Reload privilege tables now? [Y\u002Fn] Y\n",[50,322,323,330,335,340,347,353,359,364,370,376,382,387,393,399,405,411],{"__ignoreMap":77},[81,324,325,327],{"class":83,"line":84},[81,326,52],{"class":87},[81,328,329],{"class":91}," mariadb-secure-installation\n",[81,331,332],{"class":83,"line":113},[81,333,334],{"class":168},"# > Enter current password for root (enter for none):\n",[81,336,337],{"class":83,"line":131},[81,338,339],{"class":168},"# Laissez vide et appuyez sur Entrée à la première question.\n",[81,341,343],{"class":83,"line":342},4,[81,344,346],{"emptyLinePlaceholder":345},true,"\n",[81,348,350],{"class":83,"line":349},5,[81,351,352],{"class":168},"# > Switch to unix_socket authentication [Y\u002Fn] n\n",[81,354,356],{"class":83,"line":355},6,[81,357,358],{"class":168},"# Répondre non (n) à la question, car nous utiliserons l'authentification par mot de passe.\n",[81,360,362],{"class":83,"line":361},7,[81,363,346],{"emptyLinePlaceholder":345},[81,365,367],{"class":83,"line":366},8,[81,368,369],{"class":168},"# > Set root password? [Y\u002Fn] Y\n",[81,371,373],{"class":83,"line":372},9,[81,374,375],{"class":168},"# Répondre oui (Y), puis entrer un mot de passe sécurisé pour l'utilisateur `root` de la base de données.\n",[81,377,379],{"class":83,"line":378},10,[81,380,381],{"class":168},"# Ce mot de passe sera demandé à chaque création de site, ainsi que lors de certaines opérations de maintenance.\n",[81,383,385],{"class":83,"line":384},11,[81,386,346],{"emptyLinePlaceholder":345},[81,388,390],{"class":83,"line":389},12,[81,391,392],{"class":168},"# Ensuite, répondre oui (Y) à toutes les questions suivantes.\n",[81,394,396],{"class":83,"line":395},13,[81,397,398],{"class":168},"# > Remove anonymous users? [Y\u002Fn] Y\n",[81,400,402],{"class":83,"line":401},14,[81,403,404],{"class":168},"# > Disallow root login remotely? [Y\u002Fn] Y\n",[81,406,408],{"class":83,"line":407},15,[81,409,410],{"class":168},"# > Remove test database and access to it? [Y\u002Fn] Y\n",[81,412,414],{"class":83,"line":413},16,[81,415,416],{"class":168},"# > Reload privilege tables now? [Y\u002Fn] Y\n",[20,418,419],{},"Vérifiez que vous pouvez vous connecter à la base de données avec le mot de passe que vous avez défini :",[72,421,423],{"className":74,"code":422,"language":76,"meta":77,"style":77},"mysql -u root -p\n# Pour quitter la console, tapez `exit`\n",[50,424,425,439],{"__ignoreMap":77},[81,426,427,430,433,436],{"class":83,"line":84},[81,428,429],{"class":87},"mysql",[81,431,432],{"class":91}," -u",[81,434,435],{"class":91}," root",[81,437,438],{"class":91}," -p\n",[81,440,441],{"class":83,"line":113},[81,442,443],{"class":168},"# Pour quitter la console, tapez `exit`\n",[54,445,447],{"id":446},"nodejs-v20-recommandé-et-yarn","NodeJS (v20 recommandé) et yarn",[20,449,450],{},"Dodock v4 demande NodeJS 18 ou ultérieur. Ce guide installe NodeJS 20.",[20,452,453,454,459],{},"Vous pouvez installer NodeJS via ",[24,455,458],{"href":456,"rel":457},"https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm#installing-and-updating",[28],"nvm"," ou le gestionnaire de paquets de votre distribution.",[72,461,463],{"className":74,"code":462,"language":76,"meta":77,"style":77},"curl -o - https:\u002F\u002Fraw.githubusercontent.com\u002Fnvm-sh\u002Fnvm\u002Fv0.39.7\u002Finstall.sh | bash\n. \"$HOME\u002F.nvm\u002Fnvm.sh\"\nnvm install 20\nnpm install -g yarn\n\n# Créez un lien symbolique pour que NodeJS soit accessible facilement à tous les utilisateurs\nsudo ln -s $(which node) \u002Fusr\u002Fbin\u002F\n",[50,464,465,486,503,513,526,530,535],{"__ignoreMap":77},[81,466,467,470,473,476,479,483],{"class":83,"line":84},[81,468,469],{"class":87},"curl",[81,471,472],{"class":91}," -o",[81,474,475],{"class":91}," -",[81,477,478],{"class":91}," https:\u002F\u002Fraw.githubusercontent.com\u002Fnvm-sh\u002Fnvm\u002Fv0.39.7\u002Finstall.sh",[81,480,482],{"class":481},"sMK4o"," |",[81,484,485],{"class":87}," bash\n",[81,487,488,490,493,497,500],{"class":83,"line":113},[81,489,35],{"class":134},[81,491,492],{"class":481}," \"",[81,494,496],{"class":495},"sTEyZ","$HOME",[81,498,499],{"class":91},"\u002F.nvm\u002Fnvm.sh",[81,501,502],{"class":481},"\"\n",[81,504,505,507,509],{"class":83,"line":131},[81,506,458],{"class":87},[81,508,199],{"class":91},[81,510,512],{"class":511},"sbssI"," 20\n",[81,514,515,518,520,523],{"class":83,"line":342},[81,516,517],{"class":87},"npm",[81,519,199],{"class":91},[81,521,522],{"class":91}," -g",[81,524,525],{"class":91}," yarn\n",[81,527,528],{"class":83,"line":349},[81,529,346],{"emptyLinePlaceholder":345},[81,531,532],{"class":83,"line":355},[81,533,534],{"class":168},"# Créez un lien symbolique pour que NodeJS soit accessible facilement à tous les utilisateurs\n",[81,536,537,539,542,545,548,551,554,557],{"class":83,"line":361},[81,538,52],{"class":87},[81,540,541],{"class":91}," ln",[81,543,544],{"class":91}," -s",[81,546,547],{"class":481}," $(",[81,549,550],{"class":134},"which",[81,552,553],{"class":91}," node",[81,555,556],{"class":481},")",[81,558,559],{"class":91}," \u002Fusr\u002Fbin\u002F\n",[20,561,562],{},"Vérifiez que NodeJS a bien été installé",[72,564,566],{"className":74,"code":565,"language":76,"meta":77,"style":77},"node -v\n# v20.x.y\n",[50,567,568,576],{"__ignoreMap":77},[81,569,570,573],{"class":83,"line":84},[81,571,572],{"class":87},"node",[81,574,575],{"class":91}," -v\n",[81,577,578],{"class":83,"line":113},[81,579,580],{"class":168},"# v20.x.y\n",[54,582,583],{"id":583},"docli",[20,585,586,587,592,593,596,597,35],{},"docli est une ligne de commande, adaptée de ",[24,588,591],{"href":589,"rel":590},"https:\u002F\u002Fgithub.com\u002Ffrappe\u002Fbench",[28],"Bench",", permettant de gérer vos sites et applications Dodock. Son paquet PyPI s'appelle ",[50,594,595],{},"dokos-cli"," : installez-le avec ",[50,598,599],{},"pip",[72,601,603],{"className":74,"code":602,"language":76,"meta":77,"style":77},"export PATH=$PATH:$HOME\u002F.local\u002Fbin\nprintf '\\n%s\\n' 'export PATH=$PATH:$HOME\u002F.local\u002Fbin' >> ~\u002F.bashrc\npip install --user --upgrade --quiet --break-system-packages dokos-cli\n",[50,604,605,620,647],{"__ignoreMap":77},[81,606,607,611,614,617],{"class":83,"line":84},[81,608,610],{"class":609},"spNyl","export",[81,612,613],{"class":495}," PATH",[81,615,616],{"class":481},"=",[81,618,619],{"class":495},"$PATH:$HOME\u002F.local\u002Fbin\n",[81,621,622,625,628,631,634,636,639,641,644],{"class":83,"line":113},[81,623,624],{"class":134},"printf",[81,626,627],{"class":481}," '",[81,629,630],{"class":91},"\\n%s\\n",[81,632,633],{"class":481},"'",[81,635,627],{"class":481},[81,637,638],{"class":91},"export PATH=$PATH:$HOME\u002F.local\u002Fbin",[81,640,633],{"class":481},[81,642,643],{"class":481}," >>",[81,645,646],{"class":91}," ~\u002F.bashrc\n",[81,648,649,651,653,656,659,662,665],{"class":83,"line":131},[81,650,599],{"class":87},[81,652,199],{"class":91},[81,654,655],{"class":91}," --user",[81,657,658],{"class":91}," --upgrade",[81,660,661],{"class":91}," --quiet",[81,663,664],{"class":91}," --break-system-packages",[81,666,667],{"class":91}," dokos-cli\n",[20,669,670],{},"Ensuite, vérifiez que docli est bien installé :",[72,672,674],{"className":74,"code":673,"language":76,"meta":77,"style":77},"bench --version\n# 2.9.2 (ou une version ultérieure)\n",[50,675,676,683],{"__ignoreMap":77},[81,677,678,681],{"class":83,"line":84},[81,679,680],{"class":87},"bench",[81,682,163],{"class":91},[81,684,685],{"class":83,"line":113},[81,686,687],{"class":168},"# 2.9.2 (ou une version ultérieure)\n",[15,689,690],{"color":17,"icon":269},[20,691,692,693,695,696,699,700,702,703,35],{},"Si la commande ",[50,694,680],{}," n'est pas trouvée, relancez votre terminal pour que les modifications de votre variable d'environnement ",[50,697,698],{},"PATH"," soient prises en compte. En dernier recours, vous pouvez aussi ajouter la ligne ",[50,701,638],{}," à votre fichier ",[50,704,705],{},"~\u002F.bashrc",[37,707,709],{"id":708},"démarrage-du-serveur-et-installation-dun-site","Démarrage du serveur et installation d'un site",[54,711,713],{"id":712},"création-dun-bench","Création d'un bench",[20,715,716],{},"Un bench est un ensemble de sites et d'applications, et se crée avec les commandes suivantes :",[72,718,720],{"className":74,"code":719,"language":76,"meta":77,"style":77},"cd  # Retournez dans votre dossier personnel\nbench init dokos-bench --version v4\ncd dokos-bench\n",[50,721,722,730,746],{"__ignoreMap":77},[81,723,724,727],{"class":83,"line":84},[81,725,726],{"class":134},"cd",[81,728,729],{"class":168},"  # Retournez dans votre dossier personnel\n",[81,731,732,734,737,740,743],{"class":83,"line":113},[81,733,680],{"class":87},[81,735,736],{"class":91}," init",[81,738,739],{"class":91}," dokos-bench",[81,741,742],{"class":91}," --version",[81,744,745],{"class":91}," v4\n",[81,747,748,750],{"class":83,"line":131},[81,749,726],{"class":134},[81,751,752],{"class":91}," dokos-bench\n",[20,754,755,756],{},"Ensuite, téléchargez les applications que vous souhaitez installer sur vos sites.\nNous vous recommandons les applications suivantes pour démarrer, mais ",[24,757,759],{"href":758},"\u002Fv5\u002Fintegrations","beaucoup d'autres applications sont disponibles",[72,761,763],{"className":74,"code":762,"language":76,"meta":77,"style":77},"# Téléchargez les applications de base\nbench get-app --branch v4 payments\nbench get-app --branch v4 dokos\nbench get-app --branch v4 webshop\nbench get-app --branch v4 hrms\n",[50,764,765,770,786,798,811],{"__ignoreMap":77},[81,766,767],{"class":83,"line":84},[81,768,769],{"class":168},"# Téléchargez les applications de base\n",[81,771,772,774,777,780,783],{"class":83,"line":113},[81,773,680],{"class":87},[81,775,776],{"class":91}," get-app",[81,778,779],{"class":91}," --branch",[81,781,782],{"class":91}," v4",[81,784,785],{"class":91}," payments\n",[81,787,788,790,792,794,796],{"class":83,"line":131},[81,789,680],{"class":87},[81,791,776],{"class":91},[81,793,779],{"class":91},[81,795,782],{"class":91},[81,797,92],{"class":91},[81,799,800,802,804,806,808],{"class":83,"line":342},[81,801,680],{"class":87},[81,803,776],{"class":91},[81,805,779],{"class":91},[81,807,782],{"class":91},[81,809,810],{"class":91}," webshop\n",[81,812,813,815,817,819,821],{"class":83,"line":349},[81,814,680],{"class":87},[81,816,776],{"class":91},[81,818,779],{"class":91},[81,820,782],{"class":91},[81,822,823],{"class":91}," hrms\n",[54,825,827],{"id":826},"démarrage-du-serveur","Démarrage du serveur",[15,829,834,844],{"color":830,"icon":831,"className":832},"amber","i-heroicons-exclamation-triangle",[833],"bg-amber-500\u002F10",[20,835,836,837,840,841,35],{},"Si vous souhaitez installer Dokos en ",[277,838,839],{},"mode développement",", suivez les instructions suivantes. Vous pouvez ignorer les instructions du ",[277,842,843],{},"mode production",[65,845,849,857,868],{"id":846,"className":847},"documentation-installation-manuelle-serveur-developpement",[848],"mt-2",[68,850,851],{},[81,852,856],{"className":853},[854,855],"font-medium","underline","\n  Cliquez ici pour afficher\u002Fmasquer les instructions du mode développement\n",[20,858,859,860,863,864,867],{},"Activer le ",[50,861,862],{},"developer_mode"," et lancer le serveur avec ",[50,865,866],{},"bench start"," vous permet de voir vos modifications de code en temps réel. Vous devrez lancer le serveur manuellement à chaque redémarrage de votre ordinateur.",[72,869,871],{"className":74,"code":870,"language":76,"meta":77,"style":77},"# Dans un nouveau terminal, lancez le serveur de développement manuellement\nbench start\n\n# Retournez dans le terminal précédent puis activez le mode développeur\nbench --site monsite.dokos.cloud set-config developer_mode 1\n",[50,872,873,878,885,889,894],{"__ignoreMap":77},[81,874,875],{"class":83,"line":84},[81,876,877],{"class":168},"# Dans un nouveau terminal, lancez le serveur de développement manuellement\n",[81,879,880,882],{"class":83,"line":113},[81,881,680],{"class":87},[81,883,884],{"class":91}," start\n",[81,886,887],{"class":83,"line":131},[81,888,346],{"emptyLinePlaceholder":345},[81,890,891],{"class":83,"line":342},[81,892,893],{"class":168},"# Retournez dans le terminal précédent puis activez le mode développeur\n",[81,895,896,898,901,904,907,910],{"class":83,"line":349},[81,897,680],{"class":87},[81,899,900],{"class":91}," --site",[81,902,903],{"class":91}," monsite.dokos.cloud",[81,905,906],{"class":91}," set-config",[81,908,909],{"class":91}," developer_mode",[81,911,912],{"class":511}," 1\n",[914,915,918,927],"div",{"className":916},[917],"doc-install--production-only",[20,919,920,921,923,924,926],{},"Vérifiez que vous êtes bien dans le ",[277,922,680],{}," que vous venez de créer puis lancez les commandes suivantes pour activer le ",[277,925,843],{}," de Dokos.",[72,928,930],{"className":74,"code":929,"language":76,"meta":77,"style":77},"sudo mkdir -p \u002Froot\u002F.config\u002Fpip\nprintf \"[global]\\nbreak-system-packages = true\\n\" | sudo tee -a \u002Froot\u002F.config\u002Fpip\u002Fpip.conf\nsudo python3 -m pip install -U -q dokos-cli\nsudo -H bench setup production $USER\n",[50,931,932,945,970,993],{"__ignoreMap":77},[81,933,934,936,939,942],{"class":83,"line":84},[81,935,52],{"class":87},[81,937,938],{"class":91}," mkdir",[81,940,941],{"class":91}," -p",[81,943,944],{"class":91}," \u002Froot\u002F.config\u002Fpip\n",[81,946,947,949,951,954,957,959,961,964,967],{"class":83,"line":113},[81,948,624],{"class":134},[81,950,492],{"class":481},[81,952,953],{"class":91},"[global]\\nbreak-system-packages = true\\n",[81,955,956],{"class":481},"\"",[81,958,482],{"class":481},[81,960,108],{"class":87},[81,962,963],{"class":91}," tee",[81,965,966],{"class":91}," -a",[81,968,969],{"class":91}," \u002Froot\u002F.config\u002Fpip\u002Fpip.conf\n",[81,971,972,974,977,980,983,985,988,991],{"class":83,"line":131},[81,973,52],{"class":87},[81,975,976],{"class":91}," python3",[81,978,979],{"class":91}," -m",[81,981,982],{"class":91}," pip",[81,984,199],{"class":91},[81,986,987],{"class":91}," -U",[81,989,990],{"class":91}," -q",[81,992,667],{"class":91},[81,994,995,997,1000,1003,1006,1009],{"class":83,"line":342},[81,996,52],{"class":87},[81,998,999],{"class":91}," -H",[81,1001,1002],{"class":91}," bench",[81,1004,1005],{"class":91}," setup",[81,1007,1008],{"class":91}," production",[81,1010,1011],{"class":495}," $USER\n",[1013,1014,1015],"style",{},"\n  body:has(#documentation-installation-manuelle-serveur-developpement[open]) .doc-install--production-only,\n  body:has(#documentation-installation-manuelle-serveur-developpement:not([open])) .doc-install--developer-only {\n    opacity: 0.3;\n    \u002F* text-decoration: line-through; *\u002F\n  }\n",[54,1017,1019],{"id":1018},"création-dun-site","Création d'un site",[20,1021,1022],{},"Créez votre site et installez les applications dont vous avez besoin.",[72,1024,1026],{"className":74,"code":1025,"language":76,"meta":77,"style":77},"# Créez un site (remplacez `monsite.dokos.cloud` par le nom de domaine de votre choix)\nbench new-site monsite.dokos.cloud\n\n# Installez les applications dont vous avez besoin\nbench --site monsite.dokos.cloud install-app payments dokos webshop hrms\n",[50,1027,1028,1033,1043,1047,1052],{"__ignoreMap":77},[81,1029,1030],{"class":83,"line":84},[81,1031,1032],{"class":168},"# Créez un site (remplacez `monsite.dokos.cloud` par le nom de domaine de votre choix)\n",[81,1034,1035,1037,1040],{"class":83,"line":113},[81,1036,680],{"class":87},[81,1038,1039],{"class":91}," new-site",[81,1041,1042],{"class":91}," monsite.dokos.cloud\n",[81,1044,1045],{"class":83,"line":131},[81,1046,346],{"emptyLinePlaceholder":345},[81,1048,1049],{"class":83,"line":342},[81,1050,1051],{"class":168},"# Installez les applications dont vous avez besoin\n",[81,1053,1054,1056,1058,1060,1063,1066,1069,1072],{"class":83,"line":349},[81,1055,680],{"class":87},[81,1057,900],{"class":91},[81,1059,903],{"class":91},[81,1061,1062],{"class":91}," install-app",[81,1064,1065],{"class":91}," payments",[81,1067,1068],{"class":91}," dokos",[81,1070,1071],{"class":91}," webshop",[81,1073,823],{"class":91},[15,1075,1076],{"color":17,"icon":18},[20,1077,1078,1079,35],{},"Si une erreur se produit lors de l'installation, n'hésitez pas à poster un message sur le ",[24,1080,29],{"href":26,"rel":1081},[28],[54,1083,1085],{"id":1084},"finaliser-linstallation","Finaliser l'installation",[20,1087,1088,1089,1092],{},"Par défaut, Nginx accède aux fichiers de votre site en tant qu'utilisateur ",[50,1090,1091],{},"www-data"," à l'aide d'un lien symbolique.\nPour que cela fonctionne, vous devez donner à Nginx le droit de traverser votre dossier utilisateur et suivre le lien symbolique.",[72,1094,1096],{"className":74,"code":1095,"language":76,"meta":77,"style":77},"setfacl --modify user:www-data:x ~\n",[50,1097,1098],{"__ignoreMap":77},[81,1099,1100,1103,1106,1109],{"class":83,"line":84},[81,1101,1102],{"class":87},"setfacl",[81,1104,1105],{"class":91}," --modify",[81,1107,1108],{"class":91}," user:www-data:x",[81,1110,1111],{"class":91}," ~\n",[20,1113,1114],{},"Une fois le site créé, vous pouvez vous connecter et accéder à l'interface d'administration avec l'une des adresses suivantes :",[1116,1117,1118,1126],"ul",{},[1119,1120,1121,1122],"li",{},"Si vous avez un enregistrement DNS configuré qui pointe vers votre serveur : ",[24,1123,1124],{"href":1124,"rel":1125},"http:\u002F\u002Fmonsite.dokos.cloud",[28],[1119,1127,1128,1129],{},"Si Dokos est installé sur votre ordinateur directement en mode développement : ",[24,1130,1131],{"href":1131,"rel":1132},"http:\u002F\u002Flocalhost:8000",[28],[20,1134,1135],{},"Utilisez les identifiants suivants :",[1116,1137,1138,1144],{},[1119,1139,1140,1141],{},"Adresse email : ",[50,1142,1143],{},"Administrator",[1119,1145,1146],{},"Mot de passe : le mot de passe que vous avez choisi lors de la création du site.",[20,1148,1149],{},"Suivez les instructions du « Assistant de configuration », l'outil d'installation de Dokos, pour finaliser l'installation.",[54,1151,1153],{"id":1152},"pour-aller-plus-loin","Pour aller plus loin",[20,1155,1156],{},"Pour le rendre accessible depuis l'extérieur, il faut configurer un enregistrement DNS qui pointe vers votre serveur, et configurer Let's Encrypt pour obtenir un certificat SSL.",[1158,1159,1160,1169],"card-group",{},[1161,1162,1166],"card",{"icon":1163,"title":1164,"to":1165},"i-mdi-lock-outline","DNS multi-tenant","\u002Fv5\u002Fadministrer\u002Fexploitation\u002Fdomaine",[20,1167,1168],{},"Configuration du nom de domaine",[1161,1170,1173],{"icon":1163,"title":1171,"to":1172},"Let's Encrypt","\u002Fv5\u002Fadministrer\u002Fexploitation\u002Fcertificat",[20,1174,1175],{},"Configuration du certificat SSL avec Let's Encrypt",[54,1177,1179],{"id":1178},"questions-fréquentes","Questions Fréquentes",[1181,1182,1183],"blockquote",{},[20,1184,1185],{},"Le site s'affiche sans mise en forme ni couleurs ?",[1116,1187,1188,1191],{},[1119,1189,1190],{},"Vérifiez que votre dossier utilisateur serveur est bien accessible pour Nginx.",[1119,1192,1193,1194],{},"Vous pouvez donner les droits de lecture en lançant ",[50,1195,1196],{},"chmod +x \u002Fhome\u002F{votre utilisateur}",[1013,1198,1199],{},"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 .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 .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}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":77,"searchDepth":84,"depth":113,"links":1201},[1202,1210],{"id":39,"depth":113,"text":40,"children":1203},[1204,1205,1206,1207,1208,1209],{"id":56,"depth":131,"text":57},{"id":146,"depth":131,"text":147},{"id":211,"depth":131,"text":212},{"id":282,"depth":131,"text":283},{"id":446,"depth":131,"text":447},{"id":583,"depth":131,"text":583},{"id":708,"depth":113,"text":709,"children":1211},[1212,1213,1214,1215,1216,1217],{"id":712,"depth":131,"text":713},{"id":826,"depth":131,"text":827},{"id":1018,"depth":131,"text":1019},{"id":1084,"depth":131,"text":1085},{"id":1152,"depth":131,"text":1153},{"id":1178,"depth":131,"text":1179},"Installer l'ancienne version Dokos v4 sur un serveur Ubuntu 24.04, avec docli et les branches v4 des applications.","md",{"reviewed":345,"last_verified":1221,"sources":1222},"2026-11-04",[1223,1224,1225,1226,1231],"apps\u002Ffrappe\u002Fpyproject.toml (v4, requires-python >=3.10,\u003C3.13)","apps\u002Ffrappe\u002Fpackage.json (v4, engines node >=18)","apps\u002Ffrappe\u002Ffrappe\u002Fdatabase\u002Fmariadb\u002Fsetup_db.py (v4, check_compatible_versions)",{"dokos-cli 2":1227},[1228,1228,1228,1228,1228,1228,1228,1228,1228,1229],null,[1230],"bench\u002Fcommands\u002Fmake.py (init --version)","PyPI dokos-cli 2.9.2 (2026-11-04)","\u002Fv5\u002Fadministrer\u002Finstallation\u002Fplus\u002Fdokos-v4",{"title":5,"description":1218},"1.v5\u002F5.administrer\u002F02.installation\u002F9.plus\u002F1.dokos-v4","Qfo5J9tZh3wZkmpvQmliSCM9HDFVvttHZBpz3zlwVcw",{},1793871948656]