Selbst gehostete Dropbox-Alternativen im Vergleich
Nextcloud, Seafile, Syncthing und Object Storage im Vergleich: Sync-Topologie, Kosten auf einem kleinen VPS und warum Synchronisierung kein Backup ist.
Welche selbst gehostete Dropbox-Alternative sollten Sie betreiben?
Vier selbst gehostete Dropbox-Alternativen sind besonders sinnvoll: Nextcloud, Seafile, Syncthing und Object Storage mit einem darauf aufbauenden Client. Sie sind nicht austauschbar. Nextcloud eignet sich für einen Haushalt oder ein kleines Team, in dem andere Personen Dateien empfangen müssen. Seafile eignet sich für eine Person oder ein Team, das sehr viele kleine Dateien synchronisiert und bei dem die Synchronisierungsgeschwindigkeit wichtiger ist als die Darstellung der Daten auf dem Datenträger. Syncthing eignet sich für eine Person, die ihre eigenen Geräte synchronisiert und bei der niemand außerhalb einen Link benötigt. Object Storage eignet sich für ein Archiv: günstiger Speicherplatz für Daten, die Sie nur selten öffnen.
Wählen Sie zuerst anhand der Funktionsweise der Synchronisierung, bevor Sie Funktionen vergleichen. Funktionslisten sehen fast immer gleich aus. Die Topologie, also welches Gerät die Kopie enthält, mit der alle anderen Geräte übereinstimmen, entscheidet darüber, ob Sie auch in sechs Monaten noch zufrieden sind.
Sync-Topologie: ein zentraler Server oder Peers ohne Server
Zwei Architekturen stehen zur Auswahl. Der weitere Aufbau hängt größtenteils von dieser Entscheidung ab.
Ein zentraler Server. Nextcloud, Seafile und Objektspeicher arbeiten nach diesem Prinzip. Eine Maschine, normalerweise ein VPS (virtual private server), enthält die maßgebliche Kopie. Jedes Gerät kommuniziert mit dieser Maschine. Ihr Laptop kann einen Monat lang ausgeschaltet sein, danach wieder gestartet werden und die Änderungen selbstständig nachholen. Ein Smartphone mit 6 GB freiem Speicher kann einen Teilbestand lokal speichern, während der Server alle Daten vorhält. Ein Browser kann auf die Dateien zugreifen. Deshalb sind Freigabelinks überhaupt möglich.
Peers ohne Server. Syncthing arbeitet nach diesem Prinzip. Die Geräte finden einander und tauschen Dateilisten direkt über eine verschlüsselte Verbindung aus. Keine Kopie ist maßgeblich: Eine Datei existiert nur auf den Geräten, die sie speichern, und nirgendwo sonst. Zwei Geräte müssen gleichzeitig online sein, damit eine Änderung zwischen ihnen übertragen werden kann. Es gibt keine URL, die Sie weitergeben können, weil keine Maschine eine Seite bereitstellt.
Daraus ergeben sich vier Konsequenzen. Sie werden oft erst spät deutlich.
- Um eine Datei an eine Person zu senden, die keine Software installieren wird, benötigen Sie einen zentralen Server. Ein Link ist eine URL, und eine URL benötigt einen Prozess, der an einem Port Verbindungen annimmt.
- Für den Zugriff auf Ihre Dateien von einer Maschine, die Sie nicht kontrollieren, beispielsweise einem Arbeitslaptop, benötigen Sie einen zentralen Server.
- Ein Gerät, das wochenlang ausgeschaltet war, holt die Änderungen von einem Server nach, sobald es wieder online ist. In einer Peer-Topologie ist dies nur möglich, wenn gleichzeitig ein anderes Gerät mit diesen Daten online ist. Deshalb betreiben viele Syncthing-Nutzer eine Instanz auf einem VPS als dauerhaft verfügbaren Peer.
- Der Speicherbedarf verteilt sich anders. Ein zentraler Server enthält eine vollständige Kopie sowie die Daten, die jedes Gerät zusätzlich lokal speichert. Vier Peers, die einen Ordner gemeinsam nutzen, enthalten vier vollständige Kopien, weil jeder Peer den gesamten Ordner speichert.
Nextcloud: Benutzer, Gruppen und öffentliche Links
Nextcloud ist eine PHP-Webanwendung. Die Dateien werden als normale Dateien in einem Datenverzeichnis gespeichert und in einer Datenbank verwaltet. Sie können einen Ordner für einen Benutzer, eine Gruppe oder als öffentlichen Link mit Passwort und Ablaufdatum freigeben. Die Versionshistorie ist standardmäßig aktiviert. Gelöschte Dateien werden zunächst in den Papierkorb verschoben. Desktop-Clients gibt es für Linux, macOS und Windows. Die Apps für iOS und Android sind offiziell. Wenn Sie Dropbox verlassen möchten, weil andere Personen Ihre Dateien erhalten müssen, ist Nextcloud die ehrliche Antwort.
Der Nachteil sind die vielen Komponenten. Eine normale Installation verwendet einen Webserver, PHP-FPM (den PHP-Prozessmanager), eine Datenbank wie MariaDB oder PostgreSQL sowie Redis für die Dateisperren. Ein Hintergrundjob läuft alle fünf Minuten über cron oder einen systemd-Timer. Auf einem VPS mit 1 GB startet Nextcloud zwar, aber ein großer Upload oder ein lang laufender occ Wartungsbefehl führt zum Out-of-Memory-Killer. Betrachten Sie 2 GB als Mindestgröße für einige Benutzer. Sobald Sie weitere Apps aktivieren, werden Sie voraussichtlich 4 GB benötigen. Der weitere Nachteil sind Upgrades: Apps aus dem App Store werden für eine bestimmte Core-Version erstellt. Prüfen Sie daher vor dem Upgrade, ob die von Ihnen benötigten Apps die nächste Hauptversion unterstützen.
Nextcloud wird langsamer, wenn ein Konto Hunderttausende kleiner Dateien enthält. Jede Datei entspricht einer Zeile in der Dateicache-Tabelle und einer tatsächlichen Datei auf dem Datenträger. Der Desktop-Client verarbeitet diese Dateien einzeln. Im privaten Umfeld tritt dieses Problem nicht auf. Die Dimensionierung, TLS (Transport Layer Security) und Backups werden in einer Docker-basierten Nextcloud-Installation mit TLS und Backups behandelt. Dort sollten Sie weiterlesen, sobald Sie sich entschieden haben.
Beachten Sie außerdem den Umfang der Lösung. Nextcloud kann auch Kalender, Kontakte, Notizen und eine Fotobibliothek verwalten. Jede aktivierte App erzeugt zusätzliche Hintergrundarbeit und kann Upgrades blockieren. Wenn es tatsächlich um Fotos geht, ist ein spezialisiertes Tool besser geeignet: siehe Immich als selbst gehosteten Ersatz für Google Photos. Wenn es tatsächlich um Dokumente und Wikis geht, sehen Sie sich die selbst gehosteten Notion-Alternativen an, statt weitere Apps auf Ihrem Dateiserver zu installieren.
Seafile: für eine sehr große Anzahl kleiner Dateien entwickelt
Seafile teilt jede Datei in Blöcke auf und speichert diese in einem internen Objektspeicher, der über einen Content-Hash adressiert wird. Das entspricht dem Prinzip, das git für seine Objekte verwendet. Die Einheit für Synchronisierung und Freigabe ist eine Bibliothek und nicht ein Verzeichnisbaum. Da der Client Blöcke und einen Commit statt einer Anfrage pro Datei hochlädt, wird die Synchronisierung eines Verzeichnisses mit 100,000 kleinen Dateien deutlich schneller abgeschlossen als mit einem Protokoll, das jede Datei einzeln verarbeitet. Identische Blöcke werden nur einmal gespeichert. Eine zweite Kopie einer großen Datei benötigt daher fast keinen zusätzlichen Speicherplatz.
Der Nachteil ist, dass Ihre Dateien auf dem Server keine Dateien mehr sind. Wenn Sie das Speicherverzeichnis öffnen, finden Sie Objektdateien mit hexadezimalen Namen. Für den Datenzugriff benötigen Sie den Seafile-Client oder die eigenen Export- und fsck-Tools von Seafile. Backups funktionieren weiterhin, weil diese Objekte gewöhnliche Dateien sind. Sie können jedoch nicht eine einzelne Tabellenkalkulation mit cp wiederherstellen. Entscheiden Sie jetzt, ob das akzeptabel ist. Diese Eigenschaft wird später häufig bereut.
Seafile veröffentlicht eine Community Edition und eine kostenpflichtige Professional Edition. Die Abgrenzung zwischen beiden Editionen ändert sich zwischen den Releases. Lesen Sie daher die aktuellen Bedingungen auf der Website, bevor Sie ein Team um eine bestimmte Funktion herum planen. Offizielle Desktop- und Mobile-Clients sind verfügbar. Verschlüsselte Bibliotheken werden auf dem Client verschlüsselt. Der Server speichert daher Chiffretext, den er nicht lesen kann. Wenn Sie die Passphrase verlieren, ist die Bibliothek nicht lesbar, auch für Sie nicht. Wenn Sie eine verschlüsselte Bibliothek im Browser öffnen, übergeben Sie diese Passphrase an die Websitzung. Die starke Variante dieser Zusicherung gilt daher für die Desktop- und Mobile-Clients.
Der Ressourcenbedarf liegt nahe bei dem von Nextcloud. Sie betreiben eine Datenbank, einen Memory-Cache und zwei Anwendungsprozesse. Daher sind 2 GB auch hier die sinnvolle Untergrenze.
Syncthing: keine Anmeldung erforderlich
Syncthing ist eine einzelne Go-Binärdatei. Es überwacht Verzeichnisse, findet Peers über einen Discovery-Server oder ein Relay und synchronisiert Daten direkt zwischen Geräten. Es gibt keine Konten und keine Anmeldeseite für die Personen, mit denen Sie synchronisieren. Sie koppeln zwei Geräte anhand ihrer ID und akzeptieren den Ordner auf beiden Seiten. Von allen hier beschriebenen Lösungen verursacht Syncthing den geringsten Betriebsaufwand, weil nur sehr wenig ausgeführt werden muss.
Auf die gesamte Kategorie der Freigaben müssen Sie verzichten. Ihr Eintrag lautet Device pairing only, no links. Sie können einem Kunden, einem Buchhalter oder einem Familienmitglied keinen Link geben. Mobilgeräte sind die zweite Einschränkung: Android app, no official iOS. Die FAQ des Projekts formuliert es eindeutig: „Das derzeitige Syncthing-Team plant in absehbarer Zukunft keine offizielle Unterstützung für iOS“, weil iOS die Hintergrundverarbeitung so stark einschränkt, dass eine zuverlässige Synchronisierung schwierig ist. iOS-Benutzern bleiben nur Apps von Drittanbietern.
Der Ressourcenverbrauch ist gering. Dabei ist ein Punkt wichtig: Syncthing speichert für jede synchronisierte Datei einen Indexeintrag. Der Speicherbedarf und der Aufwand für den ersten Scan wachsen daher mit der Anzahl der Dateien und nicht mit der Gesamtgröße. Beim ersten Hashing eines großen Ordners wird die CPU eine Zeit lang ausgelastet. Danach stabilisiert sich die Auslastung. Auf dem kleinsten VPS-Tarif läuft Syncthing problemlos.
Konflikte werden behandelt, indem beide Versionen erhalten bleiben. Wenn zwei Geräte dieselbe Datei ändern, während sie keine Verbindung zueinander haben, benennt Syncthing eine Kopie um und speichert sie neben der anderen. Dadurch finden Sie Dateien wie notes.sync-conflict-20260802-141530-K7MB3QT.md. Es geht nichts verloren. Es wird aber auch nichts zusammengeführt. Sie müssen den Konflikt manuell auflösen.
Objektspeicher mit einem Client: günstiger Speicherplatz, kein Synchronisationsordner
Objektspeicher bezeichnet einen S3-kompatiblen Bucket (Simple Storage Service), den Sie entweder selbst mit MinIO betreiben oder bei einem Anbieter mieten. Sie greifen mit einem Tool darauf zu: über rclone auf der Kommandozeile oder über einen Desktop-Client, der den Bucket als Laufwerk einbindet. Für die Freigabe verwenden Sie eine presigned URL, also einen Link mit einer eigenen Ablaufzeit. Versionierung ist eine Bucket-Einstellung: Bucket versioning, off by default. Aktivieren Sie sie daher beim Erstellen des Buckets, weil sie nicht für Objekte gilt, die Sie zuvor hochgeladen haben.
Problematisch wird es, wenn Sie einen Bucket als Synchronisationsordner behandeln. Standardmäßig überwacht kein Dienst Ihr Documents-Verzeichnis. rclone bisync führt eine Synchronisation in beide Richtungen durch, und die Dokumentation von rclone weist ausdrücklich auf den erforderlichen sorgfältigen Umgang hin. Seine Stärken spielt der Objektspeicher als unterliegende Speicherebene aus: als Backup-Ziel oder als Speicherschicht hinter einer Anwendung. S3-kompatiblen Objektspeicher mit MinIO selbst hosten behandelt die Serverseite.
Die Ressourcen- und Kostenstruktur ist hier ungewöhnlich. MinIO besteht aus einer einzelnen Binärdatei und benötigt im Leerlauf wenig Ressourcen. Die tatsächlichen Kosten entstehen durch den Speicherplatz: Auf einem VPS ist das ein nach Gigabyte gemietetes Block-Volume sowie die Bandbreite für das Ein- und Auslagern von Objekten. Beides wird in free -h nicht berücksichtigt. Lesen Sie daher was ein VPS tatsächlich pro Monat kostet, bevor Sie die Größe eines Archivs festlegen.
Freigaben, mobile Clients und Versionierung im Vergleich
The data behind this chart
[
{
"tool": "Nextcloud",
"sharing": "Public links, users and groups",
"mobile": "Official iOS and Android apps",
"versioning": "On by default, plus trash"
},
{
"tool": "Seafile",
"sharing": "Public links with password and expiry",
"mobile": "Official iOS and Android apps",
"versioning": "Library history and snapshots"
},
{
"tool": "Syncthing",
"sharing": "Device pairing only, no links",
"mobile": "Android app, no official iOS",
"versioning": "Optional per folder, off by default"
},
{
"tool": "Object storage",
"sharing": "Presigned URLs you generate",
"mobile": "Third party clients only",
"versioning": "Bucket versioning, off by default"
}
]Alle 4 Optionen lassen sich entlang einer Linie einordnen. Drei davon können eine Datei an eine fremde Person weitergeben, die nur über einen Browser verfügt. Eine davon kommuniziert ausschließlich mit Geräten, die Sie bereits besitzen. Der Versionierungseintrag von Seafile, Library history and snapshots, verdient einen Hinweis: Der Verlauf wird pro Bibliothek gespeichert. Wenn Sie eine Bibliothek löschen, wird auch ihr Verlauf gelöscht.
Daten wieder herausbekommen
Die Exit-Kosten lassen sich jetzt günstig prüfen, später jedoch nur teuer feststellen. Prüfen Sie sie daher, bevor Sie sich festlegen.
Nextcloud speichert echte Dateien in echten Verzeichnissen. Eine tar des Datenverzeichnisses liefert Ihnen Ihre Dokumente, selbst wenn die Anwendung nie wieder startet. Syncthing macht das auf jedem Peer genauso. Das ist hier die beste Exit-Option: Die Dateien liegen einfach auf jedem Gerät. Der Object Store von Seafile benötigt Seafile oder dessen Exporttools, um die Blöcke wieder zu Dateien zusammenzusetzen. Für Object Storage benötigen Sie rclone oder ein gleichwertiges Tool. Das ist mit einem einzigen Befehl erledigt.
Synchronisierung ist kein Backup. Genau diese Lücke führt zu Datenverlust.
Jedes Tool in diesem Abschnitt kopiert Änderungen zwischen Rechnern. Eine Löschung ist eine Änderung. Wenn Sie einen Ordner auf Ihrem Laptop entfernen, meldet der Client dies an den Server. Der Server wendet die Änderung an, und alle anderen Geräte entfernen den Ordner ebenfalls. Ransomware nutzt denselben Weg: Sie verschlüsselt Dateien lokal, der Client erkennt die geänderten Dateien und lädt die verschlüsselten Versionen hoch. Die Synchronisierung hat korrekt funktioniert. Ihre Daten sind trotzdem verloren.
Papierkörbe und der Versionsverlauf können die Folgen abmildern. Auch sie laufen jedoch ab. Außerdem können sie von demselben Konto geleert werden, das den Fehler verursacht hat. Sie liegen zudem auf derselben Festplatte wie die aktive Kopie. Bei einem Ausfall des Datenträgers gehen die Dateien und ihr Verlauf gemeinsam verloren.
Ein Backup ist eine separate Kopie auf separater Hardware, die nach einem Zeitplan erstellt wird und aus der Sie mindestens einmal eine Wiederherstellung durchgeführt haben. Sichern Sie die Datenbank im selben Lauf wie die Dateien. Wenn Sie ein Nextcloud-Datenverzeichnis ohne die zugehörige Datenbank wiederherstellen, erhalten Sie eine Instanz, die diese Dateien nicht kennt. Ein occ files:scan stellt die Dateien anschließend zwar wieder her, verliert jedoch die Freigaben und den Versionsverlauf, die in diesen Tabellen gespeichert waren. Geplante restic-Backups von einem VPS behandelt die verschlüsselte und deduplizierte Variante dieses Verfahrens. Dazu gehört auch, wie Sie eine Wiederherstellung testen, anstatt sie einfach vorauszusetzen.
Meine Wahl
Nextcloud ist für die meisten Leser hier die beste Wahl. Nach dem Wechsel von Dropbox vermissen viele, einer Person, die nichts installieren wird, einfach einen Link zu schicken und eine Datei auf einem Smartphone zu öffnen. Nextcloud unterstützt beides mit offiziellen Clients und ohne kostenpflichtige Stufe. Dafür sind 2 GB RAM ein angemessener Preis. Ich mache zwei Ausnahmen. Wenn der Ordner ausschließlich Ihnen gehört und sich ausschließlich auf Hardware befindet, die Sie selbst besitzen, verwenden Sie Syncthing. Dann müssen Sie keinen Server patchen und keinen Web-Login absichern. Wenn Sie ein Arbeitsverzeichnis mit Hunderttausenden Dateien synchronisieren, verwenden Sie Seafile. Akzeptieren Sie den intransparenten Speicher, um die höhere Geschwindigkeit zu erhalten. Object Storage gehört unter die von Ihnen gewählte Lösung, als Backup-Ziel. Es sollte nicht davor als Synchronisierungswerkzeug eingesetzt werden.
FAQ
Ist Syncthing ein Backup für meinen Laptop?
Nein. Syncthing kopiert Änderungen zwischen Geräten. Eine Löschung ist dabei eine Änderung wie jede andere. Eine Datei, die Sie versehentlich löschen, verschwindet daher innerhalb weniger Sekunden von jedem gekoppelten Gerät. Die Dateiversionierung pro Ordner hilft dabei. Sie ist jedoch deaktiviert, bis Sie sie für jeden Ordner aktivieren. Erstellen Sie zusätzlich ein echtes Backup auf separater Hardware nach einem festen Zeitplan. Stellen Sie es einmal wieder her, damit Sie wissen, dass die Wiederherstellung funktioniert.
Kann ich Nextcloud und Syncthing auf demselben VPS betreiben?
Ja. Beide Dienste verwenden unterschiedliche Ports und kommen sich nicht in die Quere. Verweisen Sie einen Syncthing-Ordner nicht auf das Datenverzeichnis von Nextcloud. Nextcloud erfasst jede Datei in einer Datenbank. Dateien, die darunter direkt auf dem Datenträger erscheinen, bleiben unsichtbar, bis Sie occ files:scan ausführen. Dateien, die darunter entfernt werden, hinterlassen Datenbankeinträge ohne zugehörige Datei. Geben Sie Syncthing ein eigenes Verzeichnis. Alternativ können Sie dieses Verzeichnis als externen Speicher in Nextcloud einbinden, damit Nextcloud weiß, dass es dort nachsehen muss.
Welche Lösung ermöglicht es, einen Link mit jemandem zu teilen, der kein Konto hat?
Nextcloud und Seafile erstellen beide öffentliche Links. Optional können Sie ein Passwort und ein Ablaufdatum festlegen. Object Storage stellt Ihnen eine presigned URL bereit, die nach der von Ihnen festgelegten Zeit automatisch ungültig wird. Syncthing bietet hierfür keine Funktion. Das Freigabemodell basiert auf der Kopplung von Geräten. Die andere Person muss daher Syncthing installieren, Ihnen eine Geräte-ID mitteilen und den Ordner akzeptieren.
Wie viel Speicherplatz benötigt der Server?
Planen Sie bei einem führenden Server die vollständige Größe der freigegebenen Daten ein. Zusätzlich benötigen Sie Speicherplatz für den Versionsverlauf, den Papierkorb und laufende Uploads. Der Versionsverlauf wird häufig unterschätzt. Wenn Sie jede Version einer täglich geänderten 2-GB-Datei behalten, wächst der Speicherbedarf schnell. Legen Sie daher frühzeitig eine Aufbewahrungsrichtlinie fest. Wenn Sie die Daten auf einem separaten Volume speichern, bleibt dieses Wachstum vom Root-Dateisystem getrennt. Ein volles Dateisystem hält andernfalls den gesamten Server an und nicht nur einen einzelnen Upload.