Cara Menggunakan Syncthing untuk Backup Folder Proyek ke Raspberry Pi Lokal
Sebagai developer yang sering bekerja di Termux, kehilangan file proyek karena ponsel rusak atau factory reset adalah mimpi buruk yang nyata. Solusi cloud seperti Google Drive memang praktis, tapi ada kalanya kita butuh kontrol penuh atas data sendiri—terutama untuk proyek yang masih dalam tahap development atau berisi konfigurasi sensitif. Di sinilah Syncthing berperan: aplikasi open-source yang bisa menyinkronkan folder secara otomatis antar perangkat tanpa server pihak ketiga. Artikel ini akan memandu Anda menggunakan Syncthing untuk backup folder proyek dari Termux ke Raspberry Pi lokal, dengan pendekatan yang aman dan praktis.
Mengapa Syncthing untuk Backup Lokal?
Syncthing bekerja peer-to-peer, artinya data Anda tidak melewati server orang lain. Semua sinkronisasi terjadi langsung antara perangkat Anda di jaringan lokal atau internet. Untuk use case backup proyek development, ini memberikan beberapa keuntungan: tidak ada batasan storage dari layanan cloud gratis, sinkronisasi berjalan otomatis di background, dan Anda bisa mengatur versi file untuk recovery jika ada kesalahan. Yang paling penting, setup ini cocok untuk developer yang sudah punya Raspberry Pi menganggur di rumah—mengubahnya menjadi backup server pribadi yang selalu aktif.
Persiapan Awal
Sebelum mulai, pastikan Anda sudah punya: Termux terinstal di Android, Raspberry Pi yang sudah running (OS apa saja, tapi Raspberry Pi OS paling mudah), dan kedua perangkat terhubung ke jaringan WiFi yang sama. Untuk Raspberry Pi, Anda perlu akses SSH atau akses langsung ke terminal. Jika Raspberry Pi Anda belum punya IP statis di router, sebaiknya atur dulu agar tidak berubah-ubah setiap reboot—ini akan memudahkan koneksi nanti.
Langkah Praktis
- Install Syncthing di Termux: Buka Termux dan jalankan
pkg update && pkg install syncthing. Setelah selesai, jalankansyncthinguntuk pertama kali. Syncthing akan membuat konfigurasi default dan menampilkan URL web interface, biasanyahttp://127.0.0.1:8384. Buka URL ini di browser ponsel Anda. - Install Syncthing di Raspberry Pi: SSH ke Raspberry Pi, lalu install dengan
sudo apt update && sudo apt install syncthing. Jalankansyncthingsekali untuk inisialisasi. Untuk akses web interface dari perangkat lain, edit file config di~/.config/syncthing/config.xml, cari baris<address>127.0.0.1:8384</address>dan ubah menjadi<address>0.0.0.0:8384</address>. Restart Syncthing, lalu akses dari browser denganhttp://[IP_RASPBERRY_PI]:8384. - Hubungkan Kedua Perangkat: Di web interface Termux, klik "Actions" → "Show ID" dan salin Device ID. Buka web interface Raspberry Pi, klik "Add Remote Device", paste Device ID tadi, beri nama (misalnya "Termux"), dan simpan. Dalam beberapa detik, Termux akan menerima notifikasi koneksi baru—terima permintaan ini. Sekarang kedua perangkat sudah terhubung.
- Buat Folder untuk Disinkronkan: Di Termux, tentukan folder proyek yang ingin di-backup, misalnya
~/projects. Di web interface Termux, klik "Add Folder", isi Folder Label (misalnya "Projects Backup"), Folder Path dengan/data/data/com.termux/files/home/projects, dan di tab "Sharing" centang perangkat Raspberry Pi. Simpan. - Terima dan Konfigurasi di Raspberry Pi: Web interface Raspberry Pi akan menampilkan notifikasi folder baru. Klik "Add", tentukan lokasi penyimpanan di Raspberry Pi (misalnya
/home/pi/termux-backup), dan di bagian "File Versioning" pilih "Staggered File Versioning" dengan max age 30 hari—ini akan menyimpan versi lama file jika ada perubahan atau penghapusan tidak sengaja. Simpan dan tunggu sinkronisasi pertama selesai. - Jalankan Syncthing Otomatis: Agar Syncthing berjalan setiap kali Termux dibuka, tambahkan
syncthing &ke file~/.bashrcatau buat script startup. Untuk Raspberry Pi, setup sebagai systemd service dengansystemctl --user enable syncthing && systemctl --user start syncthingagar berjalan otomatis saat boot.
Kesalahan yang Sering Terjadi
- Perangkat tidak terdeteksi: Pastikan kedua perangkat di jaringan yang sama dan tidak ada firewall yang memblokir port 22000 (default Syncthing). Jika menggunakan mobile data atau jaringan berbeda, Anda perlu setup relay server atau port forwarding—tapi untuk backup lokal, sebaiknya tetap di WiFi rumah.
- Sinkronisasi lambat atau stuck: Cek apakah folder yang disinkronkan terlalu besar atau berisi ribuan file kecil (seperti node_modules). Syncthing lebih efisien untuk file berukuran sedang. Pertimbangkan untuk mengecualikan folder dependency dengan menambahkan pattern di "Ignore Patterns", misalnya
node_modules,__pycache__, atau.git. - Konflik file: Jika Anda mengedit file yang sama di kedua perangkat sebelum sinkronisasi selesai, Syncthing akan membuat file konflik dengan suffix
.sync-conflict. Ini normal—review manual file mana yang benar, lalu hapus yang konflik. - Raspberry Pi mati mendadak: Jika Pi sering mati karena listrik tidak stabil, gunakan UPS kecil atau power bank yang support pass-through charging. Syncthing cukup tangguh terhadap shutdown mendadak, tapi filesystem corruption tetap bisa terjadi jika sering.
Tips Aman dan Etis
Jangan sinkronkan folder yang berisi credential mentah seperti .env dengan API key production atau private key SSH tanpa enkripsi tambahan. Meskipun Syncthing mengenkripsi transfer data, file di storage tetap plain text. Jika proyek Anda berisi secret, gunakan tools seperti git-crypt atau ansible-vault sebelum disinkronkan. Untuk proyek open-source atau personal, setup ini sudah cukup aman karena tidak ada data yang keluar dari jaringan lokal Anda.
Aktifkan autentikasi di web interface Syncthing, terutama jika Raspberry Pi bisa diakses dari luar jaringan lokal. Di Settings → GUI, set username dan password. Ini mencegah orang lain di jaringan yang sama mengubah konfigurasi Syncthing Anda.
Jangan gunakan setup ini untuk menyebarkan malware, menyimpan konten ilegal, atau mem-bypass sistem keamanan orang lain. Syncthing adalah tool produktivitas—gunakan untuk backup data Anda sendiri, bukan untuk aktivitas yang merugikan pihak lain.
Pengalaman Praktis dari Lapangan
Setelah menggunakan setup ini selama beberapa bulan, ada beberapa hal yang saya pelajari: pertama, ignore pattern sangat penting. Folder node_modules dengan 20 ribu file kecil bisa membuat sinkronisasi pertama memakan waktu berjam-jam. Kedua, file versioning benar-benar menyelamatkan saat saya tidak sengaja menghapus file config penting—cukup masuk ke folder .stversions di Raspberry Pi dan restore versi sebelumnya. Ketiga, Syncthing sangat hemat resource—Raspberry Pi Zero W saya hanya menggunakan 50-70 MB RAM untuk menangani 5 GB proyek. Yang terakhir, sinkronisasi incremental sangat cepat: setelah setup awal, perubahan kecil di file langsung tersinkron dalam hitungan detik.
Kesimpulan
Syncthing memberikan solusi backup yang praktis, aman, dan tidak bergantung pada layanan cloud pihak ketiga. Dengan Raspberry Pi sebagai backup server lokal, Anda punya kontrol penuh atas data proyek dan bisa recovery dengan cepat jika terjadi masalah. Setup ini cocok untuk developer yang bekerja di Termux dan ingin punya safety net tanpa biaya bulanan. Yang terpenting, sistem ini berjalan otomatis di background—Anda tinggal fokus coding, backup berjalan sendiri. Selamat mencoba, dan jangan lupa test recovery process sesekali untuk memastikan backup Anda benar-benar berfungsi saat dibutuhkan.