Dropbox steht schon länger auf meiner Liste auszuwechselnder Dienste. Da mein Heimserver wieder läuft und aufgeschreckt von der Ankündigung des baldigst wegfallenden Spacerace-Speicherplatzes habe ich Dropbox durch syncthing ersetzt.
Vorläufiges Fazit: Das funktioniert und ist in manchen Belangen besser als Dropbox, in anderen dagegen hinkt es hinterher.
Einrichtung
Die Installation ist einfach genug. Für Arch liegt es in den Quellen und ist ein pacman -S snycthing
entfernt. Für Ubuntu gibt es ein PPA (Danke an Gerald für den Hinweis):
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing
Danach startet der Befehl syncthing
den Dienst und auch die Weboberfläche auf Port 8080. Dort können Ordner hinzugefügt werden, bei mir beispielweise der Dropbox-Ordner.
Besser ist es, syncthing-inotify ebenfalls zu installieren und den Rescan-Intervall des Sync-Ordners auf 0 zu setzen. Syncthing selbst fehlt das Feature, Änderungen direkt zu erkennen, stattdessen wird alle x Sekunden der Syncordner gescannt. Das ist Verschwendung und war hier schlicht inakzeptabel, weil so die Festplatte des Servers sich nie abschalten würde.
Zum Glück ist auch syncthing-inotify nicht zu kompliziert, man kann einfach das Release herunterladen, es nach /usr/local/bin/ verschieben und dann mit
syncthing-inotify -api=xxxxxxx
starten. Der API-Key findet sich in den Einstellungen.
Syncthing vs Dropbox
Im direkten Vergleich schlägt syncthing sich wacker.
ID statt Account ++/+
Syncthing nutzt ein ID-System. Statt einen Account zu haben, Dropbox zu installieren und sich dann im Client mit dem Account anzumelden, funktioniert bei syncthing alles über die Kontrolle des Rechners. Die ID des anderen Rechners eingeben, dies gegenseitig bestätigen, fertig. Es ist etwas ungewohnt, das spricht für Dropbox. Aber das ID-System ist letztendlich auch nicht komplizierter, und der Wegfall des Passworts ist praktisch.
Server statt Cloud ++/+-
Der große Unterschied ist natürlich, dass syncthing nicht mit einem zentralen Server funktioniert. Statt proprietärer Cloud-Lösung freie Software zum Selberhosten. Der Nachteil dabei ist, dass ich meinen Bürorechner nie mit meinem Heimrechner syncen könnte, hätte ich nicht zusätzlich den Pogo als Heimserver, der als Brücke dient. Denn die beiden sind nie gleichzeitig an. Der Vorteil ist der unbegrenzte Speicherplatz, soweit die Festplatten eben mitmachen - und ausschlaggebend ist die volle Kontrolle über die eigenen Daten.
Konfigurierbare Backups ++/+
Das Backupsystem gefällt mir sehr gut. Für jeden Ordner auf jedem Client kann eingestellt werden, wieviele Revisionen gesichert werden sollen, und der sehr hübsche Staggered File Versioning-Modus sichert dynamisch viele Backup, je nach Intervall der Änderungen. Dropbox hat auch Backups, und sie sind in der Cloud sicher vor Unbill daheim, aber zumindest ohne zu zahlen sind sie weniger mächtig.
Firewalls durchlöchern +/+
Wirklich wichtig und entsprechend positiv war auch, dass die Firewall des Routers kein Problem ist. Für Dropbox ja auch nicht, aber Dropbox ist nur ein Client, kein Server. Ich war nicht sicher, on der Pogo problemlos erreicht würde, oder ob Portweiterleitungen und dyn-dns-Einträge nötig sein würden. Nein, das lief direkt.
Edit-Push
Ohne syncthing-inotify wäre das fehlende Erkennen von Änderungen ein ernstes Problem gewesen, so nachgerüstet ist das ok.
Konflikte -/+
Andererseits hat syncthing kein Verständnis für Konflikte. Kommt eine Änderung verspätet an und die Datei wurde lokal schon verändert, werden diese lokalen Änderungen schlicht überschrieben. Gerade am Anfang, als ich den Syncordner zeitversetzt auf allen Rechnern freigeben musste, war das nicht vertrauenserweckend - funktioniert dort aber. Und immerhin ist das kein Problem, in das ich bei meiner üblichen Nutzung rennen sollte. Trotzdem, Dropbox macht das besser.
CPU und Ram -/++
Negativ ist die Ressourcennutzung. Nein, es hat meinen PC im Normalbetrieb nicht merklich ausgebremst. Aber am Anfang gab es Probleme: Der auf allen Clients schon vorhandene Sync-Ordner wurde nach dem Hinzufügen auf dem letzten Client, dem Laptop, daraufhin wohl als neu markiert und sowohl an meinen Desktop als auch an den Pogo zurückgeschickt. Auf dem Desktop nutzte dieser Sync 270% meiner Dreikern-CPU, also fast alles, und dauerte trotzdem über eine Stunde. Dropbox hat solche Kinderkrankheiten schon lange nicht mehr und arbeitet unbemerkt im Hintergrund.
Auch eine solche Kinderkrankheit: Im Normalbetrieb schießt die CPU-Nutzung auf 150%, wenn die Webadministration aufgerufen wird, ist sie zu sind es immerhin nur ~2%. 2,5GB Ram werden gerade belegt, plus 800MB für snycthing-inotify. Das ist zu viel, wenn es echte Nutzung wäre, aber die Zahlen könnten so hoch sein, weil 12GB im Rechner sind und syncthing sich ungenutzte Ressourcen anrechnen lässt. Immerhin funktioniert es auch auf dem Pogo, und der hat nur 256MB Ram.
Verschlüsselung -/-
Schade auch, dass Dateien auf dem Server nicht von syncthing verschlüsselt werden. Denn das bedeutet, dass ich meine encfs-Verschlüsselung nicht einmotten kann, obwohl die Daten nicht mehr in die Cloud geschickt werden.
Fazit
In kurz: syncthing ist nett. Eine echte Alternative zu Dropbox ist es aber nur, wenn man irgendwo einen Server stehen hat. Und es hat noch nicht Dropboxs Feinschliff, massenmarktreif ist es also nicht. Aber solange der Pogo läuft ist syncthing für mich die bessere Lösung.
Wer es etwas einfacher oder Dropbox-ähnlicher haben will, der sollte sich Syncthing-GTK anschauen. Beispielweise beinhaltet das direkt inotify-Support. Die UI könnte für alles außer Server generell der richtige Weg sein, syncthing zu nutzen.