Syncthing synchronisiert Dateien über ein Peer-to-Peer Protokoll. Wenn der Server hinter einem DSL-Router oder einer anderen NAT-Firewall steht, richten wir dort eine Weiterleitung der TCP-Ports ab 22000 ein, um mobile Geräte direkt zu verbinden und ohne einen (langsamen) Relay-Server in Anspruch nehmen zu müssen.
Das Paket enthält den Daemon, Unit-Dateien und reichlich Dokumentation.
apt install syncthing
Syncthing ist eigentlich nicht für den Betrieb auf einem Server ausgelegt. Für jeden Benutzer muss eine eigene Instanz des Daemons laufen und diese braucht eigene Ports.
~User/.config/syncthing/config.xml… <gui enabled="true" tls="false" debugging="false"> <address>127.0.0.1:8384</address> </gui> <options> <listenAddress>tcp://:22001</listenAddress> </options>
Für jeden Benutzer instanziieren wir eine eigene Unit.
systemctl enable --now syncthing@User.service
/etc/apache2/sites-enabled/default.conf… # Syncthing <Location /syncthing/User> ProxyPass http://localhost:8384/ ProxyPassReverse http://localhost:8384/ RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME} RequestHeader set Host localhost Require all granted </Location> …
Die benutzereigene Unit startet den Daemon beim Anmelden und stoppt ihn beim Abmelden.
systemctl --user --now enable syncthing.service firefox http://localhost:8384
Über die eingebaute Webanwendung kann man nun verschiedene Ordner einrichten und diese nach Weitergabe der Geräteidentifikation mit anderen Geräten teilen. Das funktioniert allerdings nur, wenn beide gleichzeitig eingeschaltet sind. Daher bietet es sich an, den Webserver als zentrale Instanz einzubinden.