Twake Drive – die Open-Source-Alternative zu Google Drive
(github.com/linagora)- Twake Drive ist eine Open-Source-Cloud-Storage-Plattform, die Dateispeicherung und -freigabe ähnlich wie Google Drive bietet
- Unterstützt Docker-basierte Bereitstellung, lässt sich dadurch leicht lokal betreiben und nutzt Node.js und MongoDB als zentralen Technologie-Stack
- Verfügt über eine getrennte Frontend-/Backend-Architektur und bietet eine Yarn-basierte Entwicklungsumgebung sowie die Konfiguration lokaler Dateispeicherpfade
- Wird unter der Affero GPL v3-Lizenz veröffentlicht, sodass Unternehmen und Organisationen sie in selbstgehosteten Setups frei anpassen können
Projektüberblick
- Twake Drive ist eine von Linagora entwickelte Open-Source-Alternative zu Google Drive, die Dateiablage, Freigabe und Zusammenarbeit auf eigenen Servern ermöglicht
- Zielgruppe sind vor allem Organisationen, die Abhängigkeiten von Cloud-Diensten vermeiden und Datenhoheit sowie Sicherheitskontrolle behalten möchten
- Das öffentlich auf GitHub verfügbare Repository verzeichnet mehr als 1.000 Stars und rund 70 Forks und wird aktiv gepflegt
- Das Projekt verwendet die AGPL-3.0-Lizenz, wodurch bei Änderungen am Quellcode und Weiterverbreitung dieselben Lizenzbedingungen beibehalten werden müssen
Hauptfunktionen und Technologie-Stack
- Twake Drive basiert auf Node.js (18.x oder höher), MongoDB und Yarn und ist als getrennte Frontend-/Backend-Architektur aufgebaut
- Das Frontend wird im Verzeichnis
tdrive/frontend/mityarn dev:startgestartet - Das Backend läuft unter
tdrive/backend/node/nach dem Setzen der Umgebungsvariablen mityarn dev
- Das Frontend wird im Verzeichnis
- Bietet mit Docker Compose eine einfache Bereitstellungsoption (
docker-compose.minimal.yml), wodurch lokale Tests und interne Deployments leicht umzusetzen sind- Das Web-Interface ist unter
http://localhost/erreichbar
- Das Web-Interface ist unter
- Über den MongoDB-Container-Startbefehl (
docker run -p 27017:27017 -d mongo) lässt sich die Datenbank schnell starten - Die Konfiguration kann über die Datei
tdrive/backend/node/config/development.jsonim Detail angepasst werden
Entwicklungs- und Bereitstellungsstruktur
- Twake Drive trennt Frontend (React-basiert) und Backend (Node.js-basiert) und erlaubt die direkte Festlegung des lokalen Dateispeicherpfads
- Über die Umgebungsvariable
STORAGE_LOCAL_PATHwird der Speicherort für Dokumente festgelegt
- Über die Umgebungsvariable
- Mit der Einstellung PUBSUB_TYPE=local wird Publish-/Subscribe-Funktionalität in lokalen Umgebungen unterstützt
- Die Anwendung läuft standardmäßig auf Port 3000 und ist für Entwicklungs- und Testumgebungen optimiert
- Enthält eine Docker Bake-Konfigurationsdatei (
docker-bake.hcl) sowie GitHub Actions für CI/CD und unterstützt damit automatisierte Builds und Tests
Code- und Repository-Status
- Das Repository umfasst 882 Commits, 61 Branches und 46 Tags und weist damit eine aktive Entwicklungshistorie auf
- Die wichtigsten Sprachenanteile sind TypeScript 58.9%, JavaScript 32.6%, SCSS 3.7%, CSS 2.2%, HTML 1.3% und Less 1.0%
Lizenz und Einsatzmöglichkeiten
- Twake Drive wird unter der Affero GPL v3 veröffentlicht, wodurch bei Änderungen am Quellcode und Weiterverbreitung dieselbe Offenlegungspflicht gilt
- Unternehmen können darauf basierend ein internes Cloud-Storage-System aufbauen oder es zu einem SaaS-Angebot erweitern
- Es wird als Alternative bewertet, mit der sich gleichzeitig Kosten für kommerzielle Cloud-Dienste senken und Datensouveränität sichern lassen
1 Kommentare
Hacker-News-Kommentare
Viele sprechen hier über Pflichtfunktionen oder Backups, aber die eigentlich wichtige Frage ist, ob man eine Community aufbauen und über lange Zeit erhalten kann
Open-Source-Cloud-Speicher verschwindet schnell, wenn die Maintainer ausbrennen, daher sind ein nachhaltiges Geschäftsmodell oder eine Contributor-Basis genauso wichtig wie technische Checklisten
Auch Interoperabilität wird unterschätzt. Wenn WebDAV oder S3 unterstützt wird und sich das System an bestehende Authentifizierungssysteme anbinden lässt, probieren Teams es viel eher aus
Am Ende wollen die Leute einen Dienst, der nicht verschwindet, sobald die „Honeymoon-Phase“ vorbei ist. Das ist deutlich schwieriger, als nur einen Fortschrittsbalken hinzuzufügen
Ich nutze Syncthing, und niemand hat mir je gesagt, ich solle mich in der Community engagieren, trotzdem läuft es weiterhin gut
Bei Syncthing scheint eine Firma namens Kastelo Enterprise-Support anzubieten und damit die Entwicklung zu finanzieren
Ich betreibe selbst eine Open-Source-Consulting-Firma, und auch ohne Community lässt sich das über Unternehmensverträge gut tragen
Community ist schön, aber langfristig sind Geschäftsmodell und Marketingstrategie meiner Meinung nach wichtiger
Wenn ein System die S3-API unterstützt, lässt sich praktisch jeder Speicher leicht austauschen. Backblaze, Wasabi, lokale S3-APIs usw. sind meist als Drop-in-Ersatz nutzbar
Von allen self-hosted Dateisynchronisationslösungen, die ich bisher genutzt habe, war Seafile am brauchbarsten
Aber Server-Upgrades sind immer noch mühsam. NextCloud und ähnliche Tools waren für mich eine absolute Katastrophe
Alle nötigen Plugins sind da, die Performance ist gut, und die Synchronisation funktioniert perfekt. Ich sehe kaum einen Grund, etwas anderes auszuprobieren
Früher kam NextCloud mit großen Repositories ins Stocken und brauchte leistungsfähigere Maschinen
Seafile läuft dagegen selbst auf einem ARM-Board mit 2 GB RAM gut
Ich habe alles gründlich getestet, und die Synchronisationsgeschwindigkeit sowie Reaktionsfreudigkeit waren erstaunlich
Inzwischen habe ich alle Dateien von Google Drive migriert und nutze es als meine Haupt-Cloud
Es wäre lustig gewesen, wenn man es Twake Dwive genannt hätte
Wie andere schon gefragt haben, würde mich interessieren, wie sich das im Vergleich zu NextCloud oder ownCloud schlägt. Und ob es Clients für Windows/Mac/Mobile gibt
Ob ein Open-Source-Drive-Tool lebt oder stirbt, hängt von drei Dingen ab
Wenn Twake S3 und LDAP unterstützt und das sauber umsetzt, hat es Potenzial
Aber wirklich schwierig sind Vertrauen und Dokumentation. Es braucht ein klares Threat Model, Migrationsanleitungen von Drive oder Dropbox und ein kleines CLI, das auch in Headless-Umgebungen funktioniert
Bei einer früheren Firma hatten wir Backups aktiviert, aber als wir tatsächlich wiederherstellen mussten, war alles beschädigt. Seitdem hat Backup-Validierung für mich höchste Priorität
Ich finde es fragwürdig, mit 58,9 % TypeScript und 32,6 % JavaScript eine so performante App zu bauen
Wichtiger als die Geschwindigkeit der Sprache sind meiner Meinung nach die Teile, in denen der Flaschenhals geringer ist
Etwas off-topic, aber gibt es eine Möglichkeit, Viber oder WhatsApp dazu zu bringen, statt Google Drive einen anderen Backup-Speicher zu nutzen? Ich frage mich, ob man das per Root und durch Täuschen der Schnittstelle hinbekommen könnte
Braucht so ein System wirklich eine Datenbank?
Unter Unix wirken Benutzer- und Datei-CRUD sowie Berechtigungen eigentlich ausreichend. Gibt es ältere Software, die genau so etwas mit UI oder API umhüllt? Notfalls auch auf Basis des SAMBA-Protokolls?
Und wenn man Benutzergruppen einschränken will, stößt man schnell an die Gruppengrenze (65536 Gruppen)
usersunddocumentszu joinen oder MongoDB-Indizes und -Transaktionen zu nutzenAuch die Verwaltung von Versionsmetadaten wird einfacher, und unter Windows lässt sich damit leichter herumhacken
Wahrscheinlich weiche ich damit von der HN-Stimmung ab, aber für mich ist die wichtigste Funktion Suche
Wenn man mehrere TB an Daten speichert, wird es schwer, auch nur ein einzelnes Foto wiederzufinden
Ich brauche Funktionen zur Bildanalyse, mit denen man nach Dingen wie „zwei Personen in der Nothing Street“ suchen kann
Im Moment ist Google in diesem Bereich klar überlegen, aber hoffentlich holen andere Clouds irgendwann auf
Ich würde empfehlen, Syncthing einmal auszuprobieren
Nur die mobile Erfahrung war bisher noch etwas rau. Trotzdem kann man sich im Notfall über das Web-Interface Dateien holen