Tropic Host

Syncthing: apa itu dan cara menyiapkan sinkronisasi file di VPS

6 min dibaca
Tropic
Syncthing: apa itu dan cara menyiapkan sinkronisasi file di VPS

Syncthing: menyinkronkan file antarperangkat tanpa cloud milik pihak lain

Pagi hari Anda mengedit dokumen di laptop lalu mematikannya. Sore hari, saat membuka komputer di rumah, versi terbaru sudah tersedia. File tersebut tidak pernah melewati Google Drive atau Dropbox: file diterima oleh node Syncthing milik Anda sendiri.

Syncthing menyinkronkan folder yang dipilih secara langsung antarperangkat tepercaya, sementara Anda tetap mengendalikan tempat data disimpan. Server pusat bersifat opsional.

Namun, jika dua komputer jarang online secara bersamaan, pertukaran perubahan menjadi sulit. VPS yang selalu aktif mengatasi masalah ini: VPS menerima file dari satu perangkat dan meneruskannya ke perangkat lain nanti.

Penting untuk memahami tujuan Syncthing. Syncthing bukan drive jaringan atau pengelola file berbasis browser, melainkan alat untuk mereplikasi folder yang dipilih secara otomatis.

Syncthing dalam lima langkah

Penyiapan minimalnya adalah sebagai berikut:

  1. Pasang Syncthing di komputer yang diperlukan.
  2. Jalankan instans Syncthing lain di VPS.
  3. Buka dasbor server melalui tunnel SSH.
  4. Tukarkan pengenal perangkat dan setujui koneksinya.
  5. Tambahkan folder bersama, pilih mode sinkronisasi, dan aktifkan pembuatan versi file.

Apa itu Syncthing dan bagaimana cara kerjanya

Syncthing adalah perangkat lunak sumber terbuka dan gratis untuk sinkronisasi file berkelanjutan. Syncthing berjalan di Windows, macOS, Linux, serta sistem operasi desktop dan server lainnya.

Setiap instalasi menerima Device ID unik, yaitu pengenal kriptografis. Sebelum dua node dapat bertukar data, Anda harus menambahkannya satu sama lain dan memberikan akses secara eksplisit ke folder tertentu. Tidak ada satu akun Syncthing yang menyimpan perangkat dan file Anda.

Saat file berubah, Syncthing membaginya menjadi beberapa blok, membandingkan checksum, dan hanya mengirimkan bagian yang belum ada. Akibatnya, perubahan kecil di dalam file besar tidak selalu memerlukan pengiriman ulang seluruh file.

Layanan discovery membantu perangkat menemukan satu sama lain, tetapi tidak menyimpan file. Jika koneksi langsung tidak memungkinkan, lalu lintas terenkripsi dapat melewati relay yang lebih lambat.

Apa yang berubah ketika menggunakan VPS

Tanpa server, laptop dapat menyinkronkan file langsung dengan komputer rumah, tetapi kedua perangkat harus online pada waktu yang sama, meskipun hanya sebentar. VPS mengubah penyiapan menjadi titik pertukaran yang selalu tersedia.

Misalnya, laptop mengunggah proyek ke server pada pagi hari lalu dimatikan. Sore harinya, komputer rumah mengunduh versi baru dari VPS.

Syncthing cocok untuk dokumen, catatan Obsidian, source code, foto, dan folder keluarga. Cache, node_modules, dan hasil build sebaiknya dikecualikan menggunakan .stignore. Database aktif dan image mesin virtual tidak boleh disinkronkan.

VPS juga membuat salinan data Anda di luar rumah. Namun, salinan tersebut baru menjadi cadangan yang benar jika digabungkan dengan versioning dan arsip cadangan terpisah: penghapusan tidak sengaja juga dapat menyebar ke setiap perangkat.

Syncthing atau Nextcloud: mana yang harus dipilih?

Kedua alat ini sering dibandingkan, meskipun menyelesaikan masalah yang berbeda.

KriteriaSyncthingNextcloud
ModelFolder disalin antarperangkatFile disimpan di server pusat
Perlu serverTidak, VPS bersifat opsionalYa
Akses file berbasis browserTidak ada drive web dengan fitur lengkapYa
Tautan publikTidakYa
Pengeditan kolaboratifTidak tersediaDapat ditambahkan
Kasus penggunaan terbaikMenjaga folder yang sama di perangkat milik sendiriCloud pribadi atau tim

Pilih Syncthing untuk sinkronisasi latar belakang yang tidak mengganggu. Pilih Nextcloud ketika Anda membutuhkan akses web, tautan yang dapat dibagikan, akun pengguna, kalender, dan fitur kolaborasi.

Cara memasang Syncthing di VPS dengan Docker Compose

Langkah berikut ditujukan untuk VPS yang menjalankan Ubuntu 24.04. Dasbor akan tetap terikat pada alamat lokal server, dan Anda akan terhubung melalui tunnel SSH.

1. Pasang Docker

sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker

2. Buat direktori dan file Compose

sudo mkdir -p /opt/syncthing/data
sudo chown -R 1000:1000 /opt/syncthing/data
cd /opt/syncthing
sudo nano compose.yaml

Tempelkan konfigurasi berikut:

services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    hostname: syncthing-vps
    environment:
      - PUID=1000
      - PGID=1000
      - STGUIADDRESS=
    volumes:
      - ./data:/var/syncthing
    network_mode: host
    restart: unless-stopped

Konfigurasi ini menggunakan image Syncthing resmi. Mode jaringan host memudahkan koneksi langsung, sedangkan nilai STGUIADDRESS yang kosong menjaga dasbor tetap berada di 127.0.0.1:8384.

Jalankan container:

sudo docker compose up -d
sudo docker compose ps

3. Izinkan koneksi sinkronisasi

Pertama, izinkan SSH agar Anda tidak terkunci dari server:

sudo ufw allow OpenSSH
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw enable

22000/TCP digunakan oleh protokol sinkronisasi utama, sedangkan 22000/UDP digunakan untuk QUIC. Anda tidak perlu membuka port dasbor 8384. Port discovery lokal 21027/UDP biasanya tidak diperlukan di VPS publik.

4. Buka dasbor melalui SSH

Jalankan perintah berikut di komputer Anda:

ssh -L 9999:127.0.0.1:8384 root@SERVER_IP

Biarkan terminal tetap terbuka dan kunjungi:

http://127.0.0.1:9999

Setelah membuka dasbor, buka Actions → Settings → GUI lalu tetapkan nama pengguna dan kata sandi. Jika nantinya ingin mengakses dasbor melalui domain, tempatkan dasbor di balik reverse proxy HTTPS dan tetap aktifkan autentikasi.

5. Tambahkan perangkat dan folder

Pasang Syncthing di komputer Anda, lalu:

  1. Di komputer dan VPS, pilih Actions → Show ID.
  2. Tambahkan Device ID setiap node ke perangkat lainnya.
  3. Di komputer, klik Add Folder, pilih direktori, dan bagikan dengan server.
  4. Di VPS, terima folder tersebut dan pilih jalur seperti /var/syncthing/Files.

Biarkan Send & Receive aktif di komputer untuk sinkronisasi dua arah. Di VPS, Receive Only sering kali lebih nyaman: server tetap menerima dan meneruskan perubahan antar-node, tetapi perubahan lokal tidak sengaja yang dibuat langsung di VPS tidak akan menyebar ke seluruh jaringan.

Mengapa Syncthing tidak menggantikan cadangan

Jika file dihapus atau dienkripsi pada satu perangkat, perubahan tersebut dapat menyebar ke perangkat lain. Karena itu, buka pengaturan folder di VPS dan aktifkan File Versioning.

Pilihan praktisnya adalah Staggered File Versioning dengan masa penyimpanan 30–90 hari. Ketika node jarak jauh mengganti atau menghapus file, versi sebelumnya dipindahkan ke .stversions. Salinan lama menghabiskan ruang disk, jadi tetapkan batas masa penyimpanan.

Penyiapan yang andal memiliki tiga lapisan:

  1. Syncthing menjaga salinan kerja tetap terbaru.
  2. Versioning membantu membatalkan sebagian kesalahan.
  3. Cadangan terjadwal terpisah disimpan secara independen dari Syncthing.

Bisakah VPS menyimpan file tanpa melihat isinya?

Syncthing memiliki mode perangkat tidak tepercaya. Anda menetapkan kata sandi folder di komputer utama dan memilih Receive Encrypted di VPS. Server menyimpan data terenkripsi dan dapat meneruskannya ke perangkat tepercaya lain yang menggunakan kata sandi sama.

Isi, nama file, stempel waktu, dan struktur direktori disembunyikan. Informasi tentang folder bersama dan perkiraan ukuran file tetap terlihat.

Pengembang masih menganggap fitur ini eksperimental. Simpan kata sandi dan Folder ID secara terpisah: tanpa keduanya, pemulihan folder terenkripsi mungkin tidak dapat dilakukan.

VPS seperti apa yang dibutuhkan Syncthing?

Penggunaan sumber daya tidak hanya bergantung pada jumlah data, tetapi juga jumlah file, seberapa sering file berubah, dan proses pengindeksan awal. Untuk node pribadi dengan dokumen dan data beberapa puluh gigabyte, konfigurasi awal biasanya sudah cukup:

  • 1 vCPU;
  • RAM 1 GB;
  • penyimpanan SSD atau NVMe;
  • ruang disk yang cukup untuk file dan .stversions;
  • koneksi jaringan yang stabil.

Pustaka foto berukuran besar atau ratusan ribu file memerlukan lebih banyak sumber daya. Beban tertinggi biasanya terjadi saat pemindaian pertama dan perhitungan checksum.

VPS Ubuntu dasar dari tropic.host cocok untuk tugas ini. Anda dapat memulai dengan konfigurasi kecil dan menambah sumber daya seiring koleksi bertumbuh. Saat memilih kapasitas disk, perhitungkan bukan hanya folder saat ini, tetapi juga file mendatang, data sementara, dan riwayat versi.

Lima kesalahan yang harus dihindari

  • Membuka port 8384 ke seluruh internet. Gunakan tunnel SSH untuk penyiapan. Untuk akses web permanen, gunakan HTTPS, kata sandi, dan reverse proxy.
  • Menganggap salinan server sebagai cadangan lengkap. Aktifkan versioning dan buat arsip cadangan terpisah.
  • Menyinkronkan cache dan dependensi. Kecualikan direktori yang tidak diperlukan dengan .stignore.
  • Mengabaikan penggunaan disk. Direktori .stversions dapat tumbuh secara signifikan seiring waktu.
  • Membiarkan perangkat yang hilang tetap tepercaya. Hapus perangkat tersebut dari node lain dan lindungi konfigurasi Syncthing yang berisi kunci perangkat.

Yang perlu diketahui tentang smartphone

Aplikasi Android resmi dihentikan pada akhir 2024, tetapi klien komunitas tersedia. Tidak ada klien iOS resmi: pembatasan eksekusi di latar belakang membuat sinkronisasi berkelanjutan sulit dilakukan. Sebelum menghubungkan pustaka foto utama, uji aplikasi seluler yang dipilih dengan folder kecil.

Kesimpulan

Syncthing cocok bagi siapa saja yang ingin memiliki folder yang sama di beberapa perangkat tanpa bergantung pada perantara cloud wajib. VPS membuat sistem lebih nyaman: komputer tidak lagi harus online bersamaan, dan Anda mendapatkan salinan yang selalu tersedia di luar rumah.

Untuk penyiapan yang aman, jangan membuka dasbor administrasi secara langsung, aktifkan versioning, dan lengkapi sinkronisasi dengan cadangan independen.

FAQ

Apakah saya memerlukan VPS untuk Syncthing?

Tidak. Perangkat dapat menyinkronkan data secara langsung. VPS berfungsi sebagai node yang selalu aktif dan memungkinkan perangkat bertukar perubahan pada waktu yang berbeda.

Bisakah saya membuka file Syncthing di browser?

Dasbor web ditujukan untuk konfigurasi, bukan untuk menjelajahi dokumen seperti di Google Drive. Nextcloud lebih cocok jika Anda membutuhkan drive web.

Apakah Syncthing merupakan solusi cadangan?

Tidak. Penghapusan dan kerusakan dapat menyebar ke perangkat lain. Versioning membantu, tetapi tidak menggantikan cadangan independen.

Apakah port 8384 perlu dibuka?

Tidak. Pertahankan dasbor di 127.0.0.1:8384 dan hubungkan melalui tunnel SSH. Buka 22000/TCP dan 22000/UDP untuk sinkronisasi.

Bisakah pemilik VPS membaca file?

Dengan penyiapan standar, secara potensial bisa. Receive Encrypted menyimpannya dalam bentuk terenkripsi, tetapi fitur ini masih dianggap eksperimental dan mengharuskan Anda menyimpan kata sandi serta Folder ID dengan aman.