SSD Nodes Learn 🎉 VPS mula $5.50/buwan
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-13

Syncthing vs Nextcloud: Alin ang Tama sa VPS?

Peer-to-peer ang Syncthing at walang server copy; server-based naman ang Nextcloud na may accounts at links. Alamin kung alin ang bagay sa VPS mo, at bakit hindi backup ang alinman.

Syncthing vs Nextcloud: ang pagkakaibang nagpapasya

Ang Syncthing vs Nextcloud ay nakabatay sa isang pangunahing structural difference, at dito nagmumula ang lahat ng iba pang pagkakaiba. Peer-to-peer ang Syncthing. Hawak ng bawat device ang buong folder, at walang copy na itinuturing na authoritative. Server ang Nextcloud. Hawak ng isang machine ang mga file, may user accounts na kumokontrol sa access, at kumukuha ang mga client ng sarili nilang copies.

Kaya walang share link ang Syncthing at walang web view ng iyong mga document. Walang central copy na maaaring ihatid, kaya walang hihingin ang browser. Pareho itong iniaalok ng Nextcloud, ngunit kailangan nito ng PHP runtime, database server, web server, at reverse proxy para sa TLS (transport layer security).

Piliin ang Syncthing kapag pagmamay-ari mo ang bawat device na kasali. Piliin ang Nextcloud kapag kailangang ma-access ng browser o ng ibang tao ang mga file.

Ang aktuwal na ginagawa ng VPS sa bawat disenyo

Ang VPS na nagpapatakbo ng Nextcloud ang tahanan ng iyong data. Kapag dinelete mo ang local copy sa iyong laptop, nasa server pa rin ang file dahil ang server naman talaga ang orihinal na pinagmulan nito.

Iba ang trabaho ng VPS na nagpapatakbo ng Syncthing: isa itong peer na palaging online. Direktang naglilipat ng data ang Syncthing sa pagitan ng dalawang device na online nang sabay. Kaya hindi kailanman magsi-sync ang dalawang laptop na hindi kailanman sabay na naka-on, gaano ka man katagal maghintay. Magdagdag ng ikatlong peer sa isang VPS na hindi natutulog, at mawawala ang problemang ito. Magtutulak ang Laptop A ng data sa 09:00, hihilahin ito ng Laptop B sa 22:00, at pananatilihin ng VPS ang folder habang naghihintay.

Tunay na kapaki-pakinabang ang papel na ito, at mas maliit ang ipinapangako nito kaysa sa “kapalit ng Dropbox.” Hindi kailanman bibigyan ng Syncthing ng link na maaari mong ipadala sa client. Kung iyon ang kailangan mo, dito ka na tumigil at basahin ang paghahambing ng mga self-hosted na alternatibo sa Dropbox.

Magkano ang gastos ng bawat isa sa maliit na VPS

Isang Go binary lamang ang Syncthing. Nakikinig ito sa isang socket, nag-iingat ng index ng iyong mga file sa isang local database, at iyon na ang buong stack. Mula sa version 2.0, SQLite na ang ginagamit sa index sa halip na LevelDB. Kaya kapag nag-upgrade mula sa 1.x install, magsasagawa ito ng one-time migration sa unang launch. Sa malaking set ng mga folder, maaaring matagal ang migration na ito. Hintayin itong matapos. Wala nang ibang kailangang i-install o i-patch.

Mas marami ang kailangan ng Nextcloud. Noong August 2026, sinusuportahan ng Nextcloud 35 ang PHP 8.3 hanggang 8.5, kasama ang MariaDB o PostgreSQL bilang backend, at inihahatid sa pamamagitan ng Apache 2.4 o nginx na may php-fpm. Inirerekomenda ng admin manual ang "minimum na 512MB RAM bawat process", at sabay-sabay na nagpapatakbo ang php-fpm ng ilang worker process.

Sa 1 GB VPS, komportable ang Syncthing ngunit kapos ang Nextcloud. Hindi ibig sabihin nito na maling sagot ang Nextcloud. Mas malaking commitment lamang ito, dahil apat na component ang kailangang panatilihing updated sa halip na isa. Ang container route sa guide sa Nextcloud sa VPS na sumasaklaw sa Docker, TLS at backups ang pinakamadaling paraan upang pamahalaan ang dagdag na load na ito. Kapag nagdagdag ng browser based document editing, tataas pa ang minimum na resource requirement. Iyan ang tinatalakay sa paghahambing ng OnlyOffice at Collabora para sa 2 hanggang 4 GB na machine.

Mag-install ng Syncthing sa VPS

May syncthing package ang Ubuntu, pero malayo ang bersyon nito sa upstream. Gamitin ang sariling repository ng project.

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

Dapat mag-print ang syncthing --version ng linyang nagsisimula sa syncthing v2. Ang v1 doon ay nangangahulugang mas pinili pa rin ng apt ang package mula sa distribution. I-pin ang upstream repository nang mas mataas dito at mag-install muli.

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

Patakbuhin ito bilang system service sa ilalim ng ordinaryong user account, para awtomatiko itong magsimula sa boot kahit walang naka-login.

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

Dapat mag-print ang systemctl status ng active (running). Napupunta ang configuration at index files sa /home/youruser/.local/state/syncthing, at ang config file ay config.xml. Para sa mga installation na ginawa bago ang Syncthing 1.27, nasa ~/.config/syncthing pa rin ang mga ito. Suriin ang parehong path bago ka magkopya ng anuman sa pagitan ng mga machine.

Pagkatapos, buksan ang mga port. Ginagamit ng Syncthing ang 22000/TCP para sa sync protocol, 22000/UDP para sa QUIC transport nito, at 21027/UDP para sa local discovery. Gumagamit ang discovery ng broadcast at multicast, na hindi tumatawid sa internet. Kaya sa VPS, kailangan mo lamang ang unang dalawang port.

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

Dapat ilista ng ufw status ang parehong rule. Kung mag-print ito ng Status: inactive, walang fina-filter ang ufw at ang network firewall ng provider ang tanging aktibong firewall. Suriin din ang panel na iyon dahil hiwalay itong control sa karamihan ng host. Kung nananatili sa Disconnected ang isang remote device habang tumatakbo ang service, karaniwang nangangahulugan ito na sarado pa rin ang isa sa dalawang firewall.

Ma-access ang Syncthing GUI nang hindi ito ipinapublish

Ang web GUI (graphical user interface) ay nakikinig sa 127.0.0.1:8384 bilang default, kaya tumutugon lamang ito mula sa server mismo. Protective ang default na ito dahil may dala ang GUI na API (application programming interface) key na maaaring magbago ng path ng bawat folder sa server.

Huwag muna itong buksan sa buong internet. Malinaw ang dokumentasyon tungkol sa limitasyon ng pag-bind sa isang network address: "hindi lilimitahan ng pagtukoy sa LAN address ng iyong computer ang access sa mga device lamang sa iyong local network!" Sa halip, i-forward ang port sa SSH mula sa iyong laptop.

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

Buksan ang http://127.0.0.1:8384 sa local browser habang aktibo ang session na iyon. Nagsasara ang tunnel kapag isinara ang SSH session, kaya walang naiiwang nakikinig na service pagkatapos.

Kung kailangan mong direktang ma-access ang GUI, magtakda muna ng credentials. Walang browser sa server, kaya gawin ito mula sa 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

Mahalaga ang -H dahil kung wala ito, ginagamit ng sudo ang home directory ng root at maling config.xml ang mae-edit mo. Kapag single dash ang value ng password, binabasa ng syncthing generate ang password mula sa standard input. Dahil dito, hindi ito napupunta sa shell history, at hina-hash muna ang value bago isulat sa file. I-on ang HTTPS sa GUI settings kapag nakapag-login ka na.

Bakit ipinapasa ng Syncthing ang iyong mga pagkakamali

Sinasagot mismo ng Syncthing FAQ ang tanong tungkol sa backup: “Hindi magandang backup application ang Syncthing dahil ang lahat ng pagbabago sa iyong mga file (mga modification, deletion, at iba pa) ay ipapasa sa lahat ng iyong device.”

Kung hindi mo sinasadyang mag-delete ng folder sa laptop, gagana ang Syncthing ayon sa disenyo nito. Ide-delete nito ang folder na iyon sa lahat ng device, sa loob ng ilang segundo. Ang sync ay nangangahulugang pagkakasundo, at kasama rito ang pagkakasundong wala na ang isang file.

Ang file versioning ang paraan para mabawasan ang epekto nito, pero naka-off ito maliban kung io-on mo. Nakasaad sa documentation na ang versioning ay “default na ‘no file versioning,’ ibig sabihin, walang lumang kopya ng mga file na itinatago.” May 4 na strategy na maaaring piliin para sa bawat folder. Pinananatili ng Trash Can ang isang kopya ng bawat file na na-delete o napalitan dahil sa remote change. Pinananatili ng Simple ang itinakdang bilang ng mga lumang version para sa bawat file. Pinapanipis ng Staggered ang history habang tumatagal ito; nag-iingat ito ng hourly copies sa loob ng isang araw, daily copies sa loob ng isang buwan, at iba pa. Iniaasa ng External ang bawat desisyon sa isang command na ikaw ang susulat. Napupunta ang mga lumang kopya sa isang .stversions directory sa loob ng shared folder.

Itakda ang Staggered sa VPS peer at panatilihing naka-off ang versioning sa mga laptop. Sa ganitong paraan, ang always-on peer ang mag-iingat ng history, habang nananatiling maliit ang storage footprint ng mga laptop.

Mas mahusay itong hinahandle ng Nextcloud, pero hindi pa rin ito backup. Napupunta sa trash bin ang mga na-delete na file, at iniingatan ng Versions app ang mga edit, pero awtomatikong binabawasan ang dalawang ito habang napupuno ang disk. Kung may process sa laptop mo na nag-e-encrypt ng mga file, isi-sync nito ang mga encrypted version, at awtomatikong mawawala ang magagandang kopya ayon sa sarili nitong schedule.

Kailangan pa rin ng alinmang tool ng tunay na backup sa ilalim nito: mga snapshot na kinukuha ng hiwalay na program, isinusulat sa lokasyong hindi maaabot ng sync client, at nire-restore kahit isang beses para matiyak mong gumagana ang restore. Tinutukoy ng Paghahambing ng restic at BorgBackup kung alin ang dapat ituro sa data directory.

Paano nagkakaiba ang mga conflict sa dalawang tool

Gumagawa ang dalawang tool ng conflict file kapag binago ng dalawang panig ang parehong file sa pagitan ng mga sync. Ang nagkakaiba ay kung sino ang makakakita nito.

Pinapalitan ng Syncthing ang pangalan ng kopyang natalo at ginagawa itong <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext>. Natatalo ang kopyang mas luma ang modification time. Kapag magkapareho ang oras, natatalo ang device na may mas malaking value sa unang 63 bits ng device ID nito. Arbitraryo ang panuntunang ito, pero pareho ang resulta sa lahat ng peer. Dito nagugulat ang maraming user: “tinuturing ang mga file na ito bilang normal na file pagkatapos gawin, kaya ipinapasa ang mga ito sa pagitan ng mga device.” Natatanggap ng bawat peer ang conflict copy. Kapag dinelete mo ito, isang deletion lang ang isi-sync palabas, pero makikita mo muna ito sa lahat ng machine mo.

Isinusulat ng Nextcloud desktop client ang <name> (conflicted copy YYYY-MM-DD HHMMSS).<ext>, halimbawa mydata (conflicted copy 2018-04-10 093612).txt, at bilang default ay hindi nito ina-upload ang file na iyon. Ipinaliliwanag ng client manual ang dahilan: ang taong gumawa ng pagbabago ang pinakamainam na mag-resolve nito, at ang pagpapakita ng conflict sa ibang user ay nagdudulot lamang ng kalituhan. Itakda ang OWNCLOUD_UPLOAD_CONFLICT_FILES=1 sa environment ng client kung gusto mo ng kabaligtarang behavior.

Kaya ang conflict sa Syncthing ay isang event na saklaw ang buong cluster, samantalang ang conflict sa Nextcloud ay nananatili sa isang desktop.

Ginagawang mas ligtas ng mga uri ng folder ang Syncthing sa server

May tatlong uri ng folder ang Syncthing. Ang pagpili ng tamang uri sa VPS ay nakapipigil sa isang buong klase ng aksidente.

  • Ang Send & Receive ang default. Gumagalaw ang mga pagbabago sa parehong direksiyon.
  • Binabalewala ng Send Only ang lahat ng ipinapadala ng cluster. Gamitin ito kapag dapat publish lamang ang ginagawa ng isang device. Kapag hindi na ito naka-sync, nagpapakita ang GUI ng pulang button na "Override Changes", na nagtutulak sa local state papunta sa lahat.
  • Inilalapat ng Receive Only ang mga pagbabago mula sa cluster at hindi kailanman ipinapadala pabalik ang mga local edit. Gamitin ito sa VPS na nagsisilbing archive. Kapag may local edit doon, sa halip ay lumilitaw ang pulang button na "Revert Local Changes".

Ang Receive Only folder sa VPS na naka-enable ang Staggered versioning ay nagbibigay ng versioned mirror. Nalalapat pa rin ang deletion sa laptop, dahil lehitimong pagbabago ng cluster ang deletion. Gayunman, napupunta ang lumang kopya sa .stversions sa halip na tuluyang mawala.

Alin ang dapat mong piliin

Saklaw ng 7 row sa ibaba ang mga aktuwal na dahilan kung bakit itinatanong ng mga tao ang tanong na ito.

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."
  }
]

Tingnan ang unang row. Ang pag-sync ng dalawa sa sarili mong laptop ay tumutukoy sa Syncthing, at ito ang sitwasyong kapaki-pakinabang ang VPS bilang peer na hindi natutulog. Ang bawat row na may browser, link, o ibang tao ay tumutukoy sa kabilang opsyon.

Kung patuloy na nangunguna ang Nextcloud pero nag-aalala ka sa resource footprint nito, basahin ang paghahambing ng Seafile at Nextcloud, dahil nananatili sa Seafile ang server model ngunit iba ang sync engine nito.

Paggamit ng pareho sa isang VPS

Hindi kailangang pumili ng isa lamang. Karaniwang setup ang paggamit ng Syncthing para maglipat ng mga file sa pagitan ng sarili mong mga machine, habang Nextcloud naman ang humahawak sa sharing at mga calendar.

May isang mahalagang rule: huwag kailanman ituro ang Syncthing sa data directory ng Nextcloud. Itinatala ng Nextcloud ang bawat file sa database nito, kaya mananatiling hindi makikita sa web interface ang mga file na lumitaw sa disk mula sa labas hanggang sa ma-update ang database. Mula sa installation directory ng Nextcloud:

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

Ipinapakita ng command na iyon ang bilang ng mga file at folder na na-scan nito. Ang regular na pagpapatakbo nito gamit ang timer ay workaround lamang, hindi tamang design. Bigyan ang bawat tool ng sarili nitong directory. Kung pinagpapasiyahan mo pa kung ano talaga ang dapat ilagay sa server, mas magandang panimulang punto ang gabay kung ano ang dapat i-self-host sa 2026 kaysa pumili muna ng sync tool.

FAQ

Maaari bang palitan ng Syncthing ang Dropbox?

Para lamang sa bahagi kung saan nananatiling naka-sync ang sarili mong mga device. Walang public share links at user accounts ang Syncthing, at hindi kailanman ipinapakita ng web interface nito ang mga file content dahil walang central copy na maaaring hilingin ng browser. Itinigil ang official Android app matapos ang release nito noong December 2024 at inalis na ito sa Play Store, kaya nakadepende na ngayon ang phone support sa isang community fork. Kung kailangan mong magpadala sa isang tao ng link, kailangan mo ng server, na nangangahulugang Nextcloud o katulad nito.

Backup ba ang Syncthing?

Hindi, at malinaw itong sinasabi ng project. Ipinapasa ang mga deletion at modification sa bawat device, kaya mawawala saanman ang aksidenteng deletion sa loob ng ilang segundo. Kapag in-on ang file versioning para sa bawat folder, lalo na ang Staggered sa isang always-on peer, magkakaroon ka ng recovery window sa pamamagitan ng .stversions directory. Hindi ito kapalit ng snapshots na kinukuha ng hiwalay na tool papunta sa hiwalay na storage.

Bakit hindi ko makita ang mga file ko sa Syncthing web GUI?

Dahil control panel ang GUI para sa sync state, hindi file browser. Ipinapakita nito ang mga folder, device, transfer progress, at conflict count, at hindi nito kailanman inililista o binubuksan ang file content. Bunga ito ng peer-to-peer design: nasa sarili mong mga device ang mga file mo, at ang GUI sa VPS ang namamahala lamang sa prosesong naglilipat-lipat sa mga ito.

Anong mga port ang kailangang buksan ng Syncthing sa isang VPS?

22000/TCP para sa sync protocol at 22000/UDP para sa QUIC transport. Ang port 21027/UDP ay nagdadala ng local discovery sa pamamagitan ng broadcast at multicast, na hindi dumadaan sa internet, kaya panatilihin itong sarado sa public server. Panatilihing naka-bind ang GUI sa 8384 sa 127.0.0.1 at i-access ito sa pamamagitan ng SSH tunnel. Suriin din ang network firewall ng provider mo pati ang ufw dahil magkahiwalay na control ang mga ito.

Maaari ko bang patakbuhin ang Syncthing at Nextcloud sa iisang VPS?

Oo, at makatwiran ito sa isang server na may 2 GB RAM o higit pa. Panatilihing magkahiwalay ang kanilang mga directory. Ini-index ng Nextcloud ang mga file sa database nito, kaya mananatiling hindi nakikita sa web interface ang anumang isinusulat ng Syncthing sa storage ng Nextcloud hanggang sa tumakbo ang occ files:scan. Ang dalawang tool na nagsusulat sa iisang directory ay lumilikha rin ng mga conflict file na hindi inaasahan ng alinman sa mga ito.