Syncthing oder Nextcloud auf dem VPS: Was passt?
Syncthing verteilt Dateien peer-to-peer ohne Serverkopie. Nextcloud bietet Konten, Webzugriff und Links. Erfahren Sie, was zum VPS passt und warum beides kein Backup ist.
Syncthing vs Nextcloud: Der Unterschied, der die Entscheidung bestimmt
Bei Syncthing vs Nextcloud gibt es einen grundlegenden strukturellen Unterschied. Alles andere ergibt sich daraus. Syncthing arbeitet Peer-to-Peer. Jedes Gerät enthält den vollständigen Ordner. Keine Kopie ist die maßgebliche Version. Nextcloud ist ein Server. Eine Maschine speichert die Dateien. Davor liegen Benutzerkonten. Die Clients laden Kopien herunter.
Deshalb bietet Syncthing keine Freigabelinks und keine Webansicht Ihrer Dokumente. Es gibt keine zentrale Kopie, die bereitgestellt werden kann. Daher gibt es nichts, das ein Browser anfordern könnte. Nextcloud bietet beides. Dafür benötigt Nextcloud eine PHP-Laufzeitumgebung, einen Datenbankserver, einen Webserver und einen Reverse Proxy für TLS (Transport Layer Security).
Wählen Sie Syncthing, wenn alle beteiligten Geräte Ihnen gehören. Wählen Sie Nextcloud, wenn ein Browser oder eine andere Person auf die Dateien zugreifen muss.
Was die VPS-Instanz in den einzelnen Designs tatsächlich tut
Eine VPS-Instanz mit Nextcloud ist der Speicherort Ihrer Daten. Löschen Sie die lokale Kopie auf Ihrem Laptop, liegt die Datei weiterhin auf dem Server, weil der Server immer das Original war.
Eine VPS-Instanz mit Syncthing erfüllt eine andere Aufgabe: Sie ist ein ständig verfügbarer Peer. Syncthing überträgt Daten direkt zwischen zwei Geräten, die gleichzeitig online sind. Zwei Laptops, die nie gleichzeitig eingeschaltet sind, können daher nie synchronisieren, unabhängig davon, wie lange Sie warten. Fügen Sie einen dritten Peer auf einer VPS-Instanz hinzu, die nie in den Ruhezustand wechselt, verschwindet das Problem. Laptop A überträgt die Daten um 09:00, Laptop B ruft sie um 22:00 ab, und die VPS-Instanz hält den Ordner dazwischen vor.
Das ist eine tatsächlich nützliche Rolle und eine kleinere Zielsetzung als ein „Dropbox-Ersatz“. Syncthing stellt Ihnen nie einen Link bereit, den Sie an einen Kunden senden können. Wenn Sie das benötigen, lesen Sie stattdessen den Überblick über selbst gehostete Dropbox-Alternativen.
Was die einzelnen Lösungen auf einem kleinen VPS kosten
Syncthing ist eine einzelne Go-Binärdatei. Der Dienst lauscht an einem Socket, führt einen Index Ihrer Dateien in einer lokalen Datenbank und bildet damit den gesamten Stack. Seit Version 2.0 verwendet dieser Index SQLite statt LevelDB. Bei einem Upgrade von einer 1.x-Installation wird daher beim ersten Start einmalig eine Migration ausgeführt. Bei einer großen Anzahl von Ordnern kann diese Migration lange dauern. Lassen Sie sie abschließen. Es muss nichts anderes installiert und nichts anderes gepatcht werden.
Nextcloud benötigt mehr. Stand August 2026 unterstützt Nextcloud 35 PHP 8.3 bis 8.5 mit MariaDB oder PostgreSQL als Datenbank-Backend. Der Dienst wird über Apache 2.4 oder nginx mit php-fpm bereitgestellt. Das Administrationshandbuch empfiehlt „mindestens 512MB RAM pro Prozess“. php-fpm führt mehrere Worker-Prozesse gleichzeitig aus.
Auf einem VPS mit 1 GB RAM läuft Syncthing problemlos, während Nextcloud knapp bemessen ist. Dadurch ist Nextcloud nicht automatisch die falsche Wahl. Es ist eine größere Verpflichtung, weil Sie statt einer Komponente vier Komponenten aktuell halten müssen. Der Container-Weg im Nextcloud-on-a-VPS-Leitfaden zu Docker, TLS und Backups ist die am wenigsten aufwendige Möglichkeit, diesen zusätzlichen Aufwand zu bewältigen.
Syncthing auf dem VPS installieren
Ubuntu liefert ein syncthing-Paket aus. Es liegt jedoch weit hinter der Upstream-Version zurück. Verwenden Sie das Repository des Projekts.
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 sollte eine Zeile ausgeben, die mit syncthing v2 beginnt. Ein v1 an dieser Stelle bedeutet, dass apt weiterhin das Paket der Distribution bevorzugt. Setzen Sie das Upstream-Repository höher als dieses und installieren Sie erneut.
printf "Package: *\nPin: origin apt.syncthing.net\nPin-Priority: 990\n" | sudo tee /etc/apt/preferences.d/syncthing.prefFühren Sie Syncthing als Systemdienst unter einem normalen Benutzerkonto aus. Dadurch startet der Dienst beim Booten, auch wenn niemand angemeldet ist.
sudo systemctl enable --now syncthing@youruser.service
systemctl status syncthing@youruser.servicesystemctl status sollte active (running) ausgeben. Konfigurations- und Indexdateien werden in /home/youruser/.local/state/syncthing abgelegt. Die Konfigurationsdatei ist config.xml. Bei Installationen, die vor Syncthing 1.27 erstellt wurden, liegen die Dateien stattdessen in ~/.config/syncthing. Prüfen Sie daher beide Pfade, bevor Sie Dateien zwischen Rechnern kopieren.
Öffnen Sie anschließend die Ports. Syncthing verwendet 22000/TCP für das Synchronisationsprotokoll, 22000/UDP für den QUIC-Transport und 21027/UDP für die lokale Erkennung. Die Erkennung verwendet Broadcast und Multicast. Diese erreichen das Internet nicht. Auf einem VPS benötigen Sie daher nur die ersten beiden Ports.
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw statusufw status sollte beide Regeln auflisten. Wenn Status: inactive ausgegeben wird, filtert ufw keinen Datenverkehr. Dann ist nur die Netzwerk-Firewall Ihres Providers aktiv. Prüfen Sie auch deren Konfiguration. Bei den meisten Hostern ist sie eine separate Kontrolle. Wenn ein entferntes Gerät bei Disconnected hängen bleibt, obwohl der Dienst läuft, ist in der Regel eine dieser beiden Firewalls noch geschlossen.
Die Syncthing-GUI erreichen, ohne sie zu veröffentlichen
Die Web-GUI (grafische Benutzeroberfläche) lauscht standardmäßig auf 127.0.0.1:8384 und antwortet daher nur vom Server selbst. Dieser Standardwert schützt, weil die GUI einen API-Schlüssel (Programmierschnittstellen-Schlüssel) enthält, mit dem sich jeder Ordnerpfad auf dem System ändern lässt.
Öffnen Sie sie nicht als ersten Schritt für das gesamte Netzwerk. Die Dokumentation beschreibt direkt, welchen Vorteil das Binden an eine Netzwerkadresse bietet: „Wenn Sie die LAN-Adresse Ihres Computers angeben, wird der Zugriff NICHT auf Geräte in Ihrem lokalen Netzwerk beschränkt!“ Leiten Sie den Port stattdessen von Ihrem Laptop aus über SSH weiter.
ssh -L 8384:127.0.0.1:8384 youruser@your.vps.exampleÖffnen Sie http://127.0.0.1:8384 in Ihrem lokalen Browser, solange diese Sitzung aktiv ist. Der Tunnel wird mit der SSH-Sitzung geschlossen. Danach lauscht nichts mehr auf diesem Port.
Wenn Sie die GUI direkt erreichbar machen müssen, legen Sie zuerst Zugangsdaten fest. Auf dem Server ist kein Browser vorhanden. Führen Sie den Vorgang daher über die Befehlszeile aus.
sudo systemctl stop syncthing@youruser.service
sudo -H -u youruser syncthing generate --gui-user=admin --gui-password=-
sudo systemctl start syncthing@youruser.service-H ist wichtig, weil sudo ohne diese Option das Home-Verzeichnis von root verwendet und Sie die falsche config.xml bearbeiten. Ein einzelner Bindestrich als Passwortwert veranlasst syncthing generate, das Passwort von der Standardeingabe zu lesen. Dadurch bleibt es aus Ihrer Shell-History fern. Der Wert wird gehasht, bevor er in die Datei geschrieben wird. Aktivieren Sie HTTPS in den GUI-Einstellungen, sobald Sie sich anmelden können.
Warum Syncthing Ihre Fehler weiterverbreitet
Die Syncthing-FAQ beantwortet die Backup-Frage selbst: „Syncthing ist keine besonders gute Backup-Anwendung, weil alle Änderungen an Ihren Dateien (Änderungen, Löschungen usw.) an alle Ihre Geräte weitergegeben werden.“
Löschen Sie versehentlich einen Ordner auf Ihrem Laptop, arbeitet Syncthing genau wie vorgesehen. Der Ordner wird innerhalb von Sekunden überall gelöscht. Synchronisierung bedeutet Übereinstimmung. Dazu gehört auch die Übereinstimmung darüber, dass eine Datei nicht mehr vorhanden ist.
Die Dateiversionierung ist die Gegenmaßnahme. Sie ist jedoch deaktiviert, sofern Sie sie nicht einschalten. In der Dokumentation steht, dass die Versionierung standardmäßig auf „keine Dateiversionierung“ eingestellt ist. Das bedeutet, dass keine alten Dateikopien aufbewahrt werden. Pro Ordner stehen vier Strategien zur Verfügung. Trash Can bewahrt eine Kopie jeder Datei auf, die aufgrund einer entfernten Änderung gelöscht oder ersetzt wurde. Simple bewahrt pro Datei eine festgelegte Anzahl alter Versionen auf. Staggered reduziert den Verlauf mit zunehmendem Alter. Dabei werden einen Tag lang stündliche Kopien, einen Monat lang tägliche Kopien und danach entsprechend weniger Kopien aufbewahrt. External übergibt jede Entscheidung an einen von Ihnen geschriebenen Befehl. Alte Kopien werden in einem .stversions-Verzeichnis innerhalb des freigegebenen Ordners gespeichert.
Konfigurieren Sie Staggered auf dem VPS-Peer und lassen Sie die Versionierung auf den Laptops deaktiviert. Der ständig eingeschaltete Peer bewahrt dann den Verlauf auf. Die Laptops bleiben schlank.
Nextcloud behandelt dies besser und ist trotzdem kein Backup. Gelöschte Dateien werden in einen Papierkorb verschoben. Bearbeitungen werden von der Anwendung Versions aufbewahrt. Beide Bereiche werden jedoch automatisch bereinigt, wenn der Speicherplatz knapp wird. Ein Prozess auf Ihrem Laptop, der Dateien verschlüsselt, synchronisiert diese verschlüsselten Versionen nach oben. Die guten Kopien werden dann nach ihrem eigenen Zeitplan entfernt.
Beide Werkzeuge benötigen darunter ein echtes Backup: Snapshots, die von einem separaten Programm erstellt und an einem Ort gespeichert werden, auf den der Synchronisierungsclient nicht zugreifen kann. Sie müssen mindestens einmal wiederhergestellt werden, damit Sie wissen, dass die Wiederherstellung funktioniert. Der Vergleich von restic und BorgBackup erläutert, welches Werkzeug Sie auf das Datenverzeichnis ansetzen sollten.
Wie sich Konflikte zwischen den beiden unterscheiden
Beide Werkzeuge erzeugen eine Konfliktdatei, wenn beide Seiten dieselbe Datei zwischen zwei Synchronisierungen ändern. Der Unterschied besteht darin, wer diese Datei sieht.
Syncthing benennt die unterlegene Kopie in <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext> um. Die Kopie mit dem älteren Änderungszeitpunkt verliert. Sind die Zeitpunkte identisch, verliert das Gerät mit dem größeren Wert in den ersten 63 Bits seiner Geräte-ID. Das Ergebnis ist zwar willkürlich, aber auf jedem Peer identisch. Der entscheidende Punkt ist: Diese Dateien „werden nach ihrer Erstellung wie normale Dateien behandelt und daher zwischen Geräten übertragen“. Jeder Peer erhält die Konfliktkopie. Sie müssen die Datei nur einmal löschen, damit die Löschung synchronisiert wird. Zuvor sehen Sie sie jedoch auf allen Ihren Rechnern.
Der Nextcloud-Desktopclient schreibt <name> (conflicted copy YYYY-MM-DD HHMMSS).<ext>, zum Beispiel mydata (conflicted copy 2018-04-10 093612).txt. Standardmäßig lädt er diese Datei nicht hoch. Im Handbuch des Clients wird dies damit begründet, dass die Person, die die Änderung vorgenommen hat, den Konflikt am besten selbst auflösen kann. Wenn andere Benutzer den Konflikt sehen, führt das nur zu Verwirrung. Setzen Sie OWNCLOUD_UPLOAD_CONFLICT_FILES=1 in der Umgebung des Clients, wenn Sie das umgekehrte Verhalten wünschen.
Ein Syncthing-Konflikt ist daher ein clusterweites Ereignis. Ein Nextcloud-Konflikt bleibt dagegen auf einem Desktop.
Ordnerarten machen Syncthing auf einem Server sicherer
Syncthing bietet drei Ordnerarten. Die richtige Auswahl auf dem VPS verhindert eine ganze Reihe von Fehlbedienungen.
- Send & Receive ist der Standard. Änderungen werden in beide Richtungen übertragen.
- Send Only ignoriert alle Änderungen, die der Cluster sendet. Verwenden Sie diese Einstellung, wenn ein Gerät nur Daten bereitstellen soll. Wenn der Ordner nicht mehr synchron ist, zeigt die GUI die rote Schaltfläche "Override Changes" an. Damit wird der lokale Status an alle anderen Geräte übertragen.
- Receive Only übernimmt Änderungen aus dem Cluster und sendet lokale Bearbeitungen niemals zurück. Verwenden Sie diese Einstellung auf einem VPS, der als Archiv dient. Lokale Bearbeitungen zeigen dort stattdessen die rote Schaltfläche "Revert Local Changes" an.
Ein Receive Only-Ordner auf dem VPS mit aktivierter Staggered-Versionierung ergibt einen versionierten Spiegel. Eine Löschung auf einem Laptop wird weiterhin übernommen, weil eine Löschung eine gültige Clusteränderung ist. Die alte Kopie wird jedoch in .stversions abgelegt, anstatt zu verschwinden.
Welche Lösung sollten Sie wählen
Die folgenden 7 Zeilen decken die Gründe ab, aus denen diese Frage tatsächlich gestellt wird.
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."
}
]Sehen Sie sich die erste Zeile an. Die Synchronisierung von zwei eigenen Laptops spricht für Syncthing. In diesem Fall macht sich ein VPS als Peer bezahlt, der niemals schläft. Jede Zeile, in der ein Browser, ein Link oder eine andere Person vorkommt, spricht für die andere Lösung.
Wenn Nextcloud weiterhin die beste Wahl ist, Sie aber wegen des Ressourcenbedarfs Bedenken haben, lesen Sie als Nächstes den Vergleich von Seafile und Nextcloud. Seafile verwendet weiterhin ein Servermodell, setzt darunter aber eine andere Synchronisierungs-Engine ein.
Beide auf einem VPS betreiben
Sie schließen sich nicht gegenseitig aus. Syncthing kann Dateien zwischen Ihren eigenen Rechnern übertragen, während Nextcloud Freigaben und Kalender verwaltet. Das ist eine gängige Kombination.
Wenn Sie beide Dienste einsetzen, darf Syncthing niemals auf das Datenverzeichnis von Nextcloud zeigen. Nextcloud erfasst jede Datei in seiner Datenbank. Dateien, die von außerhalb auf dem Datenträger erscheinen, bleiben in der Weboberfläche unsichtbar, bis die Datenbank aktualisiert wurde. Wechseln Sie in das Installationsverzeichnis von Nextcloud:
sudo -u www-data php occ files:scan --allDer Befehl gibt die Anzahl der Dateien und Ordner aus, die er gescannt hat. Den Befehl regelmäßig per Zeitplan auszuführen, ist eine Behelfslösung und kein gutes Design. Verwenden Sie für jedes Tool ein eigenes Verzeichnis. Wenn Sie noch entscheiden, welche Daten und Dienste überhaupt auf den Server gehören, ist der Leitfaden dazu, was Sie 2026 selbst hosten sollten ein besserer Ausgangspunkt, als zuerst ein Synchronisationstool auszuwählen.
FAQ
Kann Syncthing Dropbox ersetzen?
Nur für den Teil, bei dem Ihre eigenen Geräte synchron bleiben. Syncthing bietet keine öffentlichen Freigabelinks und keine Benutzerkonten. Die Weboberfläche zeigt niemals Dateiinhalte an, weil es keine zentrale Kopie gibt, die ein Browser anfordern könnte. Die offizielle Android-App wurde nach ihrer Veröffentlichung im December 2024 eingestellt und aus dem Play Store entfernt. Die Unterstützung für Smartphones hängt daher inzwischen von einem Community-Fork ab. Wenn Sie jemandem einen Link senden müssen, benötigen Sie einen Server, also Nextcloud oder eine vergleichbare Lösung.
Ist Syncthing ein Backup?
Nein, und das Projekt weist ausdrücklich darauf hin. Löschungen und Änderungen werden an jedes Gerät weitergegeben. Eine versehentliche Löschung ist daher innerhalb weniger Sekunden überall vorhanden. Wenn Sie die Dateiversionierung für jeden Ordner aktivieren, insbesondere Staggered auf einem dauerhaft laufenden Peer, erhalten Sie über das Verzeichnis .stversions ein Wiederherstellungsfenster. Sie ersetzt keine Snapshots, die ein separates Tool auf einem separaten Speicher erstellt.
Warum kann ich meine Dateien nicht in der Syncthing-Weboberfläche sehen?
Weil die GUI ein Bedienfeld für den Synchronisierungsstatus und kein Dateibrowser ist. Sie zeigt Ordner, Geräte, den Übertragungsfortschritt und die Anzahl der Konflikte an. Dateiinhalte werden niemals aufgelistet oder geöffnet. Das ergibt sich aus dem Peer-to-Peer-Design: Ihre Dateien liegen auf Ihren Geräten, und die GUI auf dem VPS verwaltet nur den Prozess, der sie zwischen den Geräten überträgt.
Welche Ports muss Syncthing auf einem VPS öffnen?
22000/TCP für das Synchronisierungsprotokoll und 22000/UDP für den QUIC-Transport. Port 21027/UDP überträgt die lokale Erkennung per Broadcast und Multicast. Diese Pakete werden nicht über das Internet übertragen. Lassen Sie den Port daher auf einem öffentlichen Server geschlossen. Binden Sie die GUI auf Port 8384 an 127.0.0.1 und greifen Sie über einen SSH-Tunnel darauf zu. Prüfen Sie zusätzlich zur ufw auch die Netzwerk-Firewall Ihres Providers, da es sich um getrennte Kontrollen handelt.
Kann ich Syncthing und Nextcloud auf demselben VPS ausführen?
Ja. Auf einem System mit 2 GB RAM oder mehr ist das sinnvoll. Halten Sie ihre Verzeichnisse getrennt. Nextcloud erfasst Dateien in seiner Datenbank. Alles, was Syncthing in den Nextcloud-Speicher schreibt, bleibt in der Weboberfläche unsichtbar, bis occ files:scan ausgeführt wird. Wenn zwei Tools in dasselbe Verzeichnis schreiben, entstehen außerdem Konfliktdateien, die keines der beiden Tools erwartet.