Seafile oder Nextcloud: Was ist besser für Dateisync?
Seafile speichert Dateien in Blöcken, Nextcloud als normale Dateien. Vergleichen Sie Sync-Tempo, RAM-Bedarf, Backups und Verschlüsselung in Version 13.0 und 34.
Seafile vs Nextcloud: die kurze Antwort
Bei Seafile vs Nextcloud geht es um einen Unterschied: Was ist eine Datei, sobald sie den Server erreicht? Seafile teilt jede Datei in Blöcke auf und speichert diese in einem Objektspeicher, den nur Seafile lesen kann. Dadurch ist die Synchronisierung schnell, und Backups werden zu einer Aufgabe mit zwei Teilen. Nextcloud schreibt Ihre Datei als Datei auf die Festplatte. Die Synchronisierung ist dort eine Funktion einer Plattform, die außerdem Kalender, Kontakte, Dokumente und Freigabelinks bereitstellt. Entscheiden Sie anhand dieses Unterschieds. Daraus ergibt sich der Rest.
Stand August 2026 befindet sich Seafile in der 13.0-Serie und Nextcloud in der 34-Serie. Beide Produkte sind ausgereift. Keines von beiden wird sein Speichermodell in absehbarer Zeit ändern.
So speichert Seafile Ihre Dateien
Seafile modelliert eine Bibliothek so, wie git ein Repository modelliert. Das Administrationshandbuch beschreibt das interne Modell als Repo, Commit, FS und Block und weist darauf hin, dass ein Repo auch als Bibliothek bezeichnet wird. Jede Datei wird durch inhaltsdefiniertes Chunking (CDC, ein Algorithmus, der die Blockgrenzen anhand der Daten selbst festlegt) in Blöcke variabler Länge aufgeteilt. Das Handbuch nennt eine durchschnittliche Blockgröße von etwa 8 MB. Blöcke werden nach ihrem Inhalt benannt. Deshalb verwenden zwei Versionen einer großen Datei alle unveränderten Blöcke gemeinsam. Auch zwei Bibliotheken verwenden identische Blöcke gemeinsam.
Die relationale Datenbank enthält nur wenige Metadaten zu den Bibliotheken. Alles andere, also die Commits, die Verzeichnisobjekte und die Blöcke, liegt unterhalb des Datenverzeichnisses. Im Docker-Layout der Versionen 12 und 13 ist das /opt/seafile-data/seafile/seafile-data. Wenn Sie dort ls ausführen, erhalten Sie keine nützlichen Informationen, weil Sie Verzeichnisse mit Hash-Namen sehen, nicht Invoices/2026/march.pdf.
Die Synchronisierung folgt demselben Modell. Der Client fragt den Server nach Änderungen, erhält eine Liste von Block-Hashes und ruft nur die Blöcke ab, die noch nicht lokal vorhanden sind. Deshalb eignet sich Seafile auch für große Bibliotheken: Die übertragene Datenmenge ist proportional zu den geänderten Blöcken und nicht zur Größe der Datei, die diese Blöcke enthält.
So speichert Nextcloud Ihre Dateien
Nextcloud legt die Datei dort auf dem Datenträger ab, wo Sie sie erwarten. Der Pfad data/<username>/files/ entspricht der Ansicht des Benutzers in der Weboberfläche. Die Datenbanktabelle oc_filecache bildet denselben Verzeichnisbaum mit Größen, Änderungszeiten und Etags ab. Nextcloud verwendet diese Tabelle als maßgebliche Quelle und nicht den Datenträger.
Der Desktop-Client verwendet WebDAV (web distributed authoring and versioning) über HTTPS. Jede Datei erfordert mindestens eine Anfrage. Deshalb hat Nextcloud eine API für Massen-Uploads hinzugefügt: Im Entwicklerhandbuch wird erklärt, dass das Hochladen vieler kleiner Dateien langsamer als möglich ist, weil die Netzwerkbandbreite nicht vollständig genutzt wird. Daher werden kleine Dateien zusammengefasst. Große Dateien werden stattdessen über die Chunking-API übertragen. Die Standardgröße eines Chunks im Desktop-Client beträgt 5 MiB (OWNCLOUD_CHUNK_SIZE ist standardmäßig auf 5242880 Bytes gesetzt).
Der Vorteil der Dateien auf dem Datenträger besteht darin, dass jedes bereits vorhandene Werkzeug auf Ihre Daten zugreifen kann. Der Nachteil ist, dass Nextcloud Änderungen nicht erkennt, die außerhalb der Anwendung vorgenommen werden. Kopieren Sie Dateien direkt in das Datenverzeichnis, bleiben sie in der Weboberfläche unsichtbar, bis Sie einen Scan ausführen:
sudo -E -u www-data php occ files:scan --all -vvIm Administrationshandbuch werden genau diese Fälle für einen erneuten Scan genannt: nach dem direkten Kopieren von Dateien in das Datenverzeichnis, nach einer Migration und bei der Untersuchung von Inkonsistenzen im Dateicache.
Welche Lösung synchronisiert eine große Bibliothek schneller?
Seafile ist in den beiden Fällen schneller, die in der Praxis besonders problematisch sind: bei Zehntausenden kleiner Dateien und bei wiederholten Änderungen an großen Dateien. Der Grund ist die blockbasierte Deduplizierung. Wenn sich beispielsweise die Mitte eines 4 GB großen Disk-Images ändert, werden nur einige Blöcke hochgeladen. Nextcloud verringert den Abstand bei kleinen Dateien durch den Bulk-Upload. Den Unterschied bei großen Dateien kann Nextcloud jedoch nicht ausgleichen, weil die gesamte Datei die Übertragungseinheit ist.
Verlassen Sie sich weder bei der Größe des Unterschieds auf meine Aussage noch auf einen Hersteller-Benchmark. Erstellen Sie eine Bibliothek, die Ihrer eigenen Umgebung entspricht, und messen Sie die Zeit:
mkdir -p ~/synctest && cd ~/synctest
for i in $(seq 1 20000); do head -c 4096 /dev/urandom > "file_$i.bin"; done
du -sh ~/synctestLegen Sie dieses Verzeichnis in einen synchronisierten Ordner auf jedem Server und beobachten Sie, bis der Client den Vorgang abgeschlossen hat. Die Zuverlässigkeit ist ebenso wichtig wie die Geschwindigkeit. Ein Seafile-Client lädt zuerst die Blöcke hoch und schreibt den Commit, der auf diese Blöcke verweist, erst danach. Wird der Upload unterbrochen, bleibt die Bibliothek daher auf ihrem vorherigen Commit, statt einen teilweise geschriebenen Verzeichnisbaum zu enthalten.
Was die einzelnen Dienste auf einem kleinen VPS benötigen
Die Seafile-Dokumentation nennt „mindestens 2G RAM und eine 2-Core-CPU (> 2GHz)“. Nextcloud dokumentiert den Speicherbedarf stattdessen pro PHP-Prozess: mindestens 128 MB und empfohlen 512 MB pro Prozess. Diesen Wert multiplizieren Sie mit der Anzahl Ihrer Worker und addieren anschließend die Anforderungen für Datenbank, Cache und Vorschaugenerierung. Die folgenden Werte sind Ausgangspunkte für ein kleines Team. Sie sind keine Messwerte.
The data behind this chart
[
{
"label": "Seafile CE 13",
"start_ram_gb": 4,
"start_cpu_cores": 2,
"sql_databases": 3
},
{
"label": "Nextcloud 34",
"start_ram_gb": 4,
"start_cpu_cores": 2,
"sql_databases": 1
},
{
"label": "Syncthing 2",
"start_ram_gb": 1,
"start_cpu_cores": 1,
"sql_databases": 0
}
]Beide liegen in derselben Klasse: 4 GB RAM mit 2 Kernen. Der Ressourcenbedarf entscheidet daher nicht zwischen ihnen. Syncthing läuft mit 1 GB RAM auf 1 Kern. Das ist der sachliche Grund, es in Betracht zu ziehen. Die Unterschiede bei den Komponenten sind größer als die Unterschiede beim Speicherbedarf. Seafile verwendet 3 SQL-Datenbanken, während Nextcloud 1 verwendet. Die standardmäßige Seafile-Docker-Bereitstellung startet den Server, MariaDB, Memcached, SeaDoc und Caddy aus Dateien, die Sie zunächst herunterladen:
mkdir /opt/seafile
cd /opt/seafile
wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env
wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
wget https://manual.seafile.com/13.0/repo/docker/caddy.yml
nano .envLegen Sie in .env SEAFILE_SERVER_HOSTNAME, die MySQL-root- und Datenbankpasswörter, das anfängliche Administratorkonto sowie JWT_PRIVATE_KEY fest. Das Handbuch verlangt für diesen Schlüssel eine zufällig erzeugte Zeichenfolge mit mindestens 32 Zeichen. Der Schlüssel wird beim ersten Start eingelesen. Erzeugen Sie ihn daher, bevor Sie den Stack starten:
openssl rand -base64 40
docker compose up -dBeim ersten Start werden die drei Datenbanken und der Administrat Benutzer erstellt. Die entsprechenden Entscheidungen für Nextcloud, einschließlich TLS und Reverse Proxy, werden in der Anleitung zu Nextcloud auf einem VPS mit Docker, TLS und Backups beschrieben.
Wie unterscheiden sich Backups?
Das ist der Punkt, den viele unterschätzen. Hier unterscheiden sich die beiden Produkte am deutlichsten.
Bei Seafile ist die Reihenfolge nicht optional. Das Handbuch schreibt vor, zuerst die SQL-Datenbank und anschließend das Datenverzeichnis zu sichern. Dann hat jeder Datensatz in der Datenbank ein gültiges Objekt, auf das er verweisen kann, und die Bibliotheken werden nicht beschädigt. Wenn Sie die Reihenfolge umkehren, kann eine Datenbankzeile auf einen Block verweisen, den Ihr Snapshot nicht erfasst hat.
docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt ccnet_db > ccnet_db.sql
docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt seafile_db > seafile_db.sql
docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt seahub_db > seahub_db.sql
rsync -az /opt/seafile-data/seafile /backup/data/In diesen Zeilen sind zwei Details wichtig. Verwenden Sie mariadb-dump, weil die Befehlsreihe mysql im MariaDB-Image, das Seafile ausliefert, veraltet ist. Entfernen Sie bei docker exec das Flag -t, wenn Sie die Ausgabe in eine Datei umleiten. Ein TTY schreibt Zeilenenden um und beschädigt den Dump.
Die beiden Teile werden getrennt erfasst und können daher voneinander abweichen. Prüfen Sie nach jeder Wiederherstellung den Speicher, bevor Sie ihm vertrauen:
docker exec -it seafile bash
cd /opt/seafile/seafile-server-latest
./seaf-fsck.shWenn etwas fehlt, nennt das Tool das Objekt:
Block 650fb22495b0b199cff0f1e1ebf036e548fcb95a is missing.
Repo ca1a860d HEAD commit is corrupted, need to restore to an old version.Planen Sie auch die Garbage Collection ein. Durch die Deduplizierung behalten gelöschte Dateien und gelöschte Bibliotheken ihre Blöcke, bis Sie aus demselben Verzeichnis ./seaf-gc.sh ausführen. Der Lauf meldet, was gefunden wurde, beispielsweise GC finished. 507 blocks total, about 507 reachable blocks, 0 blocks can be removed.. Wenn Sie das ein Jahr lang auslassen, zahlen Sie bei Ihren Backups weiterhin für Daten, die Ihre Benutzer gelöscht haben.
Bei Nextcloud besteht dasselbe zweiteilige Problem in einer anderen Form, weil das Datenverzeichnis und die Datenbank denselben Verzeichnisbaum abbilden müssen:
sudo -E -u www-data php occ maintenance:mode --on
rsync -Aavx /srv/nextcloud/ /backup/nextcloud-dirbkp/
mariadb-dump --single-transaction --default-character-set=utf8mb4 -u nextcloud -p"$DB_PASS" nextcloud > /backup/nextcloud-sqlbkp.bak
sudo -E -u www-data php occ maintenance:mode --offSichern Sie das Konfigurationsverzeichnis, das Datenverzeichnis, alle benutzerdefinierten Apps und Ihr Theme sowie diesen Dump. Stellen Sie beide Teile aus demselben Zeitpunkt wieder her. Ist das Datenverzeichnis neuer als die Datenbank, sehen Benutzer Dateien, die der Dateicache nicht kennt, und occ files:scan --all repariert diesen Zustand. Ist die Datenbank neuer, verweisen Cache-Zeilen auf nicht mehr vorhandene Dateien, und occ files:cleanup entfernt Cache-Einträge ohne passenden Eintrag in der Speichertabelle.
In beiden Fällen benötigen Sie ein Backup-Programm, das mit vielen kleinen Dateien umgehen kann und die Historie erhält. Genau darin unterscheiden sich restic und BorgBackup.
Clients auf Desktop und Mobilgeräten
Seafile veröffentlicht zwei Desktop-Programme. Der Synchronisierungsclient hält eine lokale Kopie der ausgewählten Bibliotheken vor. Der Drive-Client (SeaDrive) bindet Ihre Bibliotheken als virtuelles Laufwerk ein und lädt Dateien erst beim Zugriff herunter: Unter Windows verwendet er die Microsoft Cloud Files API, unter macOS ist Version 3.0 eine Finder-Erweiterung, und unter Linux wird er seit 3.0.12 als AppImage bereitgestellt und unter ~/SeaDrive eingebunden. Verschlüsselte Bibliotheken funktionieren auf allen drei Desktop-Plattformen. Die mobilen Apps dienen dem Zugriff auf Dateien. Mehr bieten sie nicht.
Auch der Desktop-Client von Nextcloud bietet virtuelle Dateien. Die mobilen Apps decken außerdem die übrigen Funktionen der Plattform ab. Kalender, Kontakte, Talk und Notizen stehen dadurch zusätzlich zum Dateizugriff zur Verfügung. Wenn Ihre Benutzer hauptsächlich Smartphones verwenden und mehr als Dateien benötigen, ist das im täglichen Betrieb ein relevanter Unterschied.
Ein Detail bei Seafile muss bei der Planung berücksichtigt werden: Die Bibliothek ist die Einheit für Freigaben, Synchronisierung, Berechtigungen und Verschlüsselung. Legen Sie die Struktur Ihrer Bibliotheken fest, bevor Sie 500 GB in eine einzige Bibliothek laden. Ein Wechsel zwischen Bibliotheken besteht aus Kopieren und Löschen, nicht aus Umbenennen. Die Dateihistorie wird dabei nicht übernommen.
Verschlüsselung: Was die einzelnen Verfahren tatsächlich schützen
Die verschlüsselten Bibliotheken von Seafile arbeiten auf der Clientseite. Das Passwort wird niemals auf dem Server gespeichert. Zusammen mit der Bibliothek wird ein aus dem Passwort und der Bibliotheks-ID abgeleitetes Magic Token gespeichert. Dadurch kann ein Client das Passwort prüfen, bevor er die Bibliothek synchronisiert. Der Dateischlüssel wird mit einem aus Ihrem Passwort abgeleiteten Schlüssel und IV (Initialisierungsvektor) per AES 256/CBC verschlüsselt. Die Dateidaten werden mit diesem Dateischlüssel verschlüsselt.
Lesen Sie die dokumentierten Einschränkungen, da diese häufig übersehen werden. Eine verschlüsselte Bibliothek verschlüsselt nur die Dateiinhalte. Ordner- und Dateinamen werden nicht verschlüsselt. Das gilt auch für Dateigrößen und den Bearbeitungsverlauf. Das Durchsuchen einer verschlüsselten Bibliothek in einem Webbrowser ist nicht Ende-zu-Ende-verschlüsselt: Sie geben das Passwort ein, der Server verwendet es zum Entschlüsseln des Dateischlüssels und speichert das Passwort eine Stunde lang im Speicher. Im Handbuch wird außerdem ausdrücklich darauf hingewiesen, dass eine verschlüsselte Bibliothek keine Integrität gewährleistet. Ein Serveradministrator kann einen Teil des Dateiinhalts ändern, ohne dass der Client dies erkennt.
Nextcloud bietet zwei Funktionen mit verwirrend ähnlichen Namen. Die serverseitige Verschlüsselung verschlüsselt Dateien im Ruhezustand, speichert die Schlüssel jedoch auf demselben Server. Sie schützt Daten auf externem Speicher daher deutlich besser, als sie Sie vor jemandem mit root-Zugriff auf dem Server schützt. Die App für Ende-zu-Ende-Verschlüsselung verschlüsselt ausgewählte Ordner auf dem Client. Der Server kann diese Ordner daher absichtlich nicht lesen. Auch die Weboberfläche, die serverseitige Suche und Vorschauen können den Inhalt dieser Ordner nicht anzeigen.
Die Verschlüsselung beider Produkte ersetzt kein verschlüsseltes Backup. Verschlüsseln Sie das Backup separat.
Kalender, Kontakte, Office und die App-Plattform
In diesem Punkt liegen die Produkte weit auseinander. Nextcloud liefert CalDAV (Kalender über WebDAV) und CardDAV (Kontakte über WebDAV) im Kern aus, integriert Collabora oder OnlyOffice für Dokumente und bietet für alle weiteren Funktionen einen App Store. Seafile 13 liefert SeaDoc für gemeinsam bearbeitete Dokumente und Wiki-Seiten und geht nicht darüber hinaus. Einen Kalender und ein Adressbuch gibt es nicht.
Die Plattform hat ihren Preis, und dieser Preis sind Upgrades. Jede installierte App kann ein weiteres Hindernis für ein Nextcloud-Upgrade sein oder sich danach fehlerhaft verhalten. Je stärker Ihre Benutzer von diesen Funktionen abhängen, desto sorgfältiger müssen Sie das Upgrade-Fenster planen. Bei Seafile gibt es weniger Fehlerquellen, weil die Plattform weniger Funktionen bietet. Beachten Sie außerdem, dass nur Seafile Professional, nicht die Community Edition, unter einer kostenpflichtigen Lizenz die Volltextsuche in Dokumenten und Berechtigungen auf Ordnerebene bereitstellt. Prüfen Sie daher, ob die von Ihnen benötigte Funktion in der Edition enthalten ist, die Sie einsetzen möchten.
Das typische Fehlerbild der einzelnen Systeme
Seafile fällt aus, wenn Datenbank und Objektspeicher nicht mehr übereinstimmen. Dann lässt sich eine Bibliothek nicht öffnen, oder Dateien verschwinden, und seaf-fsck.sh gibt den fehlenden Block aus. Es gibt keinen Dateibaum, den Sie manuell reparieren können. Für die Wiederherstellung benötigen Sie daher Ihren Datenbank-Dump und Ihren Objektspeicher. Stellen Sie beides in der richtigen Reihenfolge wieder her. Testen Sie diese Wiederherstellung einmal auf einem separaten VPS. Ein Backup, das Sie noch nie wiederhergestellt haben, ist nur eine Vermutung.
Nextcloud fällt aus, wenn Dateicache und Datenträger nicht übereinstimmen. Ursache ist meist, dass etwas in das Datenverzeichnis geschrieben hat, ohne Nextcloud zu informieren. Dann sehen Sie eine Datei auf dem Datenträger, die in der Weboberfläche nicht angezeigt wird, oder einen Ordner mit einer falschen Größe, und occ files:scan behebt das Problem. Die beiden anderen Schwachstellen sind die Protokollgeschwindigkeit bei vielen kleinen Dateien, die sich auch durch mehr CPU-Leistung nicht beheben lässt, und der PHP-Speicherbedarf. Vorschauen großer Bilder und Videos verursachen typischerweise kurzzeitig einen hohen Speicherbedarf. Planen Sie daher 512 MB pro Prozess ein und erzeugen Sie Vorschauen in einem geplanten Job statt während der Anfragen.
Weder noch: Syncthing, wenn Sie nur Dateien synchronisieren möchten
Wenn Ihre eigentliche Anforderung darin besteht, einen Ordner zwischen Rechnern zu spiegeln, bieten beide Produkte mehr Funktionen, als Sie benötigen. Syncthing hat keinen Server und keine Benutzerkonten. Jedes Gerät ist ein Peer. Ein VPS wird zu dem Peer, der aktiv bleibt, wenn Ihr Laptop in den Ruhezustand wechselt. Syncthing 2 ist die aktuelle Version. Die Pakete stammen aus dem eigenen 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 syncthingFühren Sie es als normaler Benutzer aus, niemals als root. Dadurch haben die geschriebenen Dateien sinnvolle Besitzrechte:
sudo systemctl enable --now syncthing@youruser
systemctl status syncthing@youruserDie Weboberfläche bindet standardmäßig an 127.0.0.1:8384. Sie ist daher nicht aus dem Internet erreichbar. Das ist die richtige Standardeinstellung. Greifen Sie über einen SSH-Tunnel von Ihrem Laptop darauf zu:
ssh -L 8384:127.0.0.1:8384 youruser@your-serverÖffnen Sie anschließend http://127.0.0.1:8384 auf dem Laptop. Die Synchronisierung selbst verwendet Port 22000 über TCP und QUIC. Die lokale Erkennung verwendet UDP 21027 und funktioniert nicht über das Internet. Öffnen Sie auf einem VPS Port 22000 und lassen Sie die Weboberfläche geschlossen:
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udpSie verzichten damit auf sämtliche Serverfunktionen: keine Freigabelinks für Personen, die Syncthing nicht ausführen, keinen Web-Dateibrowser, keine Benutzerkonten und keinen serverseitigen Papierkorb, sofern Sie nicht für jeden Ordner die Dateiversionierung aktivieren. Die typische Überraschung ist die Konfliktdatei. Bearbeiten Sie eine Datei auf zwei Geräten, während diese keine Verbindung zueinander haben, erhalten Sie eine gleichnamige Datei mit einem Suffix wie notes.sync-conflict-20260806-142233-ABCD1EF.md. Es gibt keine Warnung. Suchen Sie daher gelegentlich nach sync-conflict.
Wenn Sie keinen synchronisierten Ordner, sondern einen Bucket benötigen, in den Anwendungen schreiben, ist dafür erneut ein anderes Werkzeug erforderlich: siehe S3-kompatibler Objektspeicher im Self-Hosting. Einen umfassenderen Überblick über dieses Themenfeld bietet der Vergleich selbst gehosteter Dropbox-Alternativen; dort werden auch Lösungen behandelt, die in diesem Vergleich nicht berücksichtigt wurden.
Die Entscheidungsregel
- Wählen Sie Seafile, wenn es um Synchronisierung im großen Maßstab geht: viele Dateien, große Dateien, mehrere Geräte und ein Datenspeicher, den nur Seafile lesen kann.
- Wählen Sie Nextcloud, wenn es um eine Plattform geht: Kalender, Kontakte, Dokumente und Freigabelinks sowie einfache Dateien auf dem Datenträger, die jedes Backup-Tool lesen kann.
- Wählen Sie Syncthing, wenn es ausschließlich um einen gespiegelten Ordner geht.
Treffen Sie die Entscheidung jetzt sorgfältig, denn die Migration zwischen Seafile und Nextcloud führt zur tatsächlichen Bindung an das Produkt. Es gibt keinen Konverter. Sie synchronisieren alle Daten auf einen Client herunter und laden sie in den anderen Server hoch. Dabei entstehen Kosten für Bandbreite und Zeit, während Versionsverlauf und Freigabelinks zurückbleiben. Die heutige Wahl für die nächsten drei Jahre passend zu dimensionieren ist günstiger, als im zweiten Jahr zu wechseln.
FAQ
Ist Seafile beim Synchronisieren großer Bibliotheken schneller als Nextcloud?
Ja, in den beiden Fällen, die normalerweise Probleme verursachen, und aus einem überprüfbaren Grund. Seafile teilt Dateien in Blöcke mit einer durchschnittlichen Größe von etwa 8 MB auf und überträgt nur die geänderten Blöcke. Dadurch werden bei einer Änderung innerhalb einer großen Datei nur wenige Blöcke übertragen. Bei Nextcloud ist die gesamte Datei die Übertragungseinheit. Dieselbe Änderung lädt daher die komplette Datei erneut hoch. Viele kleine Dateien verursachen jeweils mindestens eine WebDAV-Anfrage. Deshalb fasst die Bulk-Upload-API von Nextcloud kleine Dateien zusammen. Messen Sie beide Varianten auf Ihrem eigenen VPS, bevor Sie sich festlegen. Ihre CPU, Ihr Datenträger und Ihre Netzwerkverbindung sind ebenso wichtig wie das Protokoll.
Kann ich Seafile sichern, indem ich rsync auf dem Datenverzeichnis ausführe?
Nur zusammen mit den Datenbanken und in der dokumentierten Reihenfolge. Laut Handbuch von Seafile müssen Sie zuerst die SQL-Datenbank und anschließend das Datenverzeichnis sichern. Dann verweist jeder Datenbankeintrag auf ein Objekt, das im Backup vorhanden ist. Der Befehl rsync -az /opt/seafile-data/seafile /backup/data/ kopiert conf, seafile-data und seahub-data. Allein ist das Backup jedoch nicht wiederherstellbar, weil der Objektspeicher keinen lesbaren Dateibaum enthält und die Datenbank als Index dient. Nachdem Sie beide Teile wiederhergestellt haben, führen Sie seaf-fsck.sh aus und prüfen Sie die Ausgabe, bevor Sie dem Ergebnis vertrauen.
Benötige ich Nextcloud, wenn ich nur Dateien synchronisieren möchte?
Nein. Nextcloud ist eine Plattform. Kalender, Kontakte und App Store benötigen Speicher und erhöhen den Pflegeaufwand bei Upgrades, unabhängig davon, ob Sie sie verwenden. Für reine Dateisynchronisierung ist Seafile das schlankere Produkt mit dem schnelleren Protokoll. Syncthing ist noch schlanker, weil dafür keine Serverseite betrieben werden muss. Wählen Sie Nextcloud, wenn Sie die zusätzlichen Anwendungen benötigen, nicht als Standardlösung.
Verbirgt eine verschlüsselte Seafile-Bibliothek meine Dateinamen?
Nein. Eine verschlüsselte Bibliothek verschlüsselt den Dateiinhalt auf dem Client. Das Kennwort wird niemals an den Server übertragen. Ordnernamen, Dateinamen, Dateigrößen und der Bearbeitungsverlauf bleiben jedoch auf dem Server sichtbar. Wenn Sie eine verschlüsselte Bibliothek in der Weboberfläche öffnen, wird das Kennwort ebenfalls an den Server übertragen. Der Server entschlüsselt damit den Dateischlüssel und hält das Kennwort eine Stunde lang im Arbeitsspeicher. Wenn die Namen selbst vertraulich sind, verwenden Sie diese Bibliothek nicht über die Weboberfläche und verschlüsseln Sie auf einer anderen Ebene.
Wie viel RAM sollte ich Seafile oder Nextcloud auf einem VPS zuweisen?
Beginnen Sie bei beiden Produkten mit 4 GB RAM und 2 Kernen, wenn nur wenige Benutzer vorhanden sind. Überwachen Sie anschließend den Speicherverbrauch während der Vorschauerzeugung und der Suche. Die Seafile-Dokumentation nennt 2 GB RAM und eine CPU mit 2 Kernen und mehr als 2 GHz als Mindestwerte. Nextcloud empfiehlt 512 MB pro PHP-Prozess. Multiplizieren Sie diesen Wert mit der Anzahl der Worker, bevor Sie die Anforderungen für Datenbank und Cache addieren. Syncthing läuft mit 1 GB problemlos.