Frappe Framework
Commandes bench
Quatre groupes : général, setup, config, install. Le parcours type crée le bench, un site, puis installe une application. Bench Manager ajoute un site d’interface.
Périmètre
Seules les commandes du projet frappe/bench, celles de l’outil en ligne de commande. Celles du framework sont dans Commandes Frappe. L’aide-mémoire est à part : Aide-mémoire. bench sans argument liste les commandes. bench init --help montre --python, --ignore-exist et --apps_path.
Sous Click, bench est le groupe principal, avec trois groupes plus les commandes générales.
Général
bench COMMANDE. Les plus utilisées :
| Commande | Effet publié |
|---|---|
| init | Dossier complet : apps, sites, config (Redis, NGINX, supervisor), env |
| restart | Web, supervisor, unités systemd. Production |
| update | Sans drapeau : sauvegarde, pull, dépendances, build, patches, redémarrage. Un drapeau ne fait que sa part |
| migrate-env | Recrée env pour une version de Python |
| retry-upgrade | Reprend une mise à niveau échouée |
| disable-production | Quitte la production |
| renew-lets-encrypt | Renouvelle le certificat du site |
| backup / backup-all-sites | Un site, fichiers possibles, ou tous les sites |
| get-app | Clone et installe dans l’environnement |
| remove-app | Retire l’app et reconstruit les assets si elle n’est sur aucun site |
| exclude-app / include-app | Hors ou dans bench update. Incluses par défaut à l’installation |
| remote-set-url, remote-reset-url, remote-urls | URL distante, retour à l’officielle, affichage |
| switch-to-branch | Toutes les apps, ou celles nommées |
| switch-to-develop | Frappe et ERPNext vers develop |
Réglage avancé : set-nginx-port, set-ssl-certificate, set-ssl-key, set-url-root, set-mariadb-host, trois hôtes Redis (cache, queue, socketio), use (site par défaut), download-translations.
Développement : start (Procfile), src (cd $(bench src)), find, pip (bench pip help), new-app.
Release : release, prepare-beta-release depuis develop.
Setup, config, install
bench setup COMMANDE. sudoers, env, redis, fonts, config (sites/common_site_config.json), backups (cron), socketio, requirements, manager, procfile. production installe ansible, NGINX, supervisor, fail2ban et génère les fichiers. Puis nginx, fail2ban, systemd, firewall, ssh-port, reload-nginx, supervisor, lets-encrypt, wildcard-ssl, add-domain, remove-domain, sync-domains, role (rôles Ansible).
bench config COMMANDE. set-common-config (-c, configs ou --config), remove-common-config, update_bench_on_update, restart_supervisor_on_update, restart_systemd_on_update, dns_multitenant, serve_default_site (NGINX sert le site par défaut sur le port 80), http_timeout.
bench install COMMANDE. prerequisites (la page écrit b2zip, plus htop, screen, vim, polices X11, libs Python, cups, Redis), nodejs (v8), nginx, packer (VirtualBox et Packer 1.2.1), psutil, mariadb, wkhtmltopdf (v0.12.3 pour Linux), supervisor, fail2ban, virtualbox. nginx et supervisor règlent sudoers si un utilisateur est donné.
Parcours
bench init frappe-bench installe le framework et prépare les sauvegardes périodiques. bench new-site site1.local. bench get-app erpnext avec l’URL GitHub. bench --site site1.local install-app erpnext. bench start. Connexion sur [your-external-ip]:8000, souvent localhost:8000, utilisateur Administrator, mot de passe choisi à la création du site.
bench update sauvegarde, installe les dépendances, construit (le texte écrit « asstes »), migre et redémarre le gestionnaire de processus.
bench config set-common-config -c enable_frappe_logger true ajoute une clé. remove-common-config enable_frappe_logger la retire. Les clés de site sont dans Sites.
Bench Manager
bench setup manager crée le site bench-manager.local, récupère l’application bench_manager et l’installe. Le bureau de ce site gère le bench.
Point d’attention
Les versions publiées de Node (v8), de wkhtmltopdf (0.12.3) et de Packer (1.2.1) sont celles de cette page. update sans drapeau fait toute la chaîne, sauvegarde comprise.
