Projet non officiel. Sans lien avec Frappe Technologies.
Ce que fait l'outil
ffm gère les benches Frappe comme des projets Docker Compose. Une commande crée un bench. D'autres le démarrent, l'arrêtent, ouvrent un shell dedans, le sauvegardent et le mettent à jour. Il s'adresse aux développeurs qui font tourner plusieurs sites Frappe et aux équipes qui hébergent Frappe sur leur propre VPS.
Fonctionnalités
- Cycle de vie :
create,list,start,stop,shell. - Tests :
test <app>exécute les tests d'une app dans le bench. - Données :
snapshotetbackup. - Production :
domainrattache un domaine,proxygère le reverse proxy,usergère les utilisateurs. - Vue d'ensemble :
dashboardaffiche vos benches. - Maintenance :
update. - Intégrations :
ffcconfigure le Foxmayn Frappe CLI pour un bench, avec les clés d'API et sa configuration.mcplance un serveur MCP de 13 outils. Il est en lecture seule par défaut. Les outils d'écriture ne fonctionnent que si vous les autorisez.
Installation
Linux et macOS :
curl -fsSL https://raw.githubusercontent.com/nasroykh/foxmayn_frappe_manager/main/install.sh | sh
Windows : exécutez install.ps1 depuis le dépôt. Sur Debian ou Ubuntu, utilisez le paquet .deb ; sur Fedora ou équivalent, le paquet .rpm, tous deux disponibles sur la page des versions. Si Go est installé :
go install github.com/nasroykh/foxmayn_frappe_manager/cmd/ffm@latest
Créez ensuite un bench :
ffm create mysite
ffm list
Les versions couvrent Linux, macOS et Windows (amd64 et arm64), ainsi que des paquets deb et rpm. Les sommes de contrôle sont signées, et les archives sont accompagnées d'un SBOM. La CI exécute go vet, go test -race et govulncheck, avec des workflows pour un aller-retour de sauvegarde et un test de fumée arm64.
Pourquoi nous l'avons construit
Tout projet Frappe commence par un bench, et les installations dérivent. Un développeur a un environnement qui marche et que personne d'autre ne sait reproduire. Docker Compose fait d'un bench un fichier que l'on peut lire, copier et reconstruire.
Nous utilisons ffm pour notre propre développement. La commande backup et le workflow d'aller-retour existent parce qu'une sauvegarde que l'on n'a jamais restaurée n'est qu'un espoir. C'est la partie de l'hébergement que nous prenons le plus au sérieux. Voyez comment il s'intègre à notre travail d'hébergement et de mises à jour.
L'outil est écrit en Go et publié sous licence MIT. Le code source, les versions et les tickets sont sur GitHub.