SSD Nodes Learn 🎉 VPS vanaf $5.50/mnd
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-08-13

Syncthing of Nextcloud op een VPS: wat is de juiste keuze?

Kies tussen Syncthing en Nextcloud voor uw VPS. Ontdek waarom Syncthing puur peer-to-peer is en Nextcloud een serveroplossing. Let op: geen van beide is een echte backup.

Syncthing versus Nextcloud: het doorslaggevende verschil

De keuze tussen Syncthing en Nextcloud komt neer op één structureel verschil, waaruit alle andere eigenschappen voortvloeien. Syncthing is peer-to-peer. Elk apparaat bevat de volledige map en er is geen sprake van een autoritatieve kopie. Nextcloud is een server. Eén machine beheert de bestanden, gebruikersaccounts fungeren als toegangslaag en clients halen kopieën op.

Daarom biedt Syncthing geen deellinks en geen webweergave voor documenten. Er is geen centrale kopie om te serveren, dus is er niets waar een browser om kan vragen. Nextcloud biedt beide opties, maar vereist daarvoor een PHP-runtime, een databaseserver, een webserver en een reverse proxy voor TLS (transport layer security).

Kies voor Syncthing wanneer alle betrokken apparaten uw eigendom zijn. Kies voor Nextcloud wanneer een browser of een andere persoon toegang tot de bestanden nodig heeft.

Wat de VPS in elk ontwerp daadwerkelijk doet

Een VPS waarop Nextcloud draait, is de opslaglocatie van uw gegevens. Verwijder de lokale kopie op uw laptop en het bestand staat nog steeds op de server, omdat de server altijd de bron was.

Een VPS waarop Syncthing draait, vervult een andere taak: het is een altijd actieve peer. Syncthing verplaatst gegevens rechtstreeks tussen twee apparaten die op hetzelfde moment online zijn. Twee laptops die nooit tegelijkertijd aanstaan, kunnen daarom nooit synchroniseren, hoe lang u ook wacht. Voeg een derde peer toe op een VPS die nooit slaapt en het probleem is opgelost. Laptop A pusht om 09:00 uur, laptop B haalt de gegevens op om 22:00 uur, en de VPS houdt de map daartussen vast.

Dat is een oprecht nuttige rol, en het is een bescheidener claim dan "Dropbox-vervanger". Syncthing zal u nooit een link geven om naar een klant te sturen. Als dat uw vereiste is, stop hier dan en lees in plaats daarvan het overzicht van zelfgehoste Dropbox-alternatieven.

Wat elk pakket kost op een kleine VPS

Syncthing is een enkel Go-binary-bestand. Het luistert op een socket, houdt een index van uw bestanden bij in een lokale database, en dat is de gehele stack. Sinds versie 2.0 is die index SQLite in plaats van LevelDB, dus een upgrade vanaf een 1.x-installatie voert bij de eerste start een eenmalige migratie uit. Bij een grote set mappen kan die migratie lang duren. Laat dit proces voltooien. Er hoeft niets anders geïnstalleerd of gepatcht te worden.

Nextcloud vereist meer. Sinds augustus 2026 ondersteunt Nextcloud 35 PHP 8.3 tot en met 8.5 met MariaDB of PostgreSQL als backend, geserveerd door Apache 2.4 of nginx met php-fpm. De beheerdershandleiding adviseert "minimaal 512MB RAM per proces", en php-fpm draait meerdere worker-processen tegelijkertijd.

Op een 1 GB VPS draait Syncthing comfortabel, terwijl Nextcloud krap is. Dat maakt Nextcloud niet de verkeerde keuze. Het betekent wel een grotere verplichting, waarbij vier componenten actueel gehouden moeten worden in plaats van één. De container-methode in de handleiding voor Nextcloud op een VPS met Docker, TLS en back-ups is de minst pijnlijke manier om die last te dragen. Het toevoegen van documentbewerking in de browser verhoogt die ondergrens nog verder, wat in de vergelijking tussen OnlyOffice en Collabora wordt uitgewerkt voor een machine met 2 tot 4 GB RAM.

Syncthing installeren op de VPS

Ubuntu levert een syncthing-pakket, maar dit loopt ver achter op de upstream-versie. Gebruik de repository van het project zelf.

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 hoort een regel te tonen die begint met syncthing v2. Een v1 daar betekent dat apt nog steeds de voorkeur geeft aan het distributiepakket. Geef de upstream-repository een hogere prioriteit (pinning) en installeer opnieuw.

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

Draai het als een systeemservice onder een gewoon gebruikersaccount, zodat het bij het opstarten wordt geladen zonder dat er iemand is ingelogd.

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

systemctl status hoort active (running) te tonen. Configuratie- en indexbestanden worden opgeslagen in /home/youruser/.local/state/syncthing en het configuratiebestand is config.xml. Installaties van vóór Syncthing 1.27 bewaren deze in ~/.config/syncthing, dus controleer beide paden voordat u bestanden tussen machines kopieert.

Open vervolgens de poorten. Syncthing gebruikt 22000/TCP voor het synchronisatieprotocol, 22000/UDP voor het QUIC-transport en 21027/UDP voor lokale detectie. Detectie maakt gebruik van broadcast en multicast, wat niet over het internet werkt; op een VPS heeft u dus alleen de eerste twee nodig.

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

ufw status hoort beide regels te tonen. Als het Status: inactive toont, filtert ufw niets en is de netwerkfirewall van uw provider de enige actieve firewall. Controleer ook dat configuratiescherm, aangezien dit bij de meeste hosts een afzonderlijke instelling is. Een extern apparaat dat op Disconnected blijft staan terwijl de service draait, betekent meestal dat een van deze twee firewalls nog steeds gesloten is.

Toegang tot de Syncthing GUI zonder deze openbaar te maken

De web-GUI (graphical user interface) luistert standaard op 127.0.0.1:8384, waardoor deze alleen reageert vanaf de server zelf. Deze standaardinstelling is beschermend, omdat de GUI een API-sleutel (application programming interface) bevat waarmee elk mappad op de machine kan worden gewijzigd.

Stel deze in de eerste stap niet open voor de buitenwereld. De documentatie is duidelijk over wat het binden aan een netwerkadres oplevert: "het opgeven van het LAN-adres van uw computer beperkt de toegang NIET tot alleen apparaten op uw lokale netwerk!" Stuur de poort in plaats daarvan door via SSH vanaf uw laptop.

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

Open http://127.0.0.1:8384 in uw lokale browser terwijl die sessie actief is. De tunnel wordt gesloten zodra de SSH-sessie eindigt, waardoor er achteraf niets meer luistert.

Als u de GUI toch direct bereikbaar moet maken, stel dan eerst inloggegevens in. Er is geen browser op de server, dus voer dit uit vanaf de opdrachtregel.

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

De -H is van belang, omdat zonder deze vlag sudo de home-directory van root aanhoudt en u het verkeerde config.xml-bestand bewerkt. Een enkel streepje als wachtwoordwaarde zorgt ervoor dat syncthing generate het wachtwoord leest van de standaardinvoer (stdin), waardoor het niet in uw shell-geschiedenis terechtkomt en de waarde wordt gehasht voordat deze naar het bestand wordt geschreven. Schakel HTTPS in de GUI-instellingen in zodra u kunt inloggen.

Waarom Syncthing uw fouten propageert

De FAQ van Syncthing beantwoordt de back-upvraag zelf: "Syncthing is geen goede back-uptoepassing omdat alle wijzigingen aan uw bestanden (aanpassingen, verwijderingen, enz.) worden doorgevoerd naar al uw apparaten."

Verwijdert u per ongeluk een map op uw laptop, dan werkt Syncthing precies zoals ontworpen. Het verwijdert die map overal, binnen enkele seconden. Synchronisatie betekent overeenstemming, en overeenstemming houdt in dat men het erover eens is dat een bestand weg is.

Bestandsversiebeheer is de oplossing, maar dit staat uit tenzij u het inschakelt. De documentatie stelt dat versiebeheer "standaard op 'geen bestandsversiebeheer' staat, oftewel er worden geen oude kopieën van bestanden bewaard." Er zijn vier strategieën beschikbaar per map. Trash Can bewaart één kopie van elk bestand dat is verwijderd of vervangen door een wijziging op afstand. Simple bewaart een vast aantal oude versies per bestand. Staggered dunt de geschiedenis uit naarmate deze ouder wordt; het bewaart per uur kopieën voor een dag, dagelijkse kopieën voor een maand, enzovoort. External delegeert elke beslissing aan een commando dat u zelf schrijft. Oude kopieën worden geplaatst in een .stversions-map binnen de gedeelde map.

Stel Staggered in op de VPS-peer en laat versiebeheer op de laptops uitgeschakeld. De altijd actieve peer draagt dan de geschiedenis, terwijl de laptops slank blijven.

Nextcloud gaat hier beter mee om, maar is nog steeds geen back-up. Verwijderde bestanden gaan naar een prullenbak en bewerkingen worden bewaard door de Versions-app, maar beide worden automatisch opgeschoond naarmate de schijf vol raakt. Een proces op uw laptop dat bestanden versleutelt, zal die versleutelde versies synchroniseren, waarna de goede kopieën volgens hun eigen schema verdwijnen.

Beide tools hebben een echte back-up nodig als fundament: snapshots die door een afzonderlijk programma worden gemaakt, geschreven naar een locatie waar de sync-client niet bij kan, en die ten minste één keer zijn teruggezet zodat u weet dat het herstel werkt. De vergelijking tussen restic en BorgBackup behandelt welke tool u op de datamap kunt richten.

Hoe conflicten verschillen tussen de twee

Beide tools genereren een conflictbestand wanneer twee zijden hetzelfde bestand wijzigen tussen synchronisaties. Het verschil zit in wie dit bestand ziet.

Syncthing hernoemt de verliezende kopie naar <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext>. De kopie met de oudere wijzigingstijd verliest. Wanneer de tijden identiek zijn, verliest het apparaat met de hogere waarde in de eerste 63 bits van zijn apparaat-ID; dit is willekeurig, maar levert op elke peer hetzelfde resultaat op. Dan volgt het deel waar mensen vaak niet op voorbereid zijn: deze bestanden "worden na creatie als normale bestanden behandeld, waardoor ze tussen apparaten worden verspreid". Elke peer ontvangt de conflictkopie. Het opschonen ervan is één verwijderactie die wordt gesynchroniseerd, maar u zult het bestand eerst op al uw machines zien.

De Nextcloud desktop client schrijft <name> (conflicted copy YYYY-MM-DD HHMMSS).<ext>, bijvoorbeeld mydata (conflicted copy 2018-04-10 093612).txt, en standaard uploadt deze het bestand niet. De handleiding van de client geeft hiervoor de reden: de auteur van de wijziging is de aangewezen persoon om het conflict op te lossen, en het tonen van het conflict aan andere gebruikers zorgt alleen voor verwarring. Stel OWNCLOUD_UPLOAD_CONFLICT_FILES=1 in de omgeving van de client in als u het tegenovergestelde gedrag wenst.

Een Syncthing-conflict is dus een clusterbreed evenement, terwijl een Nextcloud-conflict beperkt blijft tot één desktop.

Maptypes maken Syncthing veiliger op een server

Syncthing kent drie maptypes. Door op de VPS het juiste type te kiezen, voorkomt u een hele categorie incidenten.

  • Send & Receive is de standaardinstelling. Wijzigingen worden in beide richtingen gesynchroniseerd.
  • Send Only negeert alles wat het cluster verstuurt. Gebruik dit wanneer een apparaat alleen gegevens moet publiceren. Wanneer de synchronisatie afwijkt, toont de GUI een rode knop "Override Changes", waarmee de lokale status naar alle andere apparaten wordt gepusht.
  • Receive Only past wijzigingen uit het cluster toe en verstuurt nooit lokale aanpassingen terug. Gebruik dit op een VPS die als archief fungeert. Lokale aanpassingen op de VPS activeren in dat geval een rode knop "Revert Local Changes".

Een Receive Only-map op de VPS met ingeschakelde Staggered versioning levert een versiebeheerde kopie op. Een verwijdering op een laptop wordt nog steeds doorgevoerd, omdat een verwijdering een legitieme wijziging in het cluster is, maar de oude kopie belandt in .stversions in plaats van volledig te verdwijnen.

Welke moet u kiezen

De 7 rijen hieronder behandelen de redenen waarom mensen deze vraag daadwerkelijk stellen.

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

Bekijk de eerste rij. Het gesynchroniseerd houden van twee eigen laptops wijst op Syncthing, en dat is het scenario waarin een VPS zijn waarde bewijst als de peer die nooit slaapt. Elke rij die een browser, een link of een ander persoon betreft, wijst de andere kant op.

Als Nextcloud blijft winnen maar de voetafdruk u zorgen baart, is de vergelijking tussen Seafile en Nextcloud het volgende om te lezen, omdat Seafile het servermodel behoudt met een andere synchronisatie-engine eronder.

Beide draaien op één VPS

Ze sluiten elkaar niet uit. Het gebruik van Syncthing om bestanden tussen uw eigen machines te verplaatsen, terwijl Nextcloud het delen en de agenda's beheert, is een gebruikelijke opzet.

Eén regel als u dit doet: laat Syncthing nooit naar de datamap van Nextcloud wijzen. Nextcloud houdt elk bestand bij in zijn database, dus bestanden die van buitenaf op de schijf verschijnen, blijven onzichtbaar in de webinterface totdat de database is bijgewerkt. Vanuit de installatiemap van Nextcloud:

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

Dat commando toont het aantal bestanden en mappen dat is gescand. Het op een timer draaien van dit commando is een tijdelijke oplossing, geen ontwerpkeuze. Geef elk hulpmiddel zijn eigen map. Als u nog beslist wat er überhaupt op de server moet komen te staan, is de gids over wat u in 2026 zelf kunt hosten een beter startpunt dan eerst een synchronisatietool te kiezen.

FAQ

Kan Syncthing Dropbox vervangen?

Alleen voor het gesynchroniseerd houden van uw eigen apparaten. Syncthing heeft geen publieke deellinks en geen gebruikersaccounts. De webinterface toont nooit de inhoud van bestanden, omdat er geen centrale kopie is die een browser kan opvragen. De officiële Android-app is na de release van december 2024 stopgezet en is verwijderd uit de Play Store; ondersteuning voor telefoons is daarom nu afhankelijk van een community-fork. Als u iemand een link moet sturen, heeft u een server nodig, zoals Nextcloud of een vergelijkbare oplossing.

Is Syncthing een back-up?

Nee, en dat geeft het project zelf ook direct aan. Verwijderingen en wijzigingen worden naar elk apparaat doorgevoerd, waardoor een per ongeluk verwijderd bestand binnen enkele seconden overal weg is. Het inschakelen van bestandsversiebeheer per map, in het bijzonder Staggered op een altijd actieve peer, biedt u een herstelvenster via de map .stversions. Dit is geen vervanging voor snapshots die door een aparte tool op aparte opslag worden gemaakt.

Waarom kan ik mijn bestanden niet zien in de Syncthing web-GUI?

Omdat de GUI een configuratiescherm is voor de synchronisatiestatus, geen bestandsbeheerder. Het toont mappen, apparaten, voortgang van overdrachten en het aantal conflicten, maar het lijst nooit de inhoud van bestanden op en opent deze ook niet. Dit vloeit voort uit het peer-to-peer-ontwerp: uw bestanden staan op uw apparaten en de GUI op de VPS beheert enkel het proces dat ze verplaatst.

Welke poorten moet Syncthing openen op een VPS?

22000/TCP voor het synchronisatieprotocol en 22000/UDP voor het QUIC-transport. Poort 21027/UDP wordt gebruikt voor lokale detectie via broadcast en multicast; dit verkeer gaat niet over het internet, dus laat deze poort gesloten op een publieke server. Laat de GUI op 8384 gebonden aan 127.0.0.1 en benader deze via een SSH-tunnel. Controleer zowel de netwerkfirewall van uw provider als ufw, aangezien dit afzonderlijke instellingen zijn.

Kan ik Syncthing en Nextcloud op dezelfde VPS draaien?

Ja, en dit is goed mogelijk op een server met 2 GB RAM of meer. Houd hun mappen gescheiden. Nextcloud indexeert bestanden in zijn database, waardoor alles wat Syncthing naar de opslag van Nextcloud schrijft onzichtbaar blijft in de webinterface totdat occ files:scan wordt uitgevoerd. Wanneer twee tools naar dezelfde map schrijven, ontstaan er bovendien conflictbestanden waar geen van beide tools op is berekend.