Twake Drive – l’alternative open source à Google Drive
(github.com/linagora)- Twake Drive est une plateforme de stockage cloud open source offrant des fonctions de stockage et de partage de fichiers similaires à Google Drive
- Il prend en charge un déploiement basé sur Docker, ce qui permet de l’exécuter facilement en local, et utilise principalement Node.js et MongoDB comme stack technique
- Son architecture sépare le front-end et le back-end, et fournit un environnement de développement basé sur Yarn ainsi qu’une fonction de configuration du chemin de stockage local des fichiers
- Le projet est publié sous licence Affero GPL v3, ce qui permet aux entreprises et aux organisations de le personnaliser librement en auto-hébergement
Aperçu du projet
- Twake Drive est une solution open source alternative à Google Drive développée par Linagora, permettant d’exploiter sur ses propres serveurs des fonctions de stockage, de partage et de collaboration autour des fichiers
- Il vise principalement les organisations qui souhaitent éviter la dépendance à des services cloud et conserver la propriété des données et le contrôle de la sécurité
- Le dépôt publié sur GitHub affiche plus de 1 000 étoiles et environ 70 forks, et fait l’objet d’une maintenance active
- Le projet adopte la licence AGPL-3.0, ce qui impose de conserver les mêmes conditions de licence en cas de modification et de redistribution du code source
Principales fonctionnalités et stack technique
- Twake Drive fonctionne sur la base de Node.js (18.x ou supérieur), MongoDB et Yarn, avec une architecture conçue pour séparer le front-end et le back-end
- Le front-end se lance depuis le répertoire
tdrive/frontend/avecyarn dev:start - Le back-end se lance depuis
tdrive/backend/node/après configuration des variables d’environnement avecyarn dev
- Le front-end se lance depuis le répertoire
- Une option de déploiement simple avec Docker Compose (
docker-compose.minimal.yml) est fournie, facilitant les tests en local et les déploiements internes- L’interface web est accessible à l’adresse
http://localhost/
- L’interface web est accessible à l’adresse
- La base de données peut être démarrée facilement via la commande d’exécution du conteneur MongoDB (
docker run -p 27017:27017 -d mongo) - La configuration peut être ajustée en détail via le fichier
tdrive/backend/node/config/development.json
Structure de développement et de déploiement
- Twake Drive sépare le front-end (basé sur React) et le back-end (basé sur Node.js), et permet de définir directement le chemin du stockage local des fichiers
- L’emplacement de stockage des documents se règle via la variable d’environnement
STORAGE_LOCAL_PATH
- L’emplacement de stockage des documents se règle via la variable d’environnement
- Le paramètre PUBSUB_TYPE=local prend en charge les fonctions de publication et d’abonnement dans un environnement local
- L’application s’exécute par défaut sur le port 3000 et présente une structure optimisée pour les environnements de développement et de test
- Le projet inclut un fichier de configuration Docker Bake (
docker-bake.hcl) ainsi qu’une configuration GitHub Actions pour le CI/CD, permettant des builds et des tests automatisés
État du code et du dépôt
- Le dépôt comprend 882 commits, 61 branches et 46 tags, avec un historique de développement actif
- La répartition principale des langages est de TypeScript 58,9 %, JavaScript 32,6 %, SCSS 3,7 %, CSS 2,2 %, HTML 1,3 %, Less 1,0 %
Licence et possibilités d’utilisation
- Twake Drive est distribué sous licence Affero GPL v3, avec obligation de conserver la même ouverture en cas de modification et de redistribution du code source
- Les entreprises peuvent s’en servir pour mettre en place un système interne de stockage cloud ou l’étendre sous forme de SaaS
- Il est considéré comme une alternative permettant de réduire les coûts des services cloud commerciaux tout en renforçant la souveraineté des données
1 commentaires
Avis Hacker News
Beaucoup de gens parlent ici de fonctionnalités indispensables ou de sauvegardes, mais le vrai enjeu est de savoir si l’on peut créer une communauté et la faire durer dans le temps
Le stockage cloud open source disparaît vite quand les mainteneurs s’épuisent, donc un modèle économique durable ou une base de contributeurs compte autant qu’une checklist technique
L’interopérabilité (interoperability) est aussi sous-estimée. Si WebDAV ou S3 sont pris en charge et que l’intégration avec les systèmes d’authentification existants est possible, les équipes essaieront beaucoup plus facilement
Au fond, les gens veulent un service qui ne disparaît pas une fois la « lune de miel » terminée. C’est bien plus difficile que d’ajouter une barre de progression
J’utilise Syncthing, et on ne m’a jamais demandé de participer à la communauté, pourtant ça marche toujours très bien
Syncthing semble financer son développement via une entreprise appelée Kastelo, qui fournit du support enterprise
Je dirige moi aussi une société de conseil open source, et sans communauté, les contrats d’entreprise suffisent largement à faire vivre le projet
La communauté, c’est bien, mais à long terme, je pense que le modèle économique et la stratégie marketing sont plus importants
Si un système prend en charge l’API S3, il devient facile de remplacer n’importe quel stockage. Backblaze, Wasabi, une API S3 locale, tout cela est généralement interchangeable
Parmi toutes les solutions de synchronisation de fichiers auto-hébergées que j’ai utilisées, Seafile est celle qui m’a paru la plus convaincante
Mais les mises à niveau du serveur restent pénibles. NextCloud et les outils similaires ont été, selon mes critères, un véritable désastre
Nous avons tous les plugins nécessaires, les performances sont bonnes et la synchronisation est parfaite. Au point qu’on n’a aucune raison d’essayer autre chose
Avant, NextCloud ralentissait avec de gros dépôts et demandait une machine plus puissante
Seafile fonctionne très bien même sur une carte ARM avec 2 Go de RAM
J’ai fait des tests approfondis, et la vitesse de synchronisation comme la réactivité m’ont surpris
J’ai maintenant migré tous mes fichiers depuis Google Drive et je l’utilise comme cloud principal
subst, cela fonctionne très bienÇa aurait été drôle de l’appeler Twake Dwive
Comme d’autres l’ont demandé, je me demande comment cela se compare à NextCloud ou ownCloud. Et j’aimerais aussi savoir s’il existe des clients pour Windows/Mac/mobile
La survie d’un outil de drive open source dépend de trois choses
Si Twake gère bien cela tout en prenant en charge S3 et LDAP, il a du potentiel
Mais ce qui est vraiment difficile, c’est la confiance et la documentation. Il faut un modèle de menace clair, un guide de migration depuis Drive ou Dropbox, ainsi qu’un petit CLI capable de fonctionner dans des environnements headless
Autrefois, dans mon entreprise, les sauvegardes étaient bien activées, mais au moment de restaurer, tout était corrompu. Depuis, la vérification des sauvegardes est ma priorité absolue
Je trouve surprenant qu’une application aussi performante soit faite avec 58,9 % de TypeScript et 32,6 % de JavaScript
Je pense qu’il est plus important d’optimiser les zones qui ne sont pas les goulets d’étranglement du langage
C’est un peu hors sujet, mais y aurait-il un moyen de faire utiliser à Viber ou WhatsApp un autre stockage de sauvegarde que Google Drive ? Je me demande si ce serait possible en rootant l’appareil et en trompant l’interface
Est-ce qu’un tel système a vraiment besoin d’une base de données ?
Sous Unix, j’ai l’impression qu’entre les utilisateurs, le CRUD sur les fichiers et les permissions, cela pourrait suffire. Existe-t-il un ancien logiciel qui enveloppe cela dans une UI ou une API, éventuellement sur la base du protocole SAMBA ?
Et si l’on veut imposer des restrictions par groupes d’utilisateurs, on atteint vite la limite du nombre de groupes (65536)
usersetdocuments, ou d’exploiter les index et transactions MongoDBLa gestion des métadonnées de version devient simple, et c’est aussi plus facile à bidouiller sous Windows
Je suis probablement en décalage avec l’ambiance de HN, mais pour moi, la fonctionnalité la plus importante, c’est la recherche
Quand on stocke plusieurs To de données, il devient difficile de retrouver ne serait-ce qu’une photo
Il faut une fonction d’analyse d’image qui permette de rechercher quelque chose comme « deux personnes sur Nothing Street »
Aujourd’hui, Google écrase tout le monde sur ce point, mais j’espère que les autres clouds finiront par le rattraper
Je recommande d’essayer Syncthing au moins une fois
En revanche, l’expérience mobile restait encore un peu brute. Cela dit, l’interface web permet de récupérer un fichier en urgence