Syncthing vs Nextcloud: Which One Fit Your VPS?
Syncthing syncs complete folders peer to peer, while Nextcloud keeps the server copy with accounts and links. See which fit your VPS, and why neither be backup.
Syncthing vs Nextcloud: the difference wey decide am
Syncthing vs Nextcloud dey come down to one main structural difference, and everything else follow from there. Syncthing na peer to peer. Every device get the complete folder, and no copy be the authoritative one. Nextcloud na server. One machine hold the files, user accounts dey in front of dem, and clients pull copies come down.
Na why Syncthing no get share link and no web view for your documents. No central copy dey wey fit serve dem, so browser no get anything to request. Nextcloud get both, but e need PHP runtime, database server, web server, and reverse proxy for TLS (transport layer security) to do am.
Choose Syncthing when every device wey dey involved belong to you. Choose Nextcloud when browser or another person need access to the files.
Wetin the VPS dey actually do for each design
VPS wey dey run Nextcloud na where your data dey live. If you delete the local copy for your laptop, the file still dey for server, because na server always be the original copy.
VPS wey dey run Syncthing dey do different work: e be peer wey dey always online. Syncthing dey transfer data directly between two devices wey dey online at the same time. If two laptops no ever power on together, dem no fit sync, no matter how long you wait. Add third peer for VPS wey no dey sleep, and the problem go disappear. Laptop A go push at 09:00, laptop B go pull at 22:00, and VPS go hold the folder for the meantime.
This na genuinely useful role, and the claim no big like "Dropbox replacement". Syncthing no go ever give you link wey you fit send to client. If na this you need, stop here and read roundup of self-hosted Dropbox alternatives instead.
Wetin each one dey cost for small VPS
Syncthing na one Go binary. E dey listen on socket, keep index of your files for local database, and na that be the whole stack. Since version 2.0, that index don change to SQLite from LevelDB, so if you dey upgrade from 1.x installation, e go run one-time migration when e launch first time. For plenty folders, that migration fit take long time. Make e finish. You no need install anything else, and you no need patch anything else.
Nextcloud need more things. As of August 2026, Nextcloud 35 support PHP 8.3 reach 8.5, with MariaDB or PostgreSQL behind am, and Apache 2.4 or nginx with php-fpm dey serve am. The admin manual recommend "a minimum of 512MB RAM per process", and php-fpm dey run several worker processes at the same time.
For 1 GB VPS, Syncthing dey comfortable, but Nextcloud tight. That no mean say Nextcloud na wrong answer. E mean say na bigger commitment, because you get four components to keep current instead of one. The container method for the Nextcloud on a VPS guide wey cover Docker, TLS and backups na the least painful way to manage that load. If you add browser-based document editing, the minimum requirement go rise again. Na this the OnlyOffice and Collabora comparison dey explain for 2 to 4 GB box.
Install Syncthing for VPS
Ubuntu dey ship syncthing package, but e far behind upstream version. Use the project own repository.
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 --versionsyncthing --version suppose print line wey start with syncthing v2. If e show v1 there, e mean say apt still prefer the distribution package. Pin the upstream repository make e rank above am, then install again.
printf "Package: *\nPin: origin apt.syncthing.net\nPin-Priority: 990\n" | sudo tee /etc/apt/preferences.d/syncthing.prefRun am as system service under ordinary user account, so e go start during boot even when nobody login.
sudo systemctl enable --now syncthing@youruser.service
systemctl status syncthing@youruser.servicesystemctl status suppose print active (running). Configuration and index files go enter /home/youruser/.local/state/syncthing, and config file na config.xml. Installs wey dem create before Syncthing 1.27 still keep dem for ~/.config/syncthing, so check both paths before you copy anything between machines.
Then open the ports. Syncthing dey use 22000/TCP for sync protocol, 22000/UDP for e QUIC transport, and 21027/UDP for local discovery. Discovery dey use broadcast and multicast, and dem no fit cross internet, so for VPS you only need the first two.
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw statusufw status suppose list both rules. If e print Status: inactive, ufw no dey filter anything and na your provider network firewall be the only one wey dey work. Check that panel too, because for most hosts na separate control. If remote device dey stuck at Disconnected while the service dey run, e usually mean say one of those two firewalls still closed.
Reach Syncthing GUI without publishing am
The web GUI (graphical user interface) dey listen on 127.0.0.1:8384 by default, so na only from the server itself e dey answer. This default dey protect you, because the GUI carry API (application programming interface) key wey fit rewrite every folder path for the machine.
No open am to everybody as first step. The documentation talk am clearly: "specifying your computer's LAN address will NOT restrict access to only devices on your local network!" Instead, forward the port over SSH from your laptop.
ssh -L 8384:127.0.0.1:8384 youruser@your.vps.exampleOpen http://127.0.0.1:8384 for your local browser while that session still dey up. The tunnel go close together with the SSH session, so nothing go remain listening afterwards.
If you really need make people reach the GUI directly, set credentials first. Server no get browser, so do am from command line.
sudo systemctl stop syncthing@youruser.service
sudo -H -u youruser syncthing generate --gui-user=admin --gui-password=-
sudo systemctl start syncthing@youruser.serviceThe -H matter, because without am sudo go keep root's home directory and you go edit the wrong config.xml. Single dash as the password value make syncthing generate read the password from standard input. This one keep the password comot from your shell history, and the value go hash before dem write am to the file. Turn on HTTPS for the GUI settings once you fit log in.
Why Syncthing dey spread your mistakes
The Syncthing FAQ answer the backup question by itself: "Syncthing no be a strong backup application because all changes to your files (modifications, deletions, etc.) go reach all your devices."
If you delete folder by mistake for your laptop, Syncthing go work exactly as dem design am. E go delete that folder everywhere within seconds. Sync mean agreement, and agreement include agreeing say file don disappear.
File versioning na the mitigation, but e dey off unless you turn am on. The documentation talk say versioning "defaults to 'no file versioning', i.e. no old copies of files are kept." Four strategies dey available for each folder. Trash Can keep one copy of every file wey remote change delete or replace. Simple keep a set number of old versions for each file. Staggered reduce the history as e dey old, keeping hourly copies for one day, daily copies for one month, and so on. External hand each decision over to command wey you write. Old copies go inside a .stversions directory inside the shared folder.
Set Staggered for the VPS peer, and leave versioning off for the laptops. The peer wey dey always on go carry the history, while the laptops remain lean.
Nextcloud handle this better, but e still no be backup. Deleted files go trash bin, and the Versions app keep edits, but both go trim automatically as disk space dey finish. If process for your laptop encrypt files, e go sync those encrypted versions, and the good copies go expire according to their own schedule.
Either tool need real backup underneath: snapshots wey separate program take, write somewhere the sync client no fit reach, and restore at least once so you go know say the restore dey work. The restic and BorgBackup comparison explain which one to point at the data directory.
How conflicts different for the two tools
Both tools dey create conflict file when two sides change the same file between syncs. The difference na who go see am.
Syncthing dey rename the copy wey lose to <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext>. The copy with the older modification time na the loser. If the times match, the device wey get the bigger value for the first 63 bits of its device ID na the loser. E arbitrary, but every peer go get the same result. Then na the part wey people no dey expect: after dem create those files, dem “dey treat am like normal files, so dem dey propagate between devices”. Every peer go receive the conflict copy. To clean am up, na one deletion wey go sync out, but you go first see am for all your machines.
The Nextcloud desktop client dey write <name> (conflicted copy YYYY-MM-DD HHMMSS).<ext>, for example mydata (conflicted copy 2018-04-10 093612).txt, and by default e no dey upload that file. The client manual explain say the person wey make the change na the best person to resolve am. Showing the conflict to other users only dey cause confusion. Set OWNCLOUD_UPLOAD_CONFLICT_FILES=1 for the client environment if you want the opposite behaviour.
So, Syncthing conflict na cluster-wide event, while Nextcloud conflict dey remain for one desktop.
Folder type dey make Syncthing safer for server
Syncthing get three folder types, and if you choose the correct one for VPS, e fit prevent plenty accidental changes.
- Send & Receive na the default. Changes dey move for both directions.
- Send Only no dey mind anything wey cluster send. Use am where device suppose only publish data. When e stop dey sync, GUI go show red "Override Changes" button. This button go push the local state go everybody.
- Receive Only dey apply changes from cluster, but e no dey send local edits back. Use am for VPS wey dey act as archive. If person edit files locally, red "Revert Local Changes" button go show instead.
Receive Only folder for VPS, with Staggered versioning switched on, go give you versioned mirror. Deletion for laptop go still apply, because deletion na valid cluster change. But the old copy go enter .stversions instead of disappearing.
Which one you suppose pick
The 7 rows below cover the reasons people actually dey ask this question.
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."
}
]Look the first row. To keep two laptops wey belong to you in sync point to Syncthing, and na this case VPS dey prove say e useful as the peer wey never dey sleep. Every row wey involve browser, link, or another person point the other way.
If Nextcloud keep winning but you dey worry about how much resources e dey use, the Seafile and Nextcloud comparison na the next thing to read, because Seafile keep the server model but use different sync engine underneath.
Dem fit run together for one VPS
Dem no exclude each other. You fit use Syncthing move files between your own machines, while Nextcloud handle sharing and calendars. Na common arrangement be this.
If you do am, follow one rule: never point Syncthing to Nextcloud data directory. Nextcloud dey track every file for database, so files wey enter disk from outside go remain invisible for web interface until database catch up. From Nextcloud installation directory:
sudo -u www-data php occ files:scan --allThat command go print the number of files and folders wey e scan. If you run am on timer, na workaround be that, no be proper design. Give each tool its own directory. If you never decide wetin suppose dey the box at all, the guide about wetin to self-host for 2026 better starting point pass choosing sync tool first.
FAQ
Syncthing fit replace Dropbox?
Only for the part wey your own devices dey stay in sync. Syncthing no get public share links and no get user accounts, and its web interface no dey show file contents, because no central copy dey wey browser fit request. The official Android app stop after its December 2024 release and e don comot from Play Store, so phone support now depend on community fork. If you need send person a link, you need server, which mean Nextcloud or something similar.
Syncthing na backup?
No, and the project talk am directly. Deletions and modifications dey propagate go every device, so accidental deletion go disappear everywhere within seconds. If you switch on file versioning per folder, especially Staggered for always-on peer, you go get recovery window through the .stversions directory. E no replace snapshots wey separate tool take for separate storage.
Why I no fit see my files for Syncthing web GUI?
Because GUI na control panel for sync state, no be file browser. E dey show folders, devices, transfer progress and conflict counts, and e no dey list or open file contents. Na peer to peer design cause this: your files dey your devices, while GUI for VPS only dey manage the process wey dey move dem around.
Which ports Syncthing need make I open for VPS?
22000/TCP for sync protocol and 22000/UDP for QUIC transport. Port 21027/UDP carry local discovery through broadcast and multicast, and this one no dey cross internet, so leave am closed for public server. Leave GUI for 8384 bound to 127.0.0.1 and reach am through SSH tunnel. Check your provider network firewall as well as ufw, because dem be separate controls.
I fit run Syncthing and Nextcloud for the same VPS?
Yes, and e make sense for box wey get 2 GB of RAM or more. Keep their directories separate. Nextcloud dey index files for its database, so anything Syncthing write into Nextcloud storage go remain invisible for web interface until occ files:scan run. If two tools dey write to one directory, dem go also produce conflict files wey neither tool expect.