SSD Nodes Learn 🎉 VPS mulai $5.50/bln
Panduan Matt ConnorOleh Matt Connor · Diperbarui 2026-08-13

Syncthing vs Nextcloud untuk Sinkronisasi File di VPS

Syncthing menyimpan file di setiap perangkat tanpa salinan server. Nextcloud memakai server, akun, dan tautan. Pilih sesuai kebutuhan, tetapi keduanya bukan cadangan.

Syncthing vs Nextcloud: perbedaan yang menentukan

Syncthing vs Nextcloud ditentukan oleh satu perbedaan struktural, dan semua hal lainnya mengikuti perbedaan tersebut. Syncthing bersifat peer-to-peer. Setiap perangkat menyimpan seluruh folder, dan tidak ada satu salinan pun yang menjadi sumber utama. Nextcloud adalah server. Satu mesin menyimpan file, akun pengguna berada di depannya, dan klien mengunduh salinan file tersebut.

Itulah sebabnya Syncthing tidak memiliki share link dan tampilan web untuk dokumen Anda. Tidak ada salinan terpusat yang dapat disajikan, sehingga tidak ada yang dapat diminta oleh browser. Nextcloud menyediakan keduanya. Untuk itu, Nextcloud memerlukan runtime PHP, server database, server web, dan reverse proxy untuk TLS (transport layer security).

Pilih Syncthing jika semua perangkat yang terlibat adalah milik Anda. Pilih Nextcloud jika file perlu diakses melalui browser atau oleh orang lain.

Apa yang sebenarnya dilakukan VPS dalam setiap desain

VPS yang menjalankan Nextcloud menjadi tempat penyimpanan data Anda. Hapus salinan lokal pada laptop, dan file tersebut tetap ada di server karena server sejak awal merupakan salinan asli.

VPS yang menjalankan Syncthing memiliki fungsi berbeda: VPS tersebut menjadi peer yang selalu aktif. Syncthing mentransfer data secara langsung antara dua perangkat yang sedang online pada saat yang sama. Karena itu, dua laptop yang tidak pernah menyala secara bersamaan tidak akan pernah dapat melakukan sinkronisasi, selama apa pun Anda menunggu. Tambahkan peer ketiga pada VPS yang tidak pernah tidur, dan masalah tersebut selesai. Laptop A mengirimkan data pada 09:00, laptop B mengambilnya pada 22:00, dan VPS menyimpan folder tersebut di antaranya.

Ini merupakan fungsi yang benar-benar berguna, dan klaimnya lebih terbatas daripada "pengganti Dropbox". Syncthing tidak akan pernah memberikan tautan yang dapat Anda kirim kepada klien. Jika itu adalah kebutuhan Anda, berhenti di sini dan baca rangkuman alternatif Dropbox yang di-host sendiri sebagai gantinya.

Biaya masing-masing pada VPS kecil

Syncthing adalah satu binary Go. Syncthing mendengarkan pada socket, menyimpan indeks file dalam database lokal, dan seluruh stack-nya hanya itu. Sejak versi 2.0, indeks tersebut menggunakan SQLite, bukan LevelDB. Karena itu, upgrade dari instalasi 1.x menjalankan migrasi satu kali saat peluncuran pertama. Pada kumpulan folder yang besar, migrasi ini dapat memerlukan waktu lama. Biarkan proses tersebut selesai. Tidak ada komponen lain yang perlu diinstal dan tidak ada komponen lain yang perlu ditambal.

Nextcloud memerlukan lebih banyak komponen. Per Agustus 2026, Nextcloud 35 mendukung PHP 8.3 hingga 8.5 dengan MariaDB atau PostgreSQL di belakangnya, yang dilayani oleh Apache 2.4 atau nginx dengan php-fpm. Panduan administrator merekomendasikan "minimum 512MB RAM per process", dan php-fpm menjalankan beberapa proses worker secara bersamaan.

Pada VPS 1 GB, Syncthing berjalan dengan nyaman, sedangkan Nextcloud memiliki ruang yang terbatas. Hal itu tidak berarti Nextcloud adalah pilihan yang keliru. Nextcloud hanya memerlukan komitmen yang lebih besar, dengan empat komponen yang harus selalu diperbarui, bukan satu. Pendekatan container dalam panduan Nextcloud pada VPS yang membahas Docker, TLS, dan pencadangan adalah cara yang paling mudah untuk menangani beban tersebut. Menambahkan pengeditan dokumen berbasis browser akan meningkatkan kebutuhan minimum itu lagi. Hal inilah yang dibahas dalam perbandingan OnlyOffice dan Collabora untuk server dengan RAM 2 hingga 4 GB.

Instal Syncthing pada VPS

Ubuntu menyediakan paket syncthing, tetapi versinya jauh tertinggal dari upstream. Gunakan repositori milik proyek tersebut.

sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing
syncthing --version

syncthing --version harus menampilkan baris yang diawali dengan syncthing v2. Jika terdapat v1, berarti apt masih memilih paket dari distribusi. Tetapkan prioritas repositori upstream di atasnya, lalu lakukan instalasi kembali.

printf "Package: *\nPin: origin apt.syncthing.net\nPin-Priority: 990\n" | sudo tee /etc/apt/preferences.d/syncthing.pref

Jalankan Syncthing sebagai system service di bawah akun pengguna biasa agar service tersebut start saat boot meskipun tidak ada pengguna yang login.

sudo systemctl enable --now syncthing@youruser.service
systemctl status syncthing@youruser.service

systemctl status harus menampilkan active (running). File konfigurasi dan indeks disimpan di /home/youruser/.local/state/syncthing, sedangkan file konfigurasinya adalah config.xml. Instalasi yang dibuat sebelum Syncthing 1.27 menyimpan file tersebut di ~/.config/syncthing. Oleh karena itu, periksa kedua path sebelum menyalin apa pun antarmesin.

Selanjutnya, buka port yang diperlukan. Syncthing menggunakan 22000/TCP untuk protokol sinkronisasi, 22000/UDP untuk transport QUIC, dan 21027/UDP untuk discovery lokal. Discovery menggunakan broadcast dan multicast, yang tidak melewati Internet. Jadi, pada VPS Anda hanya memerlukan dua port pertama.

sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw status

ufw status harus mencantumkan kedua aturan tersebut. Jika menampilkan Status: inactive, berarti ufw tidak memfilter trafik apa pun dan hanya firewall jaringan dari provider Anda yang aktif. Periksa panel tersebut juga karena pada sebagian besar host, firewall itu merupakan kontrol yang terpisah. Perangkat remote yang berhenti pada Disconnected saat service sedang berjalan biasanya menunjukkan bahwa salah satu dari kedua firewall tersebut masih tertutup.

Akses GUI Syncthing tanpa mempublikasikannya

GUI web (antarmuka pengguna grafis) mendengarkan pada 127.0.0.1:8384 secara default, sehingga hanya merespons dari server itu sendiri. Default ini bersifat protektif karena GUI membawa kunci API (antarmuka pemrograman aplikasi) yang dapat mengubah setiap path folder pada server.

Jangan membukanya ke publik sebagai langkah pertama. Dokumentasi menjelaskan secara langsung manfaat mengikat layanan ke alamat jaringan: "menentukan alamat LAN komputer Anda TIDAK akan membatasi akses hanya ke perangkat di jaringan lokal Anda!" Sebagai gantinya, teruskan port melalui SSH dari laptop Anda.

ssh -L 8384:127.0.0.1:8384 youruser@your.vps.example

Buka http://127.0.0.1:8384 pada browser lokal Anda selama sesi tersebut masih aktif. Tunnel ditutup bersama sesi SSH, sehingga tidak ada proses yang tetap mendengarkan setelahnya.

Jika GUI memang perlu dapat diakses secara langsung, tetapkan kredensial terlebih dahulu. Server tidak memiliki browser, jadi lakukan dari command line.

sudo systemctl stop syncthing@youruser.service
sudo -H -u youruser syncthing generate --gui-user=admin --gui-password=-
sudo systemctl start syncthing@youruser.service

-H penting karena tanpa opsi tersebut, sudo tetap menggunakan home directory milik root dan Anda mengedit config.xml yang salah. Tanda hubung tunggal sebagai nilai kata sandi membuat syncthing generate membaca kata sandi dari standard input. Dengan demikian, kata sandi tidak tercatat dalam shell history, dan nilainya di-hash sebelum ditulis ke file. Aktifkan HTTPS pada pengaturan GUI setelah Anda dapat login.

Mengapa Syncthing menyebarkan kesalahan Anda

FAQ Syncthing menjawab pertanyaan tentang pencadangan itu sendiri: "Syncthing bukan aplikasi pencadangan yang baik karena semua perubahan pada file Anda (modifikasi, penghapusan, dan sebagainya) akan disebarkan ke semua perangkat Anda."

Jika Anda tidak sengaja menghapus folder di laptop, Syncthing bekerja tepat sesuai desainnya. Syncthing menghapus folder tersebut di mana-mana dalam hitungan detik. Sinkronisasi berarti kesesuaian, termasuk kesesuaian bahwa sebuah file sudah tidak ada.

Versioning file adalah mitigasinya, dan fitur ini nonaktif kecuali Anda mengaktifkannya. Dokumentasi menyatakan bahwa versioning "secara default adalah 'tanpa versioning file', yaitu tidak ada salinan lama file yang disimpan." Empat strategi tersedia untuk setiap folder. Trash Can menyimpan satu salinan setiap file yang dihapus atau diganti akibat perubahan dari perangkat remote. Simple menyimpan sejumlah versi lama untuk setiap file. Staggered mengurangi riwayat secara bertahap seiring bertambahnya usia, dengan menyimpan salinan per jam selama satu hari, salinan harian selama satu bulan, dan seterusnya. External menyerahkan setiap keputusan kepada command yang Anda tulis. Salinan lama disimpan di direktori .stversions di dalam shared folder.

Atur Staggered pada peer VPS dan biarkan laptop tanpa versioning. Dengan demikian, peer yang selalu aktif menyimpan riwayat, sedangkan laptop tetap ringan.

Nextcloud menangani hal ini dengan lebih baik, tetapi tetap bukan pencadangan. File yang dihapus dipindahkan ke trash bin dan perubahan disimpan oleh aplikasi Versions, tetapi keduanya dipangkas secara otomatis saat disk mulai penuh. Proses pada laptop yang mengenkripsi file akan menyinkronkan versi terenkripsi tersebut, lalu salinan yang benar akan terhapus secara otomatis sesuai jadwalnya.

Kedua tool tetap memerlukan pencadangan yang sebenarnya di bawahnya: snapshot yang dibuat oleh program terpisah, ditulis ke lokasi yang tidak dapat dijangkau oleh sync client, lalu dipulihkan setidaknya satu kali agar Anda mengetahui bahwa proses pemulihan berfungsi. Perbandingan restic dan BorgBackup membahas tool yang sebaiknya diarahkan ke direktori data.

Perbedaan penanganan konflik oleh keduanya

Kedua alat membuat file konflik ketika kedua sisi mengubah file yang sama di antara proses sinkronisasi. Perbedaannya adalah pihak yang melihat file tersebut.

Syncthing mengganti nama salinan yang kalah menjadi <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext>. Salinan dengan waktu modifikasi yang lebih lama dinyatakan kalah. Jika waktunya sama, perangkat dengan nilai yang lebih besar pada 63 bit pertama ID perangkat dinyatakan kalah. Mekanisme ini bersifat arbitrer, tetapi menghasilkan keputusan yang sama pada setiap peer. Setelah itu, ada hal yang sering tidak diperkirakan: file tersebut “diperlakukan sebagai file biasa setelah dibuat, sehingga disebarkan ke semua perangkat”. Setiap peer menerima salinan konflik. Menghapusnya hanya memerlukan satu penghapusan yang kemudian disinkronkan, tetapi file tersebut akan muncul terlebih dahulu di semua mesin Anda.

Klien desktop Nextcloud menulis <name> (conflicted copy YYYY-MM-DD HHMMSS).<ext>, misalnya mydata (conflicted copy 2018-04-10 093612).txt, dan secara default tidak mengunggah file tersebut. Manual klien menjelaskan alasannya: pembuat perubahan adalah pihak yang paling tepat untuk menyelesaikan konflik, sedangkan menampilkan konflik kepada pengguna lain hanya menimbulkan kebingungan. Tetapkan OWNCLOUD_UPLOAD_CONFLICT_FILES=1 di environment klien jika Anda menginginkan perilaku sebaliknya.

Dengan demikian, konflik Syncthing merupakan peristiwa di seluruh cluster, sedangkan konflik Nextcloud hanya tetap berada pada satu desktop.

Jenis folder membuat Syncthing lebih aman di server

Syncthing memiliki tiga jenis folder. Memilih jenis yang tepat pada VPS menghilangkan banyak risiko kesalahan.

  • Send & Receive adalah default. Perubahan diterapkan ke kedua arah.
  • Send Only mengabaikan semua data yang dikirim cluster. Gunakan jenis ini jika perangkat hanya boleh memublikasikan data. Saat perangkat tidak lagi sinkron, GUI menampilkan tombol merah "Override Changes" yang mendorong status lokal ke semua perangkat.
  • Receive Only menerapkan perubahan dari cluster dan tidak pernah mengirim kembali perubahan lokal. Gunakan jenis ini pada VPS yang berfungsi sebagai arsip. Perubahan lokal di sana akan menampilkan tombol merah "Revert Local Changes".

Folder Receive Only pada VPS dengan Staggered versioning yang diaktifkan menyediakan mirror berversi. Penghapusan pada laptop tetap diterapkan karena penghapusan merupakan perubahan cluster yang sah. Namun, salinan lama dipindahkan ke .stversions, bukan langsung dihapus.

Mana yang sebaiknya dipilih

ChartWhich tool fits which job
The data behind this chart
[
  {
    "label": "Keep two of my own laptops in sync",
    "pick": "Syncthing",
    "notes": "No accounts to manage. The VPS is the peer that is always awake."
  },
  {
    "label": "Send a download link to a client",
    "pick": "Nextcloud",
    "notes": "Syncthing has no public link sharing at all."
  },
  {
    "label": "Open a file from a borrowed browser",
    "pick": "Nextcloud",
    "notes": "The Syncthing GUI shows sync state, never file contents."
  },
  {
    "label": "Sync 200 GB between machines I own",
    "pick": "Syncthing",
    "notes": "Peers transfer directly. The VPS copy is optional."
  },
  {
    "label": "Phone photo upload with a store app",
    "pick": "Nextcloud",
    "notes": "The official Syncthing Android app ended in December 2024."
  },
  {
    "label": "Calendar and contacts alongside files",
    "pick": "Nextcloud",
    "notes": "Syncthing syncs files. That is the entire feature set."
  },
  {
    "label": "1 GB VPS with nothing else to spare",
    "pick": "Syncthing",
    "notes": "One Go binary against PHP plus a database plus a web server."
  }
]

Lihat baris pertama. Menyinkronkan dua laptop milik Anda mengarah pada Syncthing, dan dalam kasus ini VPS berperan sebagai peer yang selalu aktif. Setiap baris yang melibatkan browser, tautan, atau orang lain mengarah ke pilihan sebaliknya.

Jika Nextcloud terus menjadi pilihan utama tetapi jejak sumber dayanya mengkhawatirkan, perbandingan Seafile dan Nextcloud adalah bacaan berikutnya, karena Seafile tetap menggunakan model server dengan mesin sinkronisasi yang berbeda.

Menjalankan keduanya pada satu VPS

Keduanya tidak saling eksklusif. Menggunakan Syncthing untuk memindahkan file antar-mesin milik Anda, sementara Nextcloud menangani berbagi file dan kalender, merupakan konfigurasi yang umum.

Jika Anda menggunakan keduanya, ikuti satu aturan: jangan pernah mengarahkan Syncthing ke direktori data Nextcloud. Nextcloud mencatat setiap file dalam databasenya. Karena itu, file yang muncul di disk dari luar akan tetap tidak terlihat di antarmuka web sampai database diperbarui. Dari direktori instalasi Nextcloud, jalankan:

sudo -u www-data php occ files:scan --all

Perintah tersebut menampilkan jumlah file dan folder yang dipindai. Menjalankannya secara berkala dengan timer adalah solusi sementara, bukan desain yang baik. Gunakan direktori terpisah untuk setiap alat. Jika Anda masih menentukan data apa yang layak dijalankan di server tersebut, panduan tentang hal yang layak di-self-host pada 2026 merupakan titik awal yang lebih baik daripada memilih alat sinkronisasi terlebih dahulu.

FAQ

Dapatkah Syncthing menggantikan Dropbox?

Hanya untuk bagian ketika perangkat Anda sendiri tetap tersinkronisasi. Syncthing tidak memiliki tautan berbagi publik dan akun pengguna. Antarmuka web-nya juga tidak pernah menampilkan isi file, karena tidak ada salinan terpusat yang dapat diminta oleh browser. Aplikasi Android resmi dihentikan setelah rilis Desember 2024 dan sudah tidak tersedia di Play Store, sehingga dukungan untuk ponsel kini bergantung pada fork komunitas. Jika Anda perlu mengirimkan tautan kepada seseorang, Anda memerlukan server, yaitu Nextcloud atau layanan serupa.

Apakah Syncthing merupakan backup?

Tidak, dan proyek tersebut menyatakannya secara langsung. Penghapusan dan perubahan diteruskan ke setiap perangkat, sehingga penghapusan yang tidak disengaja hilang di semua perangkat dalam hitungan detik. Mengaktifkan versioning file per folder, terutama Staggered pada peer yang selalu aktif, memberi Anda jendela pemulihan melalui direktori .stversions. Fitur ini bukan pengganti snapshot yang dibuat oleh alat terpisah pada storage terpisah.

Mengapa saya tidak dapat melihat file saya di GUI web Syncthing?

Karena GUI tersebut adalah panel kontrol untuk status sinkronisasi, bukan file browser. GUI menampilkan folder, perangkat, progres transfer, dan jumlah konflik. GUI tidak pernah mencantumkan atau membuka isi file. Hal ini merupakan konsekuensi dari desain peer to peer: file Anda berada pada perangkat Anda, sedangkan GUI pada VPS hanya mengelola proses pemindahannya.

Port apa yang perlu dibuka Syncthing pada VPS?

22000/TCP untuk protokol sinkronisasi dan 22000/UDP untuk transport QUIC. Port 21027/UDP membawa local discovery melalui broadcast dan multicast. Trafik tersebut tidak melintasi Internet, jadi biarkan port itu tertutup pada server publik. Biarkan GUI pada port 8384 terikat ke 127.0.0.1 dan akses melalui SSH tunnel. Periksa network firewall provider Anda serta ufw, karena keduanya merupakan kontrol yang terpisah.

Dapatkah saya menjalankan Syncthing dan Nextcloud pada VPS yang sama?

Ya. Hal ini wajar pada server dengan RAM 2 GB atau lebih. Pisahkan direktori keduanya. Nextcloud mengindeks file dalam databasenya, sehingga file apa pun yang ditulis Syncthing ke storage Nextcloud tetap tidak terlihat di antarmuka web sampai occ files:scan dijalankan. Dua alat yang menulis ke satu direktori juga menghasilkan file konflik yang tidak diharapkan oleh keduanya.