Saya sedang membuat Synch, plugin sinkronisasi open source untuk Obsidian.
Saya memulainya dengan pertanyaan apakah pengalaman seperti Obsidian Sync bisa dibuat dalam versi open source.
Targetnya adalah sinkronisasi cepat, E2EE, riwayat versi, dan alternatif Obsidian Sync yang bisa di-deploy sendiri.
Karena ini berbentuk plugin Obsidian, bukan model yang mengharuskan pemasangan aplikasi terpisah, plugin ini bisa digunakan di lingkungan desktop/mobile tempat Obsidian berjalan.
Fitur yang saat ini didukung adalah sebagai berikut.
- Mengenkripsi konten file dan metadata path secara lokal lalu mengunggahnya
- Menyinkronkan perubahan antar beberapa perangkat dalam hitungan detik
- Riwayat versi
- Pemulihan file yang dihapus
- Penggabungan otomatis saat terjadi konflik file
Secara teknis, ini berjalan di atas Cloudflare Workers + Durable Objects + R2.
- Klien mengenkripsi konten file dan metadata path lalu mengunggahnya.
- Server hanya menyimpan blob terenkripsi dan metadata sinkronisasi.
- Durable Objects digunakan untuk mengelola status sinkronisasi per vault dan urutan perubahan.
- Isi file dan riwayat versi disimpan di R2.
Bagi yang ingin mencoba deploy sendiri, saya juga sudah menyiapkan one-click deployment yang bisa dijalankan dengan akun gratis Cloudflare.
Bagi yang merasa deployment merepotkan, Anda bisa terlebih dahulu mengujinya secara sederhana lewat hosted server.
GitHub: https://github.com/hjinco/synch
13 komentar
Saya melihat panduan self-hosting, mendaftar ke Cloudflare, mengaktifkan R2, dan sepertinya sudah mengikuti langkahnya persis, tapi sinkronisasinya tidak jalan.. hiks hiks, entah apa yang salah
Oh.. saya sempat berpikir bagaimana cara membuatnya, dan ini bagus! Tapi agak disayangkan karena terikat ke Cloudflare. Hehe
Sebelumnya saya memakai Google Drive/DriveSync, tetapi rasanya ada yang kurang, (misalnya data terakhir hilang karena tertimpa perangkat lain.. atau terjadi konflik..) jadi saya sempat mempertimbangkan Obsidian Sync, sepertinya saya harus coba sekali! Terima kasih.
Saya membuat akun lewat self-hosting, tetapi tidak bisa login dengan akun yang sama.
Mungkin saya memang lupa kata sandinya^^
Tapi ternyata tidak ada cara untuk mereset kata sandi.
Akhirnya saya terpaksa menghapus semuanya, baik repo GitHub maupun workers, lalu mengaturnya lagi dari awal.
Kali ini anehnya, saat mendaftar malah muncul pesan bahwa akun tersebut sudah ada..
Saat membuat workers,
d1danr2juga otomatis dibuat, jadi Anda mungkin juga perlu menghapusd1danr2yang terhubung.Saya menyelesaikannya seperti yang Anda beri tahu. Terima kasih.
Apakah self-hosting juga berbayar?
Tidak, Anda hanya perlu memiliki akun Cloudflare. Silakan lihat panduan di https://synch.run/ko/self-hosting.
Oh~ kelihatannya tingkat kematangannya cukup bagus.
Tapi setelah saya membuat remote vault dan melakukan sinkronisasi di 2 perangkat, di tree folder masing-masing malah muncul satu vault lagi, lalu di bawahnya tree folder asli jadi terduplikasi. Memang seharusnya begitu?
Itu memang bukan perilaku yang seharusnya terjadi.
Fenomena tersebut tidak bisa direproduksi oleh saya maupun para beta tester, tetapi jika berkenan, silakan kirim email ke contact@synch.run atau buat issue di GitHub. Kami akan memeriksanya lebih detail dan membantu Anda.
Saya mencoba menghapus vault, tetapi muncul error.
Penghapusan gagal - coordinator purge failed with status 500
Apa bedanya dengan Obsidian LiveSync?
LiveSync berbasis CouchDB sehingga memungkinkan self-hosting yang lebih umum, sedangkan Synch memiliki arsitektur yang bergantung pada Cloudflare.
Sebagai gantinya, fokusnya adalah membuat orang yang tidak bisa melakukan pengaturan server pun dapat langsung menerapkannya dan segera menggunakannya hanya dengan satu klik, asalkan memiliki akun Cloudflare gratis.