CloudSync Syncthing installieren auf DS220 mit DSM 7.1.1

Du kannst dafür vorhandene User oder Gruppen heranziehen oder besser dafür das extra anlegen. Der Rest, siehe Post #14.
 
"sc-syncthing" betrifft nur die native Installation. Nicht den Docker-Container
 
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:
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
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.
 
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?
 
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:
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
 
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.
 
Noch besser ist es, man mappt die relevanten Daten auf das Dateisystem und idealerweise hat man davon ein Backup
 
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?
 
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
 
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
 
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!
 
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:
Ja, ist es und es läuft auch im DSM 7.2 einwandfrei. Auf der gezeigten Page ist das nicht ganz aktuell.
 
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