# Syncthing

Einfacher, schneller Synchronisationsclient, kostenlos und Open Source, Synchronisation per Direktverbindung, außerhalb des eigenen LAN werden Relays eingesetzt, aber kein zentraler Server der die Daten speichert, die Sync-Clients müssen online sein.

# Überblick

Bei Syncthing handelt es sich um ein kostenloses Open Source Programm, welches auf mehreren Geräten installiert wird. Dann können auf den Geräten Ordner freigegeben werden, welche die anderen Geräte empfangen können.

Hier ein Überblick über die Features:

- Komplett kostenlos
- Open Source
- Daten werden nicht auf Server gespeichert, nur auf den eingebunden Geräten (Peer-to-Peer)
- Im lokalen Netzwerk direkte Datenübertragung zwischen den Geräten
- Im Internet werden öffentliche Relays zur Vermittlung genutzt (kein Speichern der Daten)
- End-to-End verschlüsselte Übertragung
- Client installieren und fertig, keine Konfiguration von Servern notwendig
- Wenn mehr als 2 Geräte im Einsatz, können für alle geteilte Ordner auch von allen Geräten untereinander geteilt werden, d. h. es müssen nur 2 Geräte online sein, die dann den aktuellen Stand austauschen, andere Geräte können diesen später empfangen, wenn sie eingeschaltet werden

Im folgenden Beispiel gibt es 3 Geräte. Auf dem Raspberry Pi wurde die Oberfläche geöffnet und zeigt den Status der beiden anderen Clients (PC und Laptop) an. Der Laptop ist ausgeschaltet.

Folgende Schritte wurden durchgeführt:

1. PC ausgeschaltet
2. Laptop eingeschaltet und Ordner Logseq für Raspberry Pi freigegeben
3. Raspberry Pi läuft dauerhaft, Ordner Logseq von Laptop akzeptiert und in Sekunden synchronisiert
4. Laptop ausgeschaltet
5. PC eingeschaltet
6. Raspberry Pi gibt Ordner Logseq für PC frei
7. PC akzeptiert Ordner Logseq von Raspberry Pi und synchronisiert in Sekunden
8. Nun haben alle 3 Geräte den selben Stand
9. PC kann nun Daten bearbeiten und diese werden automatisch mit dem Raspberry Pi synchronisiert
10. Falls der PC ausgeschaltet und der Laptop eingeschaltet wird, so werden die Änderungen automatisch vom Raspberry Pi geladen oder wenn der PC noch eingeschaltet ist, von diesem

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/wHZgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/wHZgrafik.png)

Auf jedem Client kann der aktuelle Status aller verbundenen Geräte eingesehen werden. Wenn z. B. noch ein größerer Synchronisationsvorgang aussteht, kann auch der Fortschritt in den Clients verfolgt werden.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/k4pgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/k4pgrafik.png)

# Installation & Konfiguration

Es werden verschiedene Installation gezeigt und wie diese beim 1. Start konfiguriert werden.

# Docker

### Installation

Im folgenden wird die Installation mit einem Docker Container auf einem Raspberry Pi gezeigt. Es wird der offizielle Container der Entwickler verwendet.

Folgende Docker Compose Konfiguration kann dazu angepasst werden. Diese wird offiziell von den Entwicklern empfohlen: [https://github.com/syncthing/syncthing/blob/main/README-Docker.md](https://github.com/syncthing/syncthing/blob/main/README-Docker.md)

```yaml
services:
  syncthing:
    image: syncthing/syncthing
    container_name: syncthing
    hostname: syncthing #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
    volumes:
      - /path/to/syncthing/config:/var/syncthing
    ports:
      - 8384:8384
      - 22000:22000/tcp
      - 22000:22000/udp
      - 21027:21027/udp
    restart: unless-stopped
```

<p class="callout warning">Durch die Anpassung des Dienst-Benutzers (`PUID=1000`), kann dieser natürlich nicht mehr auf die bereits vorhandenen Dateien zugreifen. Deswegen müssen die Berechtigungen/Eigentümer der Verzeichnisse, die in der Docker Config angegeben sind, geändert werden.  
Dazu kann der folgende Befehl angepasst und verwendet werden: `sudo chown -r 1000 ./bookstack_app_data`</p>

Außerdem ist das Volume `/path/to/syncthing/config` anzupassen, sodass ein existierender Order auf dem Raspberry Pi verwendet wird.

{{@48#bkmrk-Compose-Run}}

### Konfiguration

Nach wenigen Sekunden ist der Container gestartet und Syncthing kann über eine Weboberfläche angesteuert werden. Diese kann von jedem beliebigen Gerät im Heimnetzwerk aufgerufen werden: [http://Raspberry-IP:8384](http://Raspberry-IP:8384)

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/dN6grafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/dN6grafik.png)

Als erstes muss entschieden werden, ob anonyme Nutzungsberichte versendet werden dürfen. Danach öffnet sich das Dashboard.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/pWHgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/pWHgrafik.png)

Hier sehen wir nun einige wichtige Hinweise, denn da der Docker Container seine Dienste publiziert, können alle Einstellungen angepasst werden. Es sollte also dringendst ein User mit einem Passwort vergeben werden. Dazu einfach auf die Schaltfläche *Einstellungen* klicken. Daraufhin öffnet sich ein Menü, in dem dann auf den Reiter *GUI* zu wechseln ist, um einen User und ein Passwort anzugeben.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/vKLgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/vKLgrafik.png)

Sobald auf Speichern geklickt wird, ist der Zugang angelegt und es erfolgt eine Weiterleitung auf die Login Seite.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/R0Jgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/R0Jgrafik.png)

Zum Schluss noch einmal die Logindaten eingeben und anschließend ist wieder das Dashboard zu sehen, doch diesmal ohne Warnhinweise. Nun ist die Erstkonfiguration abgeschlossen und es können Ordner hinzugefügt und geteilt oder neue Geräte hinzugefügt werden.

# Debian/Ubuntu basierte Distributionen

Für Debian oder Ubuntu basierte Distributionen stehen mehrere Clients zur Auswahl.

<details id="bkmrk-docker-%7B%7B%40102%7D%7D"><summary>Docker</summary>

{{@102}}

</details><details id="bkmrk-cli-%2B-web-%C2%A0"><summary>CLI + Web</summary>

Am einfachsten geht es über die folgenden beiden Befehle: *sudo apt update &amp;&amp; sudo apt install -y syncthing*

Oder natürlich über den installierten grafischen Paketmanager, einfach nach Syncthing suchen und installieren.

Anschließend am besten den Dienst von Syncthing für den aktuellen User aktivieren und starten:

```bash
systemctl --user enable syncthing.service
systemctl --user start syncthing.service
```

Danach ist auf dem lokalen Gerät die Weboberfläche erreichbar (im Gegensatz zur Docker Installation nicht für andere Geräte im Heimnetzwerk): [http://localhost:8080](http://localhost:8080)

Die anschließende Konfiguration erfolgt genauso wie bei Docker.

</details><details id="bkmrk-gui-%2B-web-%C2%A0"><summary>GUI + Web</summary>

Es gibt mehrere GUIs, die von den Entwicklern empfohlene ist: *Syncthing GTK*

Diese steht z. B. auch als Flathub Paket zur Installation bereit.

Sobald *Syncthing GTK* installiert ist, kann es auch direkt gestartet werden.

Nach dem Start wird automatisch ein Setup Dialog geöffnet, der durch die ersten Konfigurationsschritte leitet.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/phografik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/phografik.png)

Nach einem Klick auf *Weiter* öffnet sich die Konfiguration des WebUI. Hier empfiehlt sich die bereits vorausgewählte Variante mit *localhost*, sodass das WebUI nur vom aktuellen Host aus geöffnet werden kann.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/Sgsgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/Sgsgrafik.png)

Das war es dann auch schon, nach dem Klick auf Schließen, wird die UI des Clients geöffnet.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/iCBgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/iCBgrafik.png)

Auch im Client wird wieder gefragt, ob anonyme Daten übermittelt werden dürfen. Anschließend können wie in der WebUI Ordner hinzugefügt und synchronisiert und Geräte hinzugefügt werden.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/GrHgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/GrHgrafik.png)

</details><details id="bkmrk-autostart-gui-%7B%7B%40112"><summary>Autostart GUI</summary>

{{@112}}</details>

# Windows/Android/macOS

Auch für Windows, Android und macOS gibt es Installationsdateien: [https://syncthing.net/downloads/](https://syncthing.net/downloads/)

Da die Einrichtung ähnlich wie bei Linux abläuft, wird diese hier nicht nochmal erklärt.

<p class="callout info">Es gibt keine offizielle App für iOS. Die Entwickler empfinden Apples mobiles Betriebssystem als zu nervig, da keine Dienste als Hintergrundprozesse laufen dürfen, somit funktioniert die Synchronisation dann nicht zuverlässig, nur beim Öffnen der App. Eine inoffizielle empfohlene Lösung ist: [App Store - Möbius Sync](https://apps.apple.com/us/app/m%C3%B6bius-sync/id1539203216) (kostenpflichtig).</p>

<p class="callout info">Bei der Windows Installation gibt es eine Besonderheit, deswegen wird diese folgend erklärt.</p>

<details id="bkmrk-windows-installation"><summary>Windows Installation</summary>

Unter Windows wird ein Dienst installiert, keine UI. Stattdessen gibt es nur eine Weboberfläche. Außerdem bietet die Installation unter Windows eine Installation als Admin oder User an. Aufgrund der Berechtigungen, die synchronisierten Ordner werden bei der Admin-Installation werden als Admin abgelegt und sind nur für diesen nutzbar. Deswegen wäre die User-Installation einfacher, da keine Berechtigungen angepasst werden müssen. Also beim Ausühren des Installers bitte *Install for current user only* auswählen.

[![1.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/1.png)](https://jaeckel.one/uploads/images/gallery/2024-03/1.png)

Anschließend wird erstmal die Lizenzinformation angezeigt und mit *Next* abgesegnet.

[![2.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/2.png)](https://jaeckel.one/uploads/images/gallery/2024-03/2.png)

Danach ist das Installationsverzeichnis auszuwählen (hat nichts mit der später angelegten Verzeichnissen für die Synchronisation zu tun). Kann ruhig unverändert bleiben.

[![3.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/3.png)](https://jaeckel.one/uploads/images/gallery/2024-03/3.png)

Standardmäßg wird ein Eintrag im Startmenü angeboten, kann ruhig so gelassen werden.

[![4.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/4.png)](https://jaeckel.one/uploads/images/gallery/2024-03/4.png)

Nun wird der Webserver konfiguriert, bei Bedarf kann z. B. der Port angepasst werden. Die *listen address 127.0.0.1* also *localhost* sollte so gelassen werden, sonst können andere Geräte im Heimnetzwerk auf die WebUI ebenfalls zugreifen, so ist dies nur vom Windows Rechner selbst aus möglich.

[![5.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/5.png)](https://jaeckel.one/uploads/images/gallery/2024-03/5.png)

Auch hier kann ruhig alles auf Standard gelassen werden, damit Syncthing auch permanent läuft und die Daten synchronisiert.

[![6.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/6.png)](https://jaeckel.one/uploads/images/gallery/2024-03/6.png)

Danach wird noch eine Übersicht mit allen konfigurierten Einstellungen angezeigt und mit einem Klick auf *Install* wird alles installiert und eingerichtet.

[![7.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/7.png)](https://jaeckel.one/uploads/images/gallery/2024-03/7.png)

Während der Konfiguration wird das Hinzufügen von Firewall Regeln angeboten, damit der Client auch im lokalen LAN ordnungsgemäß und mit Direktverbindungen (schneller) funktioniert, sollten diese hinzugefügt werden.

<p class="callout warning">Für die automatische Konfiguration der Firewall Regeln sind Adminrechte notwendig, diese werden im Dialog abgefragt, falls der ausführende Benutzer kein Admin ist.</p>

[![8.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/8.png)](https://jaeckel.one/uploads/images/gallery/2024-03/8.png)

Zum Schluss wird die Installation abgeschlossen und den Haken gesetzt lassen, dann wird direkt die Weboberfläche geöffnet, sodass mit der Einstellung der zu synchronisierenden Geräte und Ordner begonnen werden kann.

[![9.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/9.png)](https://jaeckel.one/uploads/images/gallery/2024-03/9.png)

</details>

# Gerät hinzufügen

Damit Ordner geteilt werden können, müssen zuerst die gewünschten Partner (Geräte) hinzugefügt werden. Dabei ist es egal ob sich die Partner im selben Netzwerk befinden oder nicht. Auch über das Internet werden die Geräte durch öffentliche Relay gefunden und verbunden.

Geräte werden mittels einer sog. ID eindeutig identifiziert und lassen sich über diese hinzufügen. Um die eigene ID (auch *Kennung* genannt) anzuzeigen, kann in der WebUI oben rechts auf *Aktionen* und dann auf *Eigene Kennung* geklickt werden.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/PUsgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/PUsgrafik.png)

Nun öffnet sich ein Popup in dem die eigene Kennung als Text und als QR-Code angezeigt wird.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/9Mlgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/9Mlgrafik.png)

Dieser wird nun beim Zielgerät eingegeben, in dem in der WebUI des Ziels auf der Startseite auf Geräte hinzufügen geklickt wird.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/4Bygrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/4Bygrafik.png)

Daraufhin wird folgendes Menü geöffnet. Es kann sein, dass Geräte im lokalen Netzwerk automatisch gefunden und vorgeschlagen werden, dann tauchen diese als Link in diesem Menü auf und können einfach ausgewählt werden. Über die ID können jedoch alle Geräte hinzugefügt werden. Im folgenden Beispiel wurde ein Gerät im lokalen Netzwerk gefunden, sodass keine ID eingegeben werden müssen. Trotzdem sollte die ID natürlich abgeglichen werden.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/YU6grafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/YU6grafik.png)

Hier wird nun die Gerätekennung (ID) eingetragen und der Gerätename kann selbst frei gewählt werden und dient nur zur übersichtlichen Anzeige. Weiterhin können in diesem Menü noch verschiedene Optionen zum *Teilen* und erweiterte Optionen (*Erweitert*)festgelegt werden.

#### Teilen

Hier können folgende Optionen angepasst werden.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/D7tgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/D7tgrafik.png)

<details id="bkmrk-verteilerger%C3%A4t-mit-d"><summary>Verteilergerät</summary>

Mit dieser Optionen lassen sich automatisch alle Geräte vom Ziel abfragen, um diese ebenfalls als Geräte hinzuzufügen. Dadurch lassen sich schnell und einfach neue Geräte in bereits bestehende Netzwerke aus verschiedenen Geräten aufnehmen. Hierbei gilt trotzdem, dass jedes Geräte eine Einladung erhält und diese explizit akzeptieren muss, nur dann wird es hinzugefügt. Aber nur die Geräte, die ablehnen werden nicht aufgenommen, alle Geräte die die Einladung annehmen werden hinzugefügt.

</details><details id="bkmrk-automatische-annahme"><summary>Automatische Annahme</summary>

Mit dieser Optionen werden automatisch alle Ordnerfreigaben vom Ziel angenommen, wenn das Ziel diese mit dem aktuellen Gerät teilt. Dadurch wird das Akzeptieren erspart.

</details><details id="bkmrk-nicht-geteilte-ordne"><summary>Nicht geteilte Ordner</summary>

Hier lassen sich nun die Ordner einstellen, die mit dem Ziel geteilt werden sollen.

</details>#### Erweitert

In diesem Reiter lassen sich noch weitere diverse Einstellungen vornehmen. So kann z. B. die Komprimierung erhöht werden, um die zu übertragenen Daten zu verringern, jedoch erhöht dies die Arbeitslast auf dem Gerät.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/oLzgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/oLzgrafik.png)

#### Speichern

Sobald die Einstellungen vorgenommen sind, kann mit dem Klick auf *Speichern* eine Anfrage an das Ziel gesendet werden, um dieses hinzuzufügen. Daraufhin wird im WebUI des Ziels folgende Aufforderung angezeigt.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/oImgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/oImgrafik.png)

Klickt der Benutzer auf Gerät hinzufügen, so öffnet sich in etwa das selbe Menü wie beim Sender. Nur das die ID bereits vorausgefüllt ist sowie der Gerätename. Auch der Empfänger kann wieder unter Teilen und Erweitert die selben Einstellungen vornehmen wie der Sender.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/WQugrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/WQugrafik.png)

Anschließend wird das Gerät mit dem Synchronisationsstatus angezeigt.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/HDKgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/HDKgrafik.png)

# Ordner synchronisieren

Order zu Syncthing hinzufügen, Einstellungen anpassen und mit anderen Geräten teilen.

# Ordneroptionen

### Standardordner (Default Folder)

Standardmäßig erstellt Syncthing automatisch einen Ordner, der synchronisiert bzw. geteilt werden kann. Dies ist der Ordner *Sync* im Home-Verzeichnis des aktuellen Benutzers (Linux: */home/benutzername/Sync*, Windows: *C:\\Users\\benutzername\\Sync*).

Schauen wir uns den Ordner mal im Browser in Syncthing an (auch im lokalen Client wird dieser angezeigt). Der Standardordner (Default Folder) wurde in diesem Beispiel bereits geteilt, normalerweise wäre dies nicht der Fall.

<p class="callout info">Es reicht nicht, einen Ordner in Syncthin hinzuzufügen, um diesen mit allen Geräte zu teilen, sondern dieser muss explizit mit den anderen Geräten geteilt werden. Erst dann können die anderen Geräten diesen freigegebenen Ordner synchronisieren.</p>

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/jN1grafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/jN1grafik.png)

Die dargestellten Informationen sollten soweit selbst erklärend sein. Trotzdem werden folgend die Einstellungsmöglichkeiten nähert betrachtet, darunter auch das Bearbeiten dieser Einstellungen.

### Pause

Mit dieser Schaltfläche kann die Synchronisation des Ordners pausiert werden. Sobald die Synchronisation pausiert wird, wird dieser nicht mehr an andere Geräte gesendet oder von diesen empfangen. Das kann sinnvoll sein, wenn versehentlich Änderungen vorgenommen wurden. Durch das Pausieren kann nun ein anderes synchronisiertes Gerät gestartet werden, auf dem sich ein älterer Stand befindet, um die Daten zu rekonstruieren.

### Neu scannen

Die Ordner werden zwar automatisch gescannt, trotzdem kann es vielleicht hin und wieder sinnvoll sein, den Ordner einmal komplett neu scannen zu lassen. Dies kann je nach Größe und Anzahl der Dateien einige Zeit in Anspruch nehmen.

### Bearbeiten

Damit wird die Bearbeitung der Einstellungen dieses Ordner ermöglicht. Schauen wir uns die einzelnen Einstellungen genauer an. Diese sind in Reitern gruppiert, weshalb die Beschreibung nach diesen Reitern aufgebaut wird.

Die 3 Schaltflächen (*Entfernen*, *Speichern* und *Schließen*) ganz unten im Menü sind immer sichtbar. Mit *Entfernen* lässt sich dieser Ordner aus Syncthing entfernen (der lokale Ordner bleibt bestehen), die anderen Optionen erklären sich von selbst.

#### Allgemein

In diesem Reiter lässt sich die Bezeichnung des Ordner ändern, also der Name, der im WebUI angezeigt wird. Wohingegen die Ordnerkennung und der Ordnerpfad sich nicht bearbeiten lassen. Vor allem die Ordnerkennung ist wichtig, damit die anderen Geräte die Ordner unterscheiden können.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/jZKgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/jZKgrafik.png)

#### Teilen

Wie der Titel des Reiters schon sagt, wird in diesem festgelegt, welche Geräte diesen Ordner synchronisieren dürfen. In diesem Fall ist zu sehen, dass dieser Ordner bereits mit dem Gerät *Raspi* geteilt ist. Hier werden alle Geräte aufgelistet, mit denen wir uns verbunden haben. Zur Zeit ist dies nur das Gerät *Raspi*, weswegen keine weiteren Geräte angezeigt werden.

<p class="callout info">Für jedes Gerät kann individuell festgelegt werden, ob dieses diesen Ordner synchronisieren darf.</p>

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/mb7grafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/mb7grafik.png)

#### Dateiversionierung

Hier lässt sich eine Versionierung aktivieren. Es stehen verschiedene Möglichkeiten zur Auswahl, wie z. B. die letzten 10 Versionen behalten, die gelöscht wurden oder die letzten 15 Versionen behalten, die geändert wurden. Durch die Versionierung lassen sich ungewollte Änderungen wiederherstellen. Alle Einstellungsmöglichkeiten können in der offiziellen Dokumentation nachgelesen werden: [https://docs.syncthing.net/v1.27.3/users/versioning](https://docs.syncthing.net/v1.27.3/users/versioning)

<p class="callout info">Standardmäßig ist keine Versionierung aktiv.</p>

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/OsQgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/OsQgrafik.png)

Wenn die Versionierung aktiv ist, steht in der Ordnerübersicht eine weitere Schaltfläche *Versionen* zur Auswahl. Je nach Einstellung sieht das Fenster mit den Versionen ggf. etwas anders aus.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/tCtgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/tCtgrafik.png)

#### Ignoriermuster

Falls Ordner geteilt werden, die z. B. Temp-Dateien enthalten, lassen sich diese in diesem Reiter mit sog. Ignoriermustern von der Synchronisation ausschließen.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/Fm8grafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/Fm8grafik.png)

#### Erweitert

In diesem Reiter können eine ganze Reihe von Einstellungen angepasst werden. So lässt sich einstellen, wie häufig der Ordner gescannt werden soll. Hier bietet sich die Option *Änderungen überwachen* an, wodurch das Dateisystem genutzt wird, um geänderte Dateien zu erkennen. Zusätzlich wird trotzdem ein *Vollständiges Scannintervall* angegeben, um notfalls Änderungen zu erkennen, die vielleicht nicht vom Dateisystem berichtet wurden.

Besonders interessant ist die Option *Ordnertyp*. Dort lässt sich einstellen, ob die Änderungen gesendet und empfangen werden sollen oder ob das aktuelle Gerät nur seine Änderungen versendet, aber keine Änderungen entgegen nimmt oder ob das aktuelle Gerät nur Änderungen empfängt, aber seine eigenen nicht mit anderen Geräten teilt.

Weiterhin gibt es noch die Option *Dateiübertragungsreihenfolge*. Hier lässt sich festlegen, welche Dateien zuerst übertragen werden sollen. Sofern die Synchronisationen umfangreich sind (Geräte sind selten gemeinsam online), macht es ggf. Sinn, die Reihenfolge zu ändern und bspw. die ältesten Dateien zuerst zu übermitteln oder alphabetisch oder der Größe nach.

Die anderen Optionen werden eher selten angepasst.

# Ordner hinzufügen

Ein neuer Ordner ist schnell und einfach hinzugefügt. Dazu einfach in der WebUI oder im lokalen Client auf die Schaltfläche *Ordner hinzufügen* klicken.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/coggrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/coggrafik.png)

Daraufhin wird ein Menü geöffnet, in welchem die Einstellungen für den Ordner vorgenommen werden.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/QMngrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/QMngrafik.png)

Als erstes ist die Ordnerbezeichnung festzulegen, diese kann frei gewählt werden und lässt sich auch später noch ändern.

Danach wird automatisch eine zufällige Zeichenkette für die Ordnerkennung erzeugt. Diese kann so gelassen werden, sie ist besonders wichtig für die Synchronisation.

Anschließen ist noch der Ordnerpfad anzugeben. Hier kann ein bestehender Ordner verwendet werden, um bereits vorhandene Inhalte zu synchronisieren oder es kann auch ein Pfad samt Name eingegeben werden, dann wird der Ordner automatisch erstellt, wenn noch nicht vorhanden.

Die anderen Optionen werden auf der Seite Ordneroptionen in diesem Kapitel erklärt und können folgende ausgeklappt werden.

<details id="bkmrk-ordneroptionen-%7B%7B%4010"><summary>Ordneroptionen</summary>

{{@107}}

</details>

# Ordner teilen

Mit *Teilen* wird ein Ordner anderen Geräten zu Synchronisation angeboten.

#### Neuen Ordner hinzufügen und teilen

Wird ein neuer Order wie auf der Seite *Ordner hinzufügen* gezeigt hinzugefügt, so kann dieser auch direkt über das selbe Einstellungsmenü geteilt werden. Die Seite lässt sich folgend ausklappen

<details id="bkmrk-ordner-hinzuf%C3%BCgen-%7B%7B"><summary>Ordner hinzufügen</summary>

{{@108}}

</details>#### Vorhandener Ordner

Um einen Ordner zu teilen, der bereits vorhanden ist, wird in die WebUI gewechselt und in der Ordnerübersicht der gewünschte Ordner angeklickt, sodass die Details angezeigt werden. Nun ist dort die Schaltfläche Bearbeiten zu sehen, welche die Einstellungen öffnen.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/kLDgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/kLDgrafik.png)

#### Teilen

Die Optionen zum Teilen finden sich in dem Reiter *Teilen*.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/Aqpgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/Aqpgrafik.png)

Hier können nun alle Geräte angehakt werden, mit denen dieser Ordner synchronisiert werden soll. Soll dieser mit allen Geräten synchronisiert werden, kann auch auf *Alle auswählen* geklickt werden. Es werden alle Geräte angezeigt, mit denen dieser Rechner verbunden ist. Dazu müssen die Geräte explizit hinzugefügt werden.

Nachdem der Ordner geteilt wurde, wird beim Ziel der Ordner zur Synchronisation angeboten, aber noch nicht synchronisiert. Denn der Empfänger muss erst zustimmen, bevor der Ordner tatsächlich übertragen wird. Öffnen wir die WebUI beim Empfänger, sieht es wie folgt aus.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/dycgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/dycgrafik.png)

Nur wenn jetzt auf Hinzufügen geklickt wird, erfolgt eine Übertragung des Ordners und wird in die Liste der synchronisierten Ordner aufgenommen. Das Menü sieht genauso aus, als würde ein neuer Ordner erstellt oder hinzugefügt werden. D. h. es gibt nun die Möglichkeit diesen geteilten Ordner wieder mit anderen Geräten zu teilen. Dabei können wieder alle gewohnten Optionen angepasst werden wie z. B. Scan-Intervall oder ausschließlich Senden oder Empfangen. Weiterhin lässt sich der Name anpassen, sodass der selbe Ordner (kann immer anhand der Ordnerkennung eindeutig identifiziert werden) auf diesem Gerät anders heißt als auf dem ursprünglichen Gerät.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/5VZgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/5VZgrafik.png)

Nach einem Klick auf *Speichern* wird der neue Ordner in der Liste mit allen synchronisierten Ordner angezeigt. Auch der Status der Synchronisation wird angezeigt und auch auf allen geteilten Geräten ist der Status jederzeit ersichtlich. Damit lässt sich Konflikten vorbeugen, falls die Synchronisation noch nicht abgeschlossen ist, ist dies sichtbar und der Benutzer sollte besser warten, bevor Änderungen vorgenommen werden.

[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/dxhgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/dxhgrafik.png)

<p class="callout info">Sollte der Ordner größer sein und die Synchronisation entsprechend länger dauern, so wird ein Fortschritt in den WebUIs der synchronisierenden Clients angezeigt.  
  
[![grafik.png](https://jaeckel.one/uploads/images/gallery/2024-03/scaled-1680-/k4pgrafik.png)](https://jaeckel.one/uploads/images/gallery/2024-03/k4pgrafik.png)  
</p>