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