CloudSync Syncthing installieren auf DS220 mit DSM 7.1.1

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
Du kannst dafür vorhandene User oder Gruppen heranziehen oder besser dafür das extra anlegen. Der Rest, siehe Post #14.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
"sc-syncthing" betrifft nur die native Installation. Nicht den Docker-Container
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Mal so ne frage zu syncthing und geschwindigkeit.

Bilde ich mir das nur ein, oder ist das langsamer als ein kopieren bsp. über WebDAV oder Samba ?
 
Zuletzt bearbeitet:

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Empfinde ich auch so. Syncthing ist langsamer als ein manuelles Kopieren. Zumindest im Vergleich zu SMB.
Ich synce damit aber eher kleinere Dateien. Und bei einem Sync im Hintergrund kommt es mir weniger auf den Durchsatz an, als bei einem manuellen Kopieren.
 
  • Like
Reaktionen: Tuxnet

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
Das ist so gewollt, da die laufenden Prozesse nicht strapaziert werden sollen. Im Grunde macht das nichts, da idR. es ausreicht, wenn der Ablauf etwas länger braucht.
 

bitteHilfe

Benutzer
Mitglied seit
30. Mai 2023
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Habs mit Docker compose, nicht der einzige Weg...

PUID ist gewünschter Nutzer auf dem NAS
Und die gewünschten Ordner zum Syncen müssen in den Container gemapped sein.

https://hub.docker.com/r/linuxserver/syncthing

Code:
version: "2.1"
services:
  syncthing:
    image: lscr.io/linuxserver/syncthing:latest
    container_name: syncthing
    hostname: name #optional
    network_mode: host
    environment:
      - PUID=1028
      - PGID=65536
      - TZ=Europe/Berlin
    volumes:
      - /volume1/docker/syncthing/config:/config
      - /volume1/name:/volume1/name
    restart: unless-stopped
Was ist damit genau gemeint, mit "mappen"? Ist damit etwas anderes gemeint als
Code:
volumes:
- /volume1/name:/volume1/name
Du kannst dafür vorhandene User oder Gruppen heranziehen oder besser dafür das extra anlegen. Der Rest, siehe Post #14.
Legt man "User oder Gruppen" nicht über PUID/PGID an? Ist damit etwas anderes gemeint?
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
Für jeden Container kann eine json als Export angelegt werden, in dieser können die Zusammenhänge gesehen werden. Bei den Verzeichnissen müssen die freigegebenen Ordner auf der DS genannt werden und diese erhalten im Container ein gemeinsames Unterverzeichnis, in Deinem Beispiel heisst das volume1, bei mir Folders, da bist Du frei. Wenn Du das weglässt, geht das auch, aber alle gemappten Verzeichnisse befinden sich im Cotainer dann unter allen anderen Verzeichnissen im Rootverzeichnis und das ist etwas unübersichtlich:

Code:
{
   "CapAdd" : null,
   "CapDrop" : null,
   "cmd" : "",
   "cpu_priority" : 50,
   "enable_publish_all_ports" : false,
   "enable_restart_policy" : false,
   "enabled" : true,
   "env_variables" : [
      {
         "key" : "PATH",
         "value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      },
      {
         "key" : "PUID",
         "value" : "1027"
      },
      {
         "key" : "PGID",
         "value" : "65540"
      },
      {
         "key" : "HOME",
         "value" : "/var/syncthing"
      },
      {
         "key" : "STGUIADDRESS",
         "value" : "0.0.0.0:8384"
      }
   ],
   "exporting" : false,
   "id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
   "image" : "syncthing/syncthing:latest",
   "is_ddsm" : false,
   "is_package" : false,
   "labels" : {},
   "links" : [],
   "memory_limit" : 0,
   "name" : "syncthing-syncthing",
   "network" : [
      {
         "driver" : "bridge",
         "name" : "bridge"
      }
   ],
   "network_mode" : "bridge",
   "port_bindings" : [
      {
         "container_port" : 21027,
         "host_port" : 21028,
         "type" : "udp"
      },
      {
         "container_port" : 22000,
         "host_port" : 22001,
         "type" : "tcp"
      },
      {
         "container_port" : 22000,
         "host_port" : 22001,
         "type" : "udp"
      },
      {
         "container_port" : 8384,
         "host_port" : 8385,
         "type" : "tcp"
      }
   ],
   "privileged" : false,
   "services" : null,
   "shortcut" : {
      "enable_shortcut" : false,
      "enable_status_page" : false,
      "enable_web_page" : false,
      "web_page_url" : ""
   },
   "use_host_network" : false,
   "version" : 2,
   "volume_bindings" : [
      {
         "host_volume_file" : "/homes/syncthing-dk/syncthing",
         "is_directory" : true,
         "mount_point" : "/var/syncthing",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/Downloads",
         "is_directory" : true,
         "mount_point" : "/Folders/Downloads",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/music",
         "is_directory" : true,
         "mount_point" : "/Folders/music",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/OCRmyPDF",
         "is_directory" : true,
         "mount_point" : "/Folders/OCRmyPDF",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/photo",
         "is_directory" : true,
         "mount_point" : "/Folders/photo",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/Sicherungen",
         "is_directory" : true,
         "mount_point" : "/Folders/Sicherungen",
         "type" : "rw"
      }
   ]
}

Die Parameter PUID und PGID findest Du in den Dateien

Code:
/etc/passwd
/etc/group

und da ich im DSM dafür einen User angelegt habe und eine Gruppe, denen ich frei wählbar die Rechte vergeben kann, sieht das bei mir so aus:

1692605677902.png

1692605629090.png

Zudem, da ich auch die native Installation parallel zur Docker laufen habe, weichen bei den Parametern die Ports ab.
 
Zuletzt bearbeitet:

bitteHilfe

Benutzer
Mitglied seit
30. Mai 2023
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Mir gehts vor allem darum, dass ich bei einem Update des DSM den Container nicht jedes Mal neu anlegen muss.

Reicht es für diesen Zweck, wenn ich den auf https://registry.hub.docker.com/r/linuxserver/syncthing/ vorgeschlagenen code verwende oder kann ich mir das Mappen für diesen Zweck sowieso nicht ersparen?

hier der dort vorgeschlagene Code
(findet sich unter: "docker cli (click here for more info)")
docker run -d \
--name=syncthing \
--hostname=syncthing `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-p 8384:8384 \
-p 22000:22000/tcp \
-p 22000:22000/udp \
-p 21027:21027/udp \
-v /path/to/appdata/config:/config \
-v /path/to/data1:/data1 \
-v /path/to/data2:/data2 \
--restart unless-stopped \
lscr.io/linuxserver/syncthing:latest
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
bei einem Update des DSM

Die Containerdaten und -einstellungen können exportiert werden und dieser Export kann dazu verwendet werden, mit einem Image einen neuen Container mit den gleichen Einstellungen zu generieren.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Noch besser ist es, man mappt die relevanten Daten auf das Dateisystem und idealerweise hat man davon ein Backup
 

bitteHilfe

Benutzer
Mitglied seit
30. Mai 2023
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Es tut mir echt leid, dass ich so unfähig bin und mich von einem Problem ins andere hantle, ohne mich mit NAS und Docker auszukennen.

Ich habs jetzt im Wesentlichen hiermit versucht (ich möchte die auf meiner DS 220+ im Ordner "Obsidian" enthaltenen Daten mit Syncthing syncronisieren):


docker run -d \
--name=Syncthing \
-p 8384:8384 \
-p 22000:22000/tcp \
-p 22000:22000/udp \
-p 21027:21027/udp \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Vienna \
-v /volume1/docker/config_container/syncthing:/config \
-v /volume1/Synchronisiertes \
-v /volume1/Synchronisiertes/Obsidian \
--restart always \
lscr.io/linuxserver/syncthing:latest


daraufhin hat Syncthing folgende Fehlermeldung ausgeworfen:

Failed to create folder marker: mkdir /volume1/Synchronisiertes/Obsidian/.stfolder: permission denied

---

meine vorangegangenen Versuche mit Docker und Syncthing-Container haben in der Fehlermeldung gemündet, dass (nicht mal) auf volume1 zugegriffen werden könne.... ?

Woran kann das denn jetzt wieder liegen?
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
Man muss aus Sicht des Containermanagers vorgehen und dieser agiert auf der Ebene der freigegebenen Ordner

Code:
"volume_bindings" : [
      {
         "host_volume_file" : "/homes/syncthing-dk/syncthing",
         "is_directory" : true,
         "mount_point" : "/var/syncthing",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/Downloads",
         "is_directory" : true,
         "mount_point" : "/Folders/Downloads",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/music",
         "is_directory" : true,
         "mount_point" : "/Folders/music",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/OCRmyPDF",
         "is_directory" : true,
         "mount_point" : "/Folders/OCRmyPDF",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/photo",
         "is_directory" : true,
         "mount_point" : "/Folders/photo",
         "type" : "rw"
      },
      {
         "host_volume_file" : "/Sicherungen",
         "is_directory" : true,
         "mount_point" : "/Folders/Sicherungen",
         "type" : "rw"
      }
   ]
}

Dann PGID und PUID richtet sich nach den Inhalten der password und group
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
permission denied
Dann musst du entweder
-Rechte für everyone read/write auf den Ordner der DS setzen
-oder dem Container einen passenden User mitgeben
-oder SyncThing einfach aus dem Paket-Zentrum installieren, da kannst du dann dem User "sc-syncthing" via Systemsteuerung oder FileStation die nötigen Rechte geben
 

bitteHilfe

Benutzer
Mitglied seit
30. Mai 2023
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
oder SyncThing einfach aus dem Paket-Zentrum installieren, da kannst du dann dem User "sc-syncthing" via Systemsteuerung oder FileStation die nötigen Rechte geben
Wenn ich auf DS 7.2 update laufe ich Gefahr, dass Syncthing (derzeit noch) nicht untersützt wird. Es DS 7.2 wird hier noch nicht angeführt: https://synocommunity.com/package/syncthing# Oder versteh ich das falsch? Hat jemand schon 7.2 und weiß, dass Syncthing über das Paketzentrum verfügbar ist? Ein späteres Downgrade von 7.2 auf 7.1 wird im NAchhinein nur mehr schwer möglich sein, denke ich.

-Rechte für everyone read/write auf den Ordner der DS setzen
Hätte ich versucht, hat aber nicht funktioniert.

-oder dem Container einen passenden User mitgeben
Hätte ich auch versucht, denke ich, als ich is mit dem oben genannten code versucht habe: https://www.synology-forum.de/threa...n-auf-ds220-mit-dsm-7-1-1.127130/post-1098585


---

Das heißt dann wohl, dass ich um das mappen nicht herumkomme oder?

"eine json als Export": was heißt das denn genau? Muss ich eine Datei mit der Endung .json in jenen Ordner einfügen, den ich als für den jeweiligen Container als /config angegeben habe? Oder was heißt das genau?

Danke euch!
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189

bitteHilfe

Benutzer
Mitglied seit
30. Mai 2023
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Gerade weil hier unter "DSM 7.x" nur Pakete mit der Bezeichnung "7.1[...]" angeführt sind, bin ich davon ausgegangen, dass über das Paketzentrum (in das Synocommunity eingebunden ist) Syncthing nicht verfügbar ist. Dem ist nicht so? Syncthing ist über das Paketzentrum auch unter DSM 7.2 verfügbar?
 
Zuletzt bearbeitet von einem Moderator:

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
Ja, ist es und es läuft auch im DSM 7.2 einwandfrei. Auf der gezeigten Page ist das nicht ganz aktuell.
 

bitteHilfe

Benutzer
Mitglied seit
30. Mai 2023
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Vielen vielen Dank euch allen hier im Forum! Die Hilfe dieses Forums ist echt toll! Syncthing läuft wieder auf meinem NAS (DSM 7.2).
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat