SAMOURAÏ COOP
Démarrer un projet

Étude de cas · Ingénierie

Greffon

Auto-hébergez vos apps souveraines en un clic.

La page d’accueil de greffon.io — « Self-host any app. »
greffon.io, tel qu’il tourne.

Client

Samouraï Coop — notre propre produit

Équipe

Ingénierie

Périmètre

Plan de contrôle · Agent worker · Catalogue open source

Stack

Django · FastAPI · Docker · Nginx

01

La demande

Déployer une application, c’est choisir entre deux pôles — et la plupart des équipes vivent entre les deux.

Les plateformes managées ont démocratisé le déploiement au prix d’une facturation à l’usage, de conditions imposées et d’aucun droit de regard sur l’endroit où vivent les données. Kubernetes est le standard de l’industrie, à juste titre, et un engagement opérationnel de plusieurs années pour des équipes qui devraient livrer des fonctionnalités. C’est dans l’entre-deux que se trouvent les organisations soumises à des contraintes de résidence des données, de conformité ou de budget.

02

Le pourquoi

L’auto-hébergement n’est pas de la nostalgie. C’est une position sur la propriété du pipeline.

Samouraï Coop construit et promeut la culture open source, et le studio d’ingénierie traite la question « qui contrôle l’infrastructure ? » comme une contrainte de conception, non comme un détail. Une organisation devrait posséder son pipeline de déploiement comme elle possède son code. Greffon rend cette conviction opérable — la position que la coopérative applique à ses propres outils, proposée à tous les autres.

03

La contrainte

Il fallait que des équipes sans pôle plateforme puissent l’exploiter.

Pas de charts Helm, pas d’admission controllers, pas de DSL d’ingress — Docker Compose et un schéma de configuration déclaratif. N’importe quelle machine Linux fait un nœud : bare metal, VM ou instance cloud. La contrainte n’était pas « rendez-le puissant », mais « rendez-le exploitable par une petite équipe sur le matériel qu’elle possède déjà ».

04

Comment nous l’avons construit

Un plan de contrôle, autant de workers que nécessaire, aucun fournisseur dans la boucle.

Le backend du manager est un plan de contrôle Django : il tient le catalogue des applications déployables, authentifie les utilisateurs, orchestre le cycle de vie des instances et émet les certificats via une autorité de certification intégrée — aucun gestionnaire de secrets externe à amorcer d’abord. Chaque greffer est un agent FastAPI léger installé sur l’un de vos nœuds. Il s’enregistre par une poignée de main sécurisée, installe des certificats mTLS pour tous les échanges suivants, rend le modèle Docker Compose avec Jinja2, crée volumes et réseaux, place la pile derrière un proxy TLS Nginx par instance, et remonte l’état de santé de façon asynchrone. Les greffers sont du bétail, pas des animaux de compagnie : le manager détient la configuration, donc un nœud mort signifie que l’instance redémarre ailleurs.

Architecture de Greffon — un navigateur atteint le manager Django, qui dialogue en mTLS avec des nœuds greffers FastAPI ; chaque nœud pilote un Docker Engine placé derrière un proxy TLS Nginx par instance et exécute vos applications Docker Compose.
L’architecture livrée — un plan de contrôle, autant de workers que nécessaire, aucun fournisseur dans la boucle.

05

Ce que nous avons livré

En bêta, en ligne, et ouvert précisément là où l’ouverture compte.

Greffon tourne en bêta sur greffon.io. Deux composants sont publics : greffer, l’agent worker, en Python et FastAPI sous AGPL-3.0 — un copyleft réseau, qui garde ouvertes les dérivées hébergées tout en laissant l’usage auto-hébergé libre ; et greffon-catalog, les modèles d’applications d’exemple, en TypeScript sous Apache-2.0 pour que les modèles se réutilisent partout sans friction. Ce partage de licences est délibéré : copyleft fort là où réside la valeur de la plateforme, permissif là où l’adoption doit être sans effort.

Le catalogue Greffon — 31 applications auto-hébergeables, chacune sur une carte avec une description d’une ligne et un bouton « Graft ».
Le catalogue. Chaque entrée est un modèle d’application open source, déployable sur un nœud qui vous appartient.
L’écran « My greffons » — quatre applications déployées, chacune affichant son nœud hôte, son URL et son état d’exécution.
Quatre applications sur un nœud, chacune avec son adresse et ses contrôles de cycle de vie.
L’écran de détail d’une application — sauvegardes à chaud et à froid, planification automatique, déplacement vers un autre worker, et CPU et mémoire par conteneur en direct.
Une application : sauvegardes, déplacement vers un autre worker, et consommation par conteneur en direct.

06

Ce qui s’est passé

Le cœur est stable. La plateforme se durcit à découvert.

Le premier jalon a clos la fiabilité du cœur — plan de contrôle Django, autorité de certification intégrée, API d’orchestration stable — et c’est là qu’en est la bêta. La migration du greffer vers FastAPI a débloqué le fonctionnement asynchrone et le support WebSocket ; viennent ensuite l’intégration de step-ca et Let’s Encrypt, le tunnel inverse pour les greffers derrière NAT, et une observabilité structurée. Chaque jalon comble de vraies lacunes opérationnelles avant que le suivant ne s’ouvre.

  • Chiffres d’adoption et citation utilisateur nommée — en attente

Équipe projet

  • Omar SyCTO & cofondateur
  • zôÖmaCEO
  • Louis BiancherinIngénieur
  • Miguel VictoriaIngénieur
  • David GozlanIngénieur
Étude suivanteHyper Hacktive Festival

Un projet qui a besoin des deux équipes ?