Unknown device with docker swarm stack

Hi, I wanted to make a test with docker swarm and syncthing. Image used is lscr.io/linuxserver/syncthing:1.23.4.

I’ve created 3 replicas and I get unknown device when accessing any of the said ips. If I leave just one up and running, it works as expected via the ip address for that machine.

So I set each machine, via constraint, as one replica so as to setup name and other things.

When I start all 3 syncthing instance with one on each machine, I still get the unknown device as before. And, as before, one of them would eventually load with the name next to the logo.

What is strange is that the said name is from another machine.

So linux1, linux2 and linux3. When starting solely one in particular I see them as that. When I start all of them I see linux2 where I would expect to see linux1 or linux3 (when and if it loads). If I access all of them I usually see just one loading with a name whilst the rest remain as unknown.

//////////

Other details:

  • If I try accessing the logs from gui I see blank area as opposed to seeing it filled when running just one replica
  • The volume with config & data1 is saved on each machine

//////////

Listener Status

relays .syncthing .net/endpoint (removed http from post because of new account) quic://0.0.0.0:22000 tcp://0.0.0.0:22000

////////// Discovery Failures:

IPv4 local global@discovery-v4 .syncthing .net/v2/ (removed http from post because of new account) global@discovery .syncthing .net/v2/ (removed http from post because of new account) Some discovery methods could not be established for finding other devices or announcing this device:

IPv6 local: write udp [::]:49665->[…::8384]:21027: sendmsg: network is unreachable global@discovery-v6 .syncthing .net/v2/: Post “discovery-v6 .syncthing .net/v2/”: dial tcp […]:443: connect: network is unreachable (removed http from post because of new account) Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.

//////////

It is as if all machine are competing for the same ip(?) even though it was supposed to server solely linux2

Could you please help? Thank you!

Should definitely read the Getting Started and Understanding Device IDs pages in the Syncthing documentation.

If all 3 Docker containers are replicas of the same base, unless you’ve taken care to update the Syncthing device ID on linux1, linux2 and linux3, they’ll end up clashing with each other because in Syncthing’s eyes there’s just one device that happen to have different IP addresses.

I already did read parts from that area. I will take a deeper look, thank you.

As for my problem, I solved it by creating two separate containers / services of syncthing and placed them on different ports. This way, it solves the immediate problem whilst I research more.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.