Ada satu kebiasaan kecil yang mengubah cara saya bekerja: semua file penting ada di dua tempat, dan saya tidak perlu mengingat mana yang terbaru. Bukan karena saya rajin, tapi karena Syncthing melakukannya di belakang layar sementara saya mengetik.

Syncthing menyinkronkan folder antar perangkat secara langsung. Tidak ada server pusat, tidak ada kuota, tidak ada tagihan per gigabyte. Dua laptop, satu ponsel, dan satu server kecil bisa saling bertukar perubahan dalam hitungan detik ketika berada di jaringan yang sama.
Yang membuat saya bertahan bukan fiturnya, tapi batasannya. Syncthing bukan Google Drive, dan justru karena itu saya percaya. Tidak ada AI yang membaca dokumen, tidak ada indeks pencarian, dan tidak ada perusahaan yang tiba-tiba mengubah kebijakan.
Pasang: Docker atau paket resmi
Di Ubuntu, repository resmi Syncthing sudah cukup baru:
sudo apt update
sudo apt install syncthing -y
sudo systemctl enable --now syncthing@$USER
Kalau lebih suka container:
services:
syncthing:
image: syncthing/syncthing:1
container_name: syncthing
hostname: homeserver
environment:
- PUID=1000
- PGID=1000
volumes:
- ./config:/var/syncthing/config
- /srv/data:/data
ports:
- "8384:8384"
- "22000:22000/tcp"
- "22000:22000/udp"
- "21027:21027/udp"
restart: unless-stopped
Buka http://IP-SERVER:8384. Pertama kali, Syncthing akan meminta Anda memberi nama perangkat dan—ini penting—menyetel password untuk antarmuka web. Tanpa password, siapa pun di jaringan yang sama bisa mengubah konfigurasi sinkronisasi Anda.
Tiga port, tiga fungsi
| Port | Dipakai untuk |
|---|---|
| 8384 | Antarmuka web. Jangan pernah dibuka ke internet langsung. |
| 22000 TCP/UDP | Transfer data antar perangkat. |
| 21027 UDP | Penemuan perangkat di jaringan lokal. |
Kalau semua perangkat ada di rumah yang sama, Anda cukup membuka 22000 di firewall lokal. Untuk perangkat di luar rumah, Syncthing memakai relay publik secara otomatis — lambat, tapi biasanya tetap jalan. Cara yang lebih baik: pasang VPN seperti WireGuard atau Tailscale, lalu biarkan Syncthing berbicara lewat jaringan privat itu.
Menambahkan perangkat dan folder
Alurnya sederhana, tapi urutannya penting:
- Di perangkat A, buka Actions → Show ID. Salin device ID.
- Di perangkat B, klik Add Remote Device, tempel ID tersebut, beri nama.
- Setujui permintaan di perangkat A. Kedua perangkat harus saling menyetujui — ini yang mencegah orang asing menambahkan dirinya.
- Di perangkat A, tambahkan folder, lalu di tab Sharing centang perangkat B.
- Di perangkat B, setujui folder yang masuk dan tentukan lokasinya.
Jangan menyalin folder secara manual sebelum sinkronisasi dimulai. Itu terlihat membantu, tapi justru membuat Syncthing mengira ada dua versi berbeda dan memunculkan konflik.
Versioning: pengaman dari salah hapus
Ini fitur yang paling sering dilewatkan dan paling sering dibutuhkan. Aktifkan File Versioning dengan mode Staggered atau Simple. Ketika file berubah atau terhapus, versi lama disimpan sementara di folder .stversions.
Bagi saya, ini menyelamatkan satu naskah yang terhapus karena saya mengira folder lain sudah jadi cadangan. Syncthing menyinkronkan penghapusan juga — itu perilaku yang benar, bukan bug.
Karena itu, satu aturan yang saya pegang: sinkronisasi bukan backup. Kalau satu file rusak di satu perangkat, kerusakan itu ikut tersebar. Backup tetap harus punya versi yang tidak ikut berubah, disimpan di tempat lain — misalnya snapshot ZFS atau backup terjadwal.
Mengabaikan file yang tidak perlu
Folder proyek penuh node_modules dan .venv. Menyinkronkan semuanya membuang bandwidth dan membuat indeks lambat. Buat file .stignore di akar folder:
// .stignore
node_modules
.venv
__pycache__
*.tmp
.DS_Store
Perubahan pada .stignore langsung berlaku, tapi file yang sudah tersinkron tidak otomatis terhapus di perangkat lain. Bersihkan manual kalau perlu.
Keamanan yang masuk akal
- Jangan ekspos 8384 ke internet. Kalau butuh akses jauh, pakai VPN atau reverse proxy dengan autentikasi.
- Setel password GUI sejak awal. Syncthing tidak memasangnya untuk Anda.
- Pahami arti device ID. ID itu adalah kunci publik; membagikannya tidak berbahaya, tapi tetap hanya berikan ke perangkat yang Anda percaya.
- Batasi folder yang dibagikan. Jangan bagikan folder home penuh ke ponsel. Buat folder khusus.
Masalah yang sering muncul
- Status "Relay only". Kedua perangkat tidak bisa saling menghubungi langsung. Biasanya firewall atau NAT. Transfer tetap jalan, hanya lambat.
- Folder ditandai "Unshared". Perangkat lain belum menyetujui folder, atau folder lokal sudah berisi file yang berbeda.
- Konflik
.sync-conflict. Dua perangkat mengubah file yang sama saat tidak terhubung. Buka kedua versi, gabungkan manual — jangan asal pilih yang terbaru. - Permission denied. Container berjalan dengan UID berbeda dari pemilik folder. Samakan PUID/PGID.
- Baterai ponsel terkuras. Matikan sinkronisasi otomatis untuk folder besar saat memakai data seluler.
Pertanyaan yang sering muncul
Apakah file saya lewat server orang lain?
Hanya kalau kedua perangkat tidak bisa terhubung langsung dan Anda membiarkan relay aktif. Transfer tetap terenkripsi end-to-end; relay tidak bisa membaca isinya. Untuk memastikan tidak ada relay, matikan opsi relay di pengaturan.
Bisa menggantikan Nextcloud?
Untuk sinkronisasi file, sering kali ya. Tapi Nextcloud punya kalender, kontak, dan berbagi lewat tautan. Syncthing tidak punya konsep "bagikan file ke orang lain lewat URL" — dan itu memang di luar tujuannya.
Berapa perangkat yang bisa disinkronkan?
Banyak. Batas praktisnya adalah kapasitas server dan kesabaran Anda saat memecahkan konflik, bukan angka teknis.
Sumber
Baca juga:
0 comments:
Post a Comment