Twake Drive – Alternatif Open Source untuk Google Drive
(github.com/linagora)- Twake Drive adalah platform penyimpanan cloud open source yang menyediakan fitur penyimpanan dan berbagi file mirip Google Drive
- Mendukung deployment berbasis Docker, sehingga mudah dijalankan di lingkungan lokal, dan menggunakan Node.js serta MongoDB sebagai stack teknologi utama
- Memiliki arsitektur dengan frontend dan backend yang terpisah, serta menyediakan lingkungan pengembangan berbasis Yarn dan fitur pengaturan jalur penyimpanan file lokal
- Dirilis dengan lisensi Affero GPL v3, sehingga perusahaan atau organisasi dapat dengan bebas menyesuaikannya dalam bentuk self-hosting
Gambaran proyek
- Twake Drive adalah solusi pengganti open source untuk Google Drive yang dikembangkan oleh Linagora, dan disediakan dalam bentuk yang memungkinkan fungsi penyimpanan file, berbagi, dan kolaborasi dijalankan di server sendiri
- Menargetkan terutama organisasi yang ingin menghindari ketergantungan pada layanan cloud dan tetap mempertahankan kepemilikan data serta kontrol keamanan
- Repositori yang dipublikasikan di GitHub telah mencatat lebih dari 1.000 bintang dan sekitar 70 fork, serta masih dipelihara secara aktif
- Proyek ini mengadopsi lisensi AGPL-3.0, yang mengharuskan modifikasi dan redistribusi source code tetap mengikuti ketentuan lisensi yang sama
Fitur utama dan stack teknologi
- Twake Drive berjalan di atas Node.js (18.x atau lebih baru), MongoDB, dan Yarn, serta dirancang dengan struktur frontend dan backend yang terpisah
- Frontend dijalankan dari direktori
tdrive/frontend/denganyarn dev:start - Backend dijalankan dari
tdrive/backend/node/setelah mengatur environment variable denganyarn dev
- Frontend dijalankan dari direktori
- Menyediakan opsi deployment sederhana menggunakan Docker Compose (
docker-compose.minimal.yml), sehingga memudahkan pengujian lokal dan deployment internal- Antarmuka web dapat diakses di
http://localhost/
- Antarmuka web dapat diakses di
- Database dapat dijalankan dengan mudah melalui perintah menjalankan container MongoDB (
docker run -p 27017:27017 -d mongo) - Konfigurasi lingkungan dapat disesuaikan secara rinci melalui file
tdrive/backend/node/config/development.json
Struktur pengembangan dan deployment
- Twake Drive memisahkan frontend (berbasis React) dan backend (berbasis Node.js), serta memungkinkan jalur penyimpanan file lokal ditentukan secara langsung
- Lokasi penyimpanan dokumen diatur melalui environment variable
STORAGE_LOCAL_PATH
- Lokasi penyimpanan dokumen diatur melalui environment variable
- Mendukung fungsi publish-subscribe di lingkungan lokal dengan pengaturan
PUBSUB_TYPE=local - Secara default aplikasi berjalan di port 3000 dan memiliki struktur yang dioptimalkan untuk lingkungan pengembangan dan pengujian
- Menyertakan file konfigurasi Docker Bake (
docker-bake.hcl) dan konfigurasi GitHub Actions untuk CI/CD, sehingga mendukung build dan pengujian otomatis
Kode dan status repositori
- Repositori terdiri dari 882 commit, 61 branch, dan 46 tag, menunjukkan riwayat pengembangan yang aktif
- Proporsi bahasa utama adalah TypeScript 58.9%, JavaScript 32.6%, SCSS 3.7%, CSS 2.2%, HTML 1.3%, Less 1.0%
Lisensi dan potensi pemanfaatan
- Twake Drive didistribusikan dengan lisensi Affero GPL v3, sehingga modifikasi dan redistribusi source code membawa kewajiban keterbukaan yang sama
- Perusahaan dapat memanfaatkannya untuk membangun sistem penyimpanan cloud internal khusus atau memperluasnya dalam bentuk SaaS
- Dinilai sebagai alternatif yang dapat sekaligus mewujudkan penghematan biaya layanan cloud komersial dan kedaulatan data
1 komentar
Opini Hacker News
Banyak orang di sini membahas fitur wajib atau backup, tetapi yang benar-benar penting adalah apakah proyek ini bisa membangun komunitas dan mempertahankannya dalam jangka panjang
Karena penyimpanan cloud open source bisa cepat menghilang saat maintainer kelelahan, model bisnis yang berkelanjutan atau basis kontributor sama pentingnya dengan checklist teknis
Selain itu, interoperabilitas juga sering diremehkan. Jika mendukung WebDAV atau S3 dan bisa terhubung dengan sistem autentikasi yang sudah ada, tim akan jauh lebih mudah mencobanya
Pada akhirnya orang menginginkan layanan yang tidak menghilang setelah “masa bulan madu” berakhir. Itu jauh lebih sulit daripada sekadar menambahkan progress bar
Saya memakai Syncthing, dan tidak pernah sekali pun diminta berpartisipasi dalam komunitas, tetapi tetap berjalan dengan baik
Tampaknya Syncthing menutup biaya pengembangan lewat dukungan enterprise dari perusahaan bernama Kastelo
Saya juga menjalankan perusahaan konsultasi open source, dan tanpa komunitas pun tetap bisa bertahan lewat kontrak perusahaan
Komunitas itu bagus, tetapi dalam jangka panjang saya rasa model bisnis dan strategi pemasaran lebih penting
Jika sebuah sistem mendukung API S3, hampir semua storage bisa diganti dengan mudah. Backblaze, Wasabi, API S3 lokal, dan lainnya pada dasarnya bisa menjadi pengganti langsung
Dari semua sinkronisasi file self-hosted yang pernah saya coba, Seafile adalah yang paling layak dipakai
Tetapi upgrade server masih merepotkan. NextCloud atau alat serupa, menurut standar saya, benar-benar setara bencana
Semua plugin yang kami butuhkan ada, performanya bagus, dan sinkronisasinya sempurna. Sampai rasanya tidak ada alasan mencoba alternatif lain
Dulu NextCloud tersendat di repositori besar dan butuh mesin yang lebih kuat
Seafile berjalan baik bahkan di board ARM dengan RAM 2GB
Pengujiannya juga saya lakukan dengan sangat teliti, dan kecepatan sinkronisasi serta responsivitasnya benar-benar mengejutkan
Sekarang saya sudah memindahkan semua file dari Google Drive dan memakainya sebagai cloud utama
Akan lucu kalau namanya dibuat Twake Dwive
Seperti yang ditanyakan orang lain, saya penasaran bagaimana ini dibandingkan dengan NextCloud atau ownCloud. Juga ingin tahu apakah ada klien untuk Windows/Mac/Mobile
Hidup-matinya alat drive open source bergantung pada tiga hal
Jika Twake mendukung S3 dan LDAP sambil melakukan semua ini dengan baik, ada peluang
Tetapi yang benar-benar sulit adalah kepercayaan dan dokumentasi. Dibutuhkan threat model yang jelas, panduan migrasi dari Drive atau Dropbox, dan CLI kecil yang bekerja bahkan di lingkungan headless
Dulu di perusahaan saya backup memang aktif, tetapi saat hendak dipulihkan ternyata semuanya sudah rusak. Sejak itu verifikasi backup menjadi prioritas utama
Saya heran aplikasi berperforma tinggi seperti ini dibuat dengan 58.9% TypeScript dan 32.6% JavaScript
Menurut saya yang lebih penting adalah bagian mana yang lebih kecil kemungkinan menjadi bottleneck daripada kecepatan bahasanya
Agak di luar topik, tetapi adakah cara agar Viber atau WhatsApp menggunakan storage backup selain Google Drive? Saya penasaran apakah mungkin dengan root lalu mengelabui antarmukanya
Apakah sistem seperti ini benar-benar membutuhkan database?
Di Unix, rasanya user, CRUD file, dan pemberian izin saja sudah cukup. Apakah ada software lama yang membungkus hal seperti ini dengan UI atau API? Bahkan kalau berbasis protokol SAMBA sekalipun?
Selain itu, kalau ingin memberi batasan grup pengguna, Anda akan cepat mencapai batas jumlah grup (65536)
usersdandocuments, atau memanfaatkan indeks dan transaksi MongoDBPengelolaan metadata versi juga jadi sederhana, dan mudah diakali di Windows
Mungkin saya berbeda dari suasana umum HN, tetapi fitur yang paling penting bagi saya adalah pencarian
Saat menyimpan data sampai hitungan TB, mencari satu foto saja jadi sulit
Saya butuh fitur analisis gambar yang memungkinkan pencarian seperti “dua orang di Nothing Street”
Saat ini Google sangat unggul dalam hal ini, tetapi saya berharap cloud lain suatu saat bisa menyusul
Saya merekomendasikan untuk mencoba Syncthing
Hanya saja pengalaman di mobile masih terasa kasar. Meski begitu, lewat antarmuka web saya tetap bisa mengambil file saat mendesak