- Implémentation d’un serveur Git LFS (Large File Storage, stockage de fichiers volumineux) écrite en TypeScript
- Conçu pour être auto-hébergé en local pour un usage personnel
- La prise en charge multi-utilisateur est possible, mais nécessite une authentification HTTP basique (à utiliser derrière un proxy HTTPS comme Caddy ou Traefik)
- Runtime
- Granary peut s’exécuter sur Bun, Deno et Node
- Le code suit un pattern d’adaptateurs, avec Deno comme runtime principal, tandis que les adaptateurs Bun et Node ne fournissent qu’une implémentation minimale
- Utilise
serveFile, de la bibliothèque standard de Deno, pour gérer les téléchargements
- Lors des envois, utilise Web Crypto pour calculer le SHA-256 et gérer simultanément le streaming des fichiers
- Utilise un serveur HTTP propre à chaque runtime :
Bun.serve, Deno.serve, createServer de Node
- Licence MIT
2 commentaires
C’est vraiment trop difficile de gérer des binaires avec git.
J’aimerais que ça s’améliore un peu.
En fait, ce n’est pas vraiment fait pour le suivi de versions de fichiers binaires modifiés.