Panduan Menggunakan Syncthing untuk Backup Folder Proyek ke Server Lokal Tanpa Cloud
Sebagai developer yang sering bekerja di Termux atau laptop lokal, kita pasti pernah mengalami momen panik saat file proyek hilang karena storage penuh, aplikasi crash, atau salah hapus. Cloud storage seperti Google Drive atau Dropbox memang praktis, tapi ada kalanya kita butuh solusi backup lokal yang lebih cepat, privat, dan tidak bergantung pada kuota internet. Di sinilah Syncthing jadi pilihan menarik: aplikasi open-source yang bisa sinkronisasi folder antar perangkat secara real-time tanpa server pihak ketiga.
Syncthing bekerja peer-to-peer, artinya data langsung dikirim dari perangkat sumber ke perangkat tujuan melalui jaringan lokal atau internet. Tidak ada pihak ketiga yang menyimpan file kita. Cocok untuk backup proyek coding, dokumen kerja, atau file konfigurasi yang sering berubah. Artikel ini akan memandu kamu setup Syncthing dari Termux ke server lokal (bisa laptop, Raspberry Pi, atau PC rumah) dengan langkah praktis yang sudah saya coba sendiri.
Kenapa Syncthing, Bukan Rsync atau Git?
Pertanyaan ini wajar. Rsync bagus untuk backup manual, tapi butuh command setiap kali mau sync. Git memang ideal untuk version control, tapi tidak semua file proyek cocok di-commit (misalnya node_modules, build artifacts, atau file besar). Syncthing otomatis sinkronisasi setiap ada perubahan, tanpa perlu commit atau push manual. Kamu tetap bisa pakai Git untuk version control, dan Syncthing untuk backup real-time ke server lokal.
Persiapan Awal
Sebelum mulai, pastikan kamu punya:
- Termux di Android dengan akses storage (jalankan
termux-setup-storagejika belum) - Server lokal yang nyala 24/7 atau setidaknya saat kamu kerja (bisa laptop, PC, atau single-board computer)
- Kedua perangkat terhubung ke jaringan yang sama (WiFi rumah atau hotspot)
- Ruang storage cukup di server untuk menampung backup
Syncthing tersedia untuk Linux, Windows, macOS, dan Android. Di Termux, kita install versi Linux-nya.
Langkah Praktis
- Install Syncthing di Termux: Buka Termux dan jalankan
pkg update && pkg install syncthing. Tunggu sampai selesai. Untuk memulai Syncthing, ketiksyncthingdan biarkan berjalan. Jangan tutup session Termux ini. - Akses Web Interface Termux: Syncthing punya web interface di
http://127.0.0.1:8384. Buka browser di HP kamu dan masuk ke alamat itu. Kamu akan lihat dashboard Syncthing dengan Device ID unik. - Install Syncthing di Server Lokal: Di laptop atau PC, download Syncthing dari situs resminya atau install via package manager (misalnya
sudo apt install syncthingdi Ubuntu). Jalankan dengan commandsyncthingdi terminal. Web interface server biasanya dihttp://localhost:8384. - Hubungkan Kedua Perangkat: Di web interface Termux, klik "Add Remote Device" di pojok kanan bawah. Masukkan Device ID dari server (bisa dilihat di web interface server bagian "Actions" > "Show ID"). Beri nama yang jelas, misalnya "Laptop-Backup". Di server, akan muncul notifikasi ada perangkat baru mau connect. Klik "Add Device" dan konfirmasi.
- Buat Folder untuk Disinkronkan: Di Termux, klik "Add Folder". Pilih folder proyek yang mau di-backup, misalnya
/storage/emulated/0/projects/my-app. Beri label yang mudah diingat. Di bagian "Sharing", centang device server yang tadi sudah ditambahkan. Klik "Save". - Terima Folder di Server: Di web interface server, akan muncul notifikasi folder baru dari Termux. Klik "Add" dan tentukan lokasi di server tempat folder akan disimpan, misalnya
~/backups/my-app. Pastikan path-nya ada dan punya permission write. - Tunggu Sinkronisasi Pertama: Syncthing akan mulai transfer file. Kecepatan tergantung ukuran folder dan kecepatan jaringan lokal. Kamu bisa pantau progress di dashboard. Setelah selesai, status akan berubah jadi "Up to Date".
- Uji Perubahan Real-Time: Coba edit file di folder proyek Termux, misalnya tambahkan baris kode baru. Dalam beberapa detik, perubahan akan otomatis muncul di server. Ini yang bikin Syncthing praktis untuk workflow sehari-hari.
Kesalahan yang Sering Terjadi
- Syncthing tidak bisa diakses dari browser: Pastikan Syncthing masih berjalan di Termux. Kalau session Termux tertutup, Syncthing juga berhenti. Gunakan
tmuxatauscreenuntuk menjalankan Syncthing di background, atau install Syncthing-Fork dari F-Droid yang punya service Android native. - Folder tidak muncul di server: Cek apakah kedua device sudah status "Connected" di dashboard. Kalau belum, pastikan firewall tidak memblokir port Syncthing (default 22000). Di jaringan lokal, biasanya tidak ada masalah, tapi kalau pakai VPN atau jaringan kampus, bisa jadi ada pembatasan.
- Sinkronisasi lambat atau stuck: Kalau folder proyek berisi ribuan file kecil (misalnya node_modules), sinkronisasi pertama bisa lama. Pertimbangkan untuk ignore folder yang tidak perlu di-backup dengan menambahkan pattern di "Ignore Patterns", misalnya
node_modules,.git, ataubuild/. - Konflik file: Kalau kamu edit file yang sama di Termux dan server secara bersamaan, Syncthing akan buat file konflik dengan suffix timestamp. Ini normal. Pilih versi yang benar dan hapus yang konflik. Untuk menghindari ini, pastikan hanya edit di satu tempat atau gunakan Git untuk merge manual.
- Storage server penuh: Syncthing tidak otomatis hapus file lama. Kalau backup menumpuk, kamu perlu manual cleanup atau setup script untuk rotate backup berkala.
Tips Aman dan Etis
Syncthing aman karena data terenkripsi saat transfer (TLS) dan tidak lewat server pihak ketiga. Tapi tetap ada hal yang perlu diperhatikan:
Jangan sync folder yang berisi credential atau API key tanpa enkripsi tambahan. Meskipun Syncthing aman, kalau server lokal kamu tidak diamankan dengan baik (misalnya tidak pakai password atau terbuka ke internet), orang lain bisa akses file backup. Gunakan enkripsi disk atau folder terenkripsi seperti VeraCrypt untuk data sensitif.
Jangan gunakan Syncthing untuk backup file ilegal, bajakan, atau konten yang melanggar hak cipta. Ini bukan tentang Syncthing-nya, tapi tentang tanggung jawab kita sebagai pengguna teknologi. Backup hanya file yang memang milik kita atau punya hak untuk disimpan.
Kalau server lokal kamu accessible dari internet (misalnya pakai port forwarding atau relay server), aktifkan authentication di web interface Syncthing. Jangan biarkan dashboard terbuka tanpa password. Ini mencegah orang lain menambahkan device atau mengubah konfigurasi.
Untuk produktivitas, kombinasikan Syncthing dengan Git. Syncthing untuk backup real-time semua file proyek, Git untuk version control kode yang sudah siap commit. Jadi kamu punya dua layer proteksi: backup otomatis dan history commit yang rapi.
Optimasi untuk Workflow Harian
Setelah setup awal, ada beberapa hal yang bisa bikin workflow lebih smooth. Pertama, gunakan Syncthing-Fork dari F-Droid kalau kamu kerja di Android. Aplikasi ini punya service yang jalan di background tanpa perlu buka Termux terus-menerus. Kedua, setup ignore patterns dengan bijak. Exclude folder yang sering berubah tapi tidak penting, seperti cache, temporary files, atau dependency yang bisa di-download ulang.
Kalau kamu punya beberapa proyek, buat folder terpisah untuk masing-masing di Syncthing. Jangan sync satu folder besar yang isinya campur-campur. Ini bikin management lebih mudah dan kamu bisa pilih proyek mana yang mau di-backup ke server mana.
Untuk monitoring, cek dashboard Syncthing secara berkala. Lihat apakah ada file konflik, error, atau folder yang out of sync. Syncthing cukup reliable, tapi tetap perlu dicek sesekali untuk memastikan backup berjalan lancar.
Kesimpulan
Syncthing adalah solusi backup lokal yang praktis, privat, dan tidak ribet. Cocok untuk developer yang butuh sinkronisasi real-time tanpa bergantung pada cloud atau kuota internet. Setup awalnya memang butuh sedikit effort, tapi setelah jalan, kamu bisa fokus coding tanpa khawatir kehilangan file. Kombinasikan dengan Git untuk version control dan kamu punya sistem backup yang solid. Selamat mencoba, dan semoga workflow kamu jadi lebih aman dan produktif.