Syncthing Installation

zurück zur Datensicherung weiter zur Syncthing Konfiguration

Die folgenden Abschnitte beschreiben, wie Syncthing auf

  • einem Linux Client,
  • einem Windows Client und
  • dem Raspberry PI (als Service)

installiert wird.

Linux Notebook

Zunächst habe ich Syncthing auf dem Linux Notebook installiert:

sudo apt install syncthing

Um Syncthing auf dem Notebook zu starten, habe ich einfach einen reboot Eintrag in der crontab vorgenommen:

crontab -e
@reboot /usr/bin/syncthing

Windows PC

Für Windows gibt es das „Syncthing Windows Setup“. Das ist eine exe-Datei, die man sich von GitHub herunterladen kann: https://github.com/Bill-Stewart/SyncthingWindowsSetup/releases/latest/

Ein Doppelclick auf die exe-Datei installiert Syncthing.

Raspberry Pi 4

Auf dem soll Syncthing als Service laufen. Man muss zunächst das Syncthing Repository bekannt machen. Das läuft in zwei Schritten:

Erstens man braucht den GPG Schlüssel, der dann sicherstellt, dass die Pakete auch wirklich von Syncthing stammen:
sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg

Zweitens muss man mit diesem, etwas kryptischen, Befehl das Repository hinzufügen:
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
Im Verzeichnis /etc/apt/sources.list.d wird eine neue Datei namens syncthing.list erstellt. Diese Datei enthält die Quelle für das Syncthing-Repository, sowie den Verweis auf den GPG-Schlüssel zur Prüfung der Signatur.

Das System kann nun Pakete aus diesem Repository beziehen, nachdem die Paketquellen mit sudo apt update aktualisiert wurden.

Nach dieser Vorbereitung kann man Syncthing aus der originalen Paketquelle installieren: sudo apt install syncthing

Da der Raspberry als Server fungiert, soll Syncthing als Dienst gestartet werde, der auch nach einem Neustart selbständig wieder anläuft:

sudo systemctl enable syncthing@<user>.service
sudo systemctl start syncthing@<user>.service

Dabei muss der Platzhalter <user> durch den Raspberry User ersetzt werden (sehr oft ist das pi).

Wenn der Raspberry „headless“ (also ohne Bildschirm, Tastatur und Maus) arbeitet, brauch man unbedingt noch eine kleine Änderung der Syncthing Konfigurationsdatei ~/.local/state/syncthing/config.xml

Die Zeile
<address>127.0.0.1:8384</address>
muss geändert werden in
<address>0.0.0.0:8384</address>

Damit erlaubt man auch anderen Clients im LAN die Webseite aufzurufen.

Jetzt fehlt noch der Funktionstest. Der Raspberry wird mit sudo reboot now neu gestartet. Nun sollte Syncthing als Dienst laufen, was man mit sudo systemctl status syncthing prüfen kann. Nun sollte auch von einem beliebigen Browser im Netzwerk die Adresse http://<raspberry-host-name>:8384 funktionieren.

Wow, das war viel. Hat’s funktioniert?