Hi, i am looking for a p2p sync solution on LAN between several cloned Raspberry Pi, used as media players. The goal is to sync the media folder across the RPi inside my LAN. Syncthing seems to be a good match for the job.
But i am facing 2 problems:
- My RPi systems are regularly cloned, so i will end up with the same device ID on each one which seems problematic. I could force the Pi to re-calculate a new id on first boot, but i was wondering how the Device ID is calculated ? Is there some other system files involved ? If so, i will still end up with duplicate IDs (since systems are cloned) ? What is the best way to force a new Device ID calculation on an existing Syncthing node ?
EDIT -> Ok i guess i just have to delete key.pem and cert.pem
- I will use 30+ devices on my LAN, and the number will be changing a lot: new devices will come and go, especially if i re-generate deviceID every time a new SD is cloned as mentioned in 1). So it looks nightmarish to try to maintain everyone’s association manually ! How could i maintain association between all devices in my LAN cluster without copying all ids manually between each others ?
The cluster will be on a closed LAN only, for non sensitive data, so i don’t actually care much about security. I would be happy with an “open sync”, as in “you are welcome to sync with us, no matter who you are” topology. -> is there a way to “wildcard” or auto-add deviceID, so any device on the LAN will be allowed to sync automatically ? -> Or may be a groupID that can be cloned with my images ?
EDIT2 -> i have a fixed machine at a fixed IP (let say 10.0.0.1) which will run Syncthing. If every cloned RPi on my LAN has 10.0.0.1 as an Introducer, do they will be able to sync each other too ?
EDIT3 -> the introducer tricks does not solve the need to add the new RPi to the 10.0.0.1 device list. Is there a way to allow any new device on the Introducer side without manual intervention ?
Any idea to achieve an easy-to-deploy army of clone would be much appreciated !
I am also willing to put my hands in the code if necessary, any clue to where to look at would be very helpful: i am new to this project
Thanks! Best Regards, Thomas