[{"data":1,"prerenderedAt":518},["ShallowReactive",2],{"\u002Fnext\u002Fadministrer\u002Fexploitation\u002Fbench":3,"section:\u002Fnext\u002Fadministrer\u002Fexploitation\u002Fbench":517},{"id":4,"title":5,"body":6,"description":504,"extension":505,"meta":506,"navigation":508,"path":513,"seo":514,"stem":515,"__hash__":516},"docs\u002F2.next\u002F5.administrer\u002F03.exploitation\u002F1.bench\u002F0.index.md","Utiliser la ligne de commande bench",{"type":7,"value":8,"toc":494},"minimark",[9,13,20,50,64,75,80,139,143,190,204,208,254,260,264,318,322,373,377,392,398,402,405,462,480,484,490],[10,11,5],"h1",{"id":12},"utiliser-la-ligne-de-commande-bench",[14,15,16],"blockquote",{},[17,18,19],"p",{},"S'applique à : auto-hébergé. Sur Dokos Cloud, l'équipe Dokos lance ces commandes pour vous.",[17,21,22,23,27,28,31,32,39,40,43,44,49],{},"Chaque site Dokos est installé dans un ",[24,25,26],"strong",{},"bench",". Un bench est un dossier qui contient un environnement virtuel Python, le framework Dodock, les applications et un ou plusieurs sites. La commande ",[29,30,26],"code",{}," vient de l'outil ",[33,34,38],"a",{"href":35,"rel":36},"https:\u002F\u002Fgitlab.com\u002Fdokos\u002Fdocli",[37],"nofollow","docli"," (paquet PyPI ",[29,41,42],{},"dokos-cli","), une adaptation de ",[33,45,48],{"href":46,"rel":47},"https:\u002F\u002Fgithub.com\u002Ffrappe\u002Fbench",[37],"Frappe Bench",".",[17,51,52,53,56,57,60,61,49],{},"Lancez les commandes depuis le dossier du bench, par exemple ",[29,54,55],{},"~\u002Fdokos-bench",". Les commandes qui agissent sur un site prennent l'option ",[29,58,59],{},"--site \u003Csite>",". Avec Docker, préfixez-les par ",[29,62,63],{},"docker compose exec backend",[17,65,66,67,71,72,49],{},"La liste complète est dans la ",[33,68,70],{"href":69},"\u002Fnext\u002Fadministrer\u002Fexploitation\u002Fbench\u002Fcommandes","référence des commandes bench",". Pour l'aide d'une commande, lancez ",[29,73,74],{},"bench \u003Ccommande> --help",[76,77,79],"h2",{"id":78},"créer-un-bench-et-un-site","Créer un bench et un site",[81,82,87],"pre",{"className":83,"code":84,"language":85,"meta":86,"style":86},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bench init ~\u002Fdokos-bench\ncd ~\u002Fdokos-bench\nbench new-site dokompany.fr\nbench use dokompany.fr          # site par défaut : l'option --site devient facultative\n","sh","",[29,88,89,104,113,124],{"__ignoreMap":86},[90,91,94,97,101],"span",{"class":92,"line":93},"line",1,[90,95,26],{"class":96},"sBMFI",[90,98,100],{"class":99},"sfazB"," init",[90,102,103],{"class":99}," ~\u002Fdokos-bench\n",[90,105,107,111],{"class":92,"line":106},2,[90,108,110],{"class":109},"s2Zo4","cd",[90,112,103],{"class":99},[90,114,116,118,121],{"class":92,"line":115},3,[90,117,26],{"class":96},[90,119,120],{"class":99}," new-site",[90,122,123],{"class":99}," dokompany.fr\n",[90,125,127,129,132,135],{"class":92,"line":126},4,[90,128,26],{"class":96},[90,130,131],{"class":99}," use",[90,133,134],{"class":99}," dokompany.fr",[90,136,138],{"class":137},"sHwdD","          # site par défaut : l'option --site devient facultative\n",[76,140,142],{"id":141},"ajouter-une-application","Ajouter une application",[81,144,146],{"className":83,"code":145,"language":85,"meta":86,"style":86},"bench get-app https:\u002F\u002Fgitlab.com\u002Fdokos\u002Fhrms --branch v5\nbench --site dokompany.fr install-app hrms\nbench --site dokompany.fr list-apps\n",[29,147,148,164,179],{"__ignoreMap":86},[90,149,150,152,155,158,161],{"class":92,"line":93},[90,151,26],{"class":96},[90,153,154],{"class":99}," get-app",[90,156,157],{"class":99}," https:\u002F\u002Fgitlab.com\u002Fdokos\u002Fhrms",[90,159,160],{"class":99}," --branch",[90,162,163],{"class":99}," v5\n",[90,165,166,168,171,173,176],{"class":92,"line":106},[90,167,26],{"class":96},[90,169,170],{"class":99}," --site",[90,172,134],{"class":99},[90,174,175],{"class":99}," install-app",[90,177,178],{"class":99}," hrms\n",[90,180,181,183,185,187],{"class":92,"line":115},[90,182,26],{"class":96},[90,184,170],{"class":99},[90,186,134],{"class":99},[90,188,189],{"class":99}," list-apps\n",[17,191,192,195,196,199,200,49],{},[29,193,194],{},"get-app"," télécharge l'application dans le bench. ",[29,197,198],{},"install-app"," l'installe sur un site. Voir aussi ",[33,201,203],{"href":202},"\u002Fnext\u002Fadministrer\u002Fexploitation\u002Finstaller-une-application","Installer une application",[76,205,207],{"id":206},"sauvegarder-et-restaurer","Sauvegarder et restaurer",[81,209,211],{"className":83,"code":210,"language":85,"meta":86,"style":86},"bench --site dokompany.fr backup --with-files\nbench --site dokompany.fr restore \u002Fchemin\u002Fvers\u002F20261031_020000-dokompany_fr-database.sql.gz\nbench setup backups              # sauvegarde planifiée de tous les sites\n",[29,212,213,227,241],{"__ignoreMap":86},[90,214,215,217,219,221,224],{"class":92,"line":93},[90,216,26],{"class":96},[90,218,170],{"class":99},[90,220,134],{"class":99},[90,222,223],{"class":99}," backup",[90,225,226],{"class":99}," --with-files\n",[90,228,229,231,233,235,238],{"class":92,"line":106},[90,230,26],{"class":96},[90,232,170],{"class":99},[90,234,134],{"class":99},[90,236,237],{"class":99}," restore",[90,239,240],{"class":99}," \u002Fchemin\u002Fvers\u002F20261031_020000-dokompany_fr-database.sql.gz\n",[90,242,243,245,248,251],{"class":92,"line":115},[90,244,26],{"class":96},[90,246,247],{"class":99}," setup",[90,249,250],{"class":99}," backups",[90,252,253],{"class":137},"              # sauvegarde planifiée de tous les sites\n",[17,255,256,257,49],{},"Voir ",[33,258,207],{"href":259},"\u002Fnext\u002Fadministrer\u002Fexploitation\u002Fsauvegardes-et-restauration",[76,261,263],{"id":262},"configurer-un-site","Configurer un site",[81,265,267],{"className":83,"code":266,"language":85,"meta":86,"style":86},"bench --site dokompany.fr set-config mute_emails 1    # configuration du site\nbench set-config -g server_script_enabled 1           # configuration commune à tous les sites (-g)\nbench --site dokompany.fr show-config\n",[29,268,269,290,307],{"__ignoreMap":86},[90,270,271,273,275,277,280,283,287],{"class":92,"line":93},[90,272,26],{"class":96},[90,274,170],{"class":99},[90,276,134],{"class":99},[90,278,279],{"class":99}," set-config",[90,281,282],{"class":99}," mute_emails",[90,284,286],{"class":285},"sbssI"," 1",[90,288,289],{"class":137},"    # configuration du site\n",[90,291,292,294,296,299,302,304],{"class":92,"line":106},[90,293,26],{"class":96},[90,295,279],{"class":99},[90,297,298],{"class":99}," -g",[90,300,301],{"class":99}," server_script_enabled",[90,303,286],{"class":285},[90,305,306],{"class":137},"           # configuration commune à tous les sites (-g)\n",[90,308,309,311,313,315],{"class":92,"line":115},[90,310,26],{"class":96},[90,312,170],{"class":99},[90,314,134],{"class":99},[90,316,317],{"class":99}," show-config\n",[76,319,321],{"id":320},"passer-en-production","Passer en production",[81,323,325],{"className":83,"code":324,"language":85,"meta":86,"style":86},"sudo bench setup production \u003Cutilisateur>\nbench setup nginx                # régénère la configuration Nginx\nbench restart\n",[29,326,327,354,366],{"__ignoreMap":86},[90,328,329,332,335,337,340,344,347,351],{"class":92,"line":93},[90,330,331],{"class":96},"sudo",[90,333,334],{"class":99}," bench",[90,336,247],{"class":99},[90,338,339],{"class":99}," production",[90,341,343],{"class":342},"sMK4o"," \u003C",[90,345,346],{"class":99},"utilisateu",[90,348,350],{"class":349},"sTEyZ","r",[90,352,353],{"class":342},">\n",[90,355,356,358,360,363],{"class":92,"line":106},[90,357,26],{"class":96},[90,359,247],{"class":99},[90,361,362],{"class":99}," nginx",[90,364,365],{"class":137},"                # régénère la configuration Nginx\n",[90,367,368,370],{"class":92,"line":115},[90,369,26],{"class":96},[90,371,372],{"class":99}," restart\n",[76,374,376],{"id":375},"mettre-à-jour","Mettre à jour",[81,378,380],{"className":83,"code":379,"language":85,"meta":86,"style":86},"bench update --restart-supervisor\n",[29,381,382],{"__ignoreMap":86},[90,383,384,386,389],{"class":92,"line":93},[90,385,26],{"class":96},[90,387,388],{"class":99}," update",[90,390,391],{"class":99}," --restart-supervisor\n",[17,393,256,394,49],{},[33,395,397],{"href":396},"\u002Fnext\u002Fadministrer\u002Fexploitation\u002Fmises-a-jour","Mettre à jour un site auto-hébergé",[76,399,401],{"id":400},"exemple","Exemple",[17,403,404],{},"L'administrateur de Dokompany ajoute l'application HRMS à son site de production, puis vérifie la liste des applications :",[81,406,408],{"className":83,"code":407,"language":85,"meta":86,"style":86},"cd ~\u002Fdokos-bench\nbench --site dokompany.fr backup\nbench get-app https:\u002F\u002Fgitlab.com\u002Fdokos\u002Fhrms --branch v5\nbench --site dokompany.fr install-app hrms\nbench --site dokompany.fr list-apps\n",[29,409,410,416,427,439,451],{"__ignoreMap":86},[90,411,412,414],{"class":92,"line":93},[90,413,110],{"class":109},[90,415,103],{"class":99},[90,417,418,420,422,424],{"class":92,"line":106},[90,419,26],{"class":96},[90,421,170],{"class":99},[90,423,134],{"class":99},[90,425,426],{"class":99}," backup\n",[90,428,429,431,433,435,437],{"class":92,"line":115},[90,430,26],{"class":96},[90,432,154],{"class":99},[90,434,157],{"class":99},[90,436,160],{"class":99},[90,438,163],{"class":99},[90,440,441,443,445,447,449],{"class":92,"line":126},[90,442,26],{"class":96},[90,444,170],{"class":99},[90,446,134],{"class":99},[90,448,175],{"class":99},[90,450,178],{"class":99},[90,452,454,456,458,460],{"class":92,"line":453},5,[90,455,26],{"class":96},[90,457,170],{"class":99},[90,459,134],{"class":99},[90,461,189],{"class":99},[17,463,464,465,468,469,472,473,476,477,49],{},"La dernière commande affiche ",[29,466,467],{},"hrms"," avec ",[29,470,471],{},"frappe",", ",[29,474,475],{},"erpnext"," et ",[29,478,479],{},"payments",[76,481,483],{"id":482},"activer-la-complétion-du-terminal","Activer la complétion du terminal",[17,485,256,486,49],{},[33,487,489],{"href":488},"\u002Fnext\u002Fadministrer\u002Fexploitation\u002Fbench\u002Fcompletions","Complétion automatique du shell",[491,492,493],"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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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}",{"title":86,"searchDepth":93,"depth":106,"links":495},[496,497,498,499,500,501,502,503],{"id":78,"depth":106,"text":79},{"id":141,"depth":106,"text":142},{"id":206,"depth":106,"text":207},{"id":262,"depth":106,"text":263},{"id":320,"depth":106,"text":321},{"id":375,"depth":106,"text":376},{"id":400,"depth":106,"text":401},{"id":482,"depth":106,"text":483},"Comprendre ce qu'est un bench et lancer les commandes courantes : sites, applications, sauvegardes, configuration et production.","md",{"icon":507,"reviewed":508,"last_verified":509,"sources":510},"i-mdi-console-line",true,"2026-11-04",[511,512],"dokos-cli 2.9.0 (bench --help)","apps\u002Ffrappe\u002Ffrappe\u002Fcommands (develop)","\u002Fnext\u002Fadministrer\u002Fexploitation\u002Fbench",{"title":5,"description":504},"2.next\u002F5.administrer\u002F03.exploitation\u002F1.bench\u002F0.index","Y3cFRUNbkQ_ttuGSCnLgovXW_W1YFKzoNc1TPJ1ypQQ",{},1793871714549]