Twake Drive
Open-source, self-hosted file manager with collaborative drives, AI-powered summarization, and OnlyOffice document editing for teams who want full data sovereignty.
Twake Drive is a full-featured, self-hosted file management platform built by Linagora as an open-source alternative to Google Drive. It enables teams to store, organize, and share files with collaborative shared drives, granular access controls, and encrypted URL-based sharing—all while keeping data on infrastructure they control. The platform is built atop the Cozy Cloud stack, which provides the backend API, authentication, and real-time synchronization layer.
Beyond basic file storage, Twake Drive integrates directly with OnlyOffice for in-browser document, spreadsheet, and presentation editing, and with Excalidraw for collaborative whiteboarding. A file viewer supports dozens of file types including PDFs (via embedded PDF viewer), images, and media files. An AI-powered summarization feature can generate instant document summaries when the optional AI assistant module is enabled.
The frontend is a React 18 application built with Rsbuild and SWC, using Redux for global state and CozyClient for data access. The codebase features a declarative action system where context menus dynamically compose available operations based on file type, user permissions, antivirus scan status, and feature flags—making the interface both policy-driven and extensible. Playwright-based end-to-end tests complement the 120+ Jest unit spec files.
Twake Drive is designed for privacy-conscious organizations—healthcare providers, legal firms, universities, and enterprises operating under GDPR or HIPAA—who need the capabilities of a modern cloud drive without ceding control over sensitive data to a third-party cloud provider.
What You Get
- File tree navigation with drag-and-drop - Browse, organize, and manage files and folders in a familiar hierarchical tree with drag-and-drop support between directories.
- Shared Drives for team collaboration - Create centralized team workspaces where multiple users can read, write, and manage shared files and folders with role-based access controls.
- URL-based file and folder sharing - Generate shareable links for any file or folder, optionally password-protected, so collaborators can access content without requiring a Cozy account.
- OnlyOffice in-browser document editing - Create and edit Word-compatible documents, spreadsheets, and presentations directly in the browser without leaving Twake Drive.
- Excalidraw collaborative whiteboarding - Open and co-edit Excalidraw diagrams directly from the file manager for visual collaboration alongside document workflows.
- AI-powered document summarization - Summarize compatible files in one click via an integrated AI assistant that works across the files you already store on your drive.
- Full-text and metadata search - Search files by name, content, or sender with fast indexing powered by the Cozy data-proxy library and real-time results.
- Antivirus scan status and infected file policies - Action menus respect antivirus scan results so infected or unscanned files are surfaced with appropriate controls and restricted actions.
Common Use Cases
- Secure internal document repository for regulated industries - A healthcare provider hosts Twake Drive on its own servers to store patient records and internal policies under GDPR controls, ensuring sensitive files never leave the organization’s infrastructure.
- Team collaboration across distributed offices - A remote engineering team uses Shared Drives to maintain a single source-of-truth for project specs, with OnlyOffice letting members review and comment on documents without switching to a cloud-hosted office suite.
- External file delivery with password-protected links - A design agency shares project deliverables with clients via password-protected URL links, removing the need to manage client accounts or grant access to internal folders.
- On-premise whiteboarding and diagram storage - A university department stores Excalidraw architecture diagrams and lecture illustrations directly in Twake Drive, editing them collaboratively in the browser without relying on a SaaS diagramming tool.
- Nextcloud-connected hybrid storage - An organization with an existing Nextcloud deployment links it to Twake Drive, allowing staff to browse, move, and delete Nextcloud files from the same drive interface without migrating data.
Under The Hood
Architecture Twake Drive follows a modular, domain-driven React architecture where each major product area—drive navigation, shared drives, search, trash, upload, Nextcloud integration, OnlyOffice, and Excalidraw—lives in its own self-contained module. Entry flows through a single Rsbuild-compiled browser target that mounts a layered provider tree: Redux store, CozyClient, sharing context, vault, breakpoints, clipboard, and modal management are composed as nested React context providers before any route is rendered. Routing is handled declaratively via React Router 6 with lazy-loaded editor surfaces. The context menu system is architecturally notable: a declarative action policy evaluates per-file predicates—file type, write access, antivirus status, feature flags—to compose the correct set of available operations at render time, decoupling the menu UI entirely from hardcoded conditionals.
Tech Stack
The frontend is React 18 with Redux and redux-thunk for application state, CozyClient for all data access and real-time subscriptions, and the Cozy UI component library for a consistent design system. Rsbuild with SWC replaces the traditional webpack/Babel toolchain, providing faster builds with a shared bundle across the main, public-sharing, and intents targets. TypeScript is used selectively for type-safe policy definitions, hooks, and newer modules, while most components are written in JSX with PropTypes. End-to-end tests run on Playwright against a live Cozy stack, and unit tests use Jest 30 with @testing-library/react and comprehensive mocking infrastructure for SVGs, CSS modules, PDF workers, and Cozy clients. Internationalization flows through twake-i18n with Transifex managing locale files.
Code Quality
The codebase maintains over 120 Jest spec files spread across components, hooks, selectors, and utility functions, covering core behaviors such as conflict resolution during uploads, policy filtering, and file renaming. Mock infrastructure is extensive—SVG files, CSS modules, PDF.js workers, and Excalidraw are all shimmed so unit tests run without browser globals. TypeScript coverage is partial but purposeful: action policy types, Nextcloud view types, and newer modules are fully typed, while legacy components rely on PropTypes. ESLint with eslint-config-cozy-app and Prettier enforce consistent style, Husky gates commits with linting, Sentry handles production error tracking, and BundleMon monitors bundle size regressions in CI.
What Makes It Unique
The declarative action policy system is Twake Drive’s most technically distinctive characteristic: every context-menu action exports a displayCondition predicate evaluated by a central filterActionsByPolicy function against a pre-computed policy context. Adding a new feature flag, file type restriction, or antivirus check requires editing a single predicate rather than hunting through JSX conditionals across multiple components. The native Nextcloud integration provides dedicated route views and hooks that let users browse, move, trash, and delete files on a linked Nextcloud instance from the same UI—enabling genuine hybrid cloud workflows without third-party plugins. The Excalidraw editor is bundled and served self-hosted, and the OnlyOffice integration runs against a separately deployed Document Server, keeping all document processing on the operator’s infrastructure.
Self-Hosting
Twake Drive is released under the GNU Affero General Public License v3.0 (AGPL-3.0). This is a strong copyleft license: you can use, modify, and redistribute the software freely—including for commercial internal use—but any modifications you deploy over a network must be made available to users under the same license. For organizations using Twake Drive purely as an internal tool without distributing a modified version externally, the AGPL imposes no practical open-source obligation beyond attribution compliance.
Running Twake Drive yourself means operating the full Cozy Cloud stack—a non-trivial deployment that includes the cozy-stack backend service, a CouchDB instance for document storage, an object storage backend for files, and optionally a separate OnlyOffice Document Server for in-browser editing. The official development path uses Docker, and Linagora publishes Docker images for production deployments. You are responsible for SSL termination, backups of both CouchDB and the file store, monitoring, and upgrades. Releases occur frequently—roughly weekly—so staying current requires operational discipline, though the changelog is detailed and the versioning is semantic.
Linagora offers Twake as a managed SaaS product with enterprise support contracts, SLAs, and managed upgrades—options that are not available to self-hosters. Self-hosted deployments rely on community support via GitHub Issues, and there is no official enterprise support tier for self-managed installations without a separate agreement with Linagora. High-availability configurations, enterprise SSO integrations, and disaster recovery are the operator’s responsibility to architect and maintain.
Related Apps
Zed
Developer Tools · Collaboration · Code Editors
High-performance, multiplayer code editor built in Rust by the creators of Atom and Tree-sitter, with native AI integration and real-time collaboration.
Zed
OtherAppFlowy
Productivity · Project Management · Collaboration
The open-source AI workspace that puts your data, your rules — with local LLMs, CRDT collaboration, and full self-hosting built in.
AppFlowy
AGPL 3.0AFFiNE
Productivity · Project Management · Note Taking
Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.