AdGuard Home and Syncthing running together on a RPI2 model B?

Hello and Happy New Year

Here it is: I have AdGuard Home running on my RPI and I wonder if it would also be able to host the Syncthing application to synchronize remote directories on my network. And if so, wouldn’t there be a conflict to access the management interface: the 2 services having the same IP? Sorry if I ask a stupid question, but I am a newbie who is starting his journey in the Linux universe.

Tech infos: It’s an Raspberry Pi 2 Model B Rev 1.1 (ARMv7) which runs smoothly AdGuard Home:

free -h
               total        used        free      shared  buff/cache   available
Mem:           921Mi       193Mi       510Mi       0.0Ki       217Mi       674Mi
Swap:           99Mi          0B        99Mi

EDIT: oops! forgot to tell the whole thing is on 16Gb SDcard

Will you have conflicts between AdGuard Home and Syncthing? I don’t know enough about AdGuard Home to have an opinion. Syncthing’s management UI documentation is at The GUI Listen Address — Syncthing documentation — Syncthing uses port udp/8384 by default. Syncthing also uses (tcp & udp)/22000 and udp/21027 (Firewall Setup — Syncthing documentation). It looks like AdGuard Home does not use those ports (Getting Started · AdguardTeam/AdGuardHome Wiki · GitHub).

Will you have performance issues running both? I can’t say. You might. The RPi is not designed for high performance.

Make a backup of your data. Make a backup of your RPi. And if you give it a try, we can try to help if you run into issues.

Welcome to the forum, and also to exploring the Linux universe. :grinning:

AdGuard Home has very low system resource demands, so running Syncthing alongside it won’t be an issue.

Although a revision 1.1 RPi 2 B with some system performance tuning can run Syncthing, how well it works overall will depend a lot on the number and typical size of the files being synced due to the 32-bit CPU and 1GB of RAM.

There are quite a few earlier posts on this forum about using a RPi with Syncthing so I’ll leave the details to those threads, but just a few quick pointers:

  • Use Linux’s zram module to make more efficient use of available RAM. The benefits often outweigh the CPU cycles required for the compression.
  • A quick rule of thumb regarding Linux’s inotify subsystem that’s used by Syncthing for real-time detection of file changes is that every file watched requires 1KB of RAM – i.e. 1 million files = 1GB of RAM.
  • If the files to be synced and Syncthing’s database will be stored on the 16GB SD card, keep an eye out for faster wear and tear. One solution is to get a larger capacity card relative to your storage requirements to spread out the write cycles over more flash memory blocks.
1 Like

Hello to both of you and many thanks for your comments and advice. Well, maybe it had been years since my RPI2 b was running nicely in its corner without flinching. After reading you I gave it a bath of youth (updating the OS and installing ZRam). It is now ready to welcome its new playmate. I will introduce it to him very quickly. Stay tuned.

Hello I finally changed my mind: it is not on my old RPI 2, but on an RPI 4 with 8G of ram that I will install Syncthing. It will coexist with AdGuard Home, Joplin… all this in containers supervised by Dockge. Or not… in fact as I have a desktop version of Raspbian and the application exists in this environment I was wondering if it would not be preferable to install this ARM version (64-bits) rather than complicating my life by installing it in Docker. What do you think?

Sorry for the delayed reply. It’s been a crazy schedule over the past week.

Yes, a bare-metal install of Syncthing is generally simpler and easier than managing permissions with a Docker environment.

There’s also a small amount of performance hit with Docker, but it shouldn’t be very noticeable.

Hello no worries… fortunately for all of us we are not always in front of a screen.

I followed your recommendation and installed Syncthing on my RPI 4 without any problem. It is accessible by all machines on my local network.

But while trying to create a first task for a test I am wondering if what I want to do is possible: I have different NAS (Western Digital and a Synology) on my network. I would like a folder on a NAS (let’s call it NAS 1) to be synchronized with a folder on NAS2. If a file is not present on NAS1 it should be automatically deleted on NAS2. NAS is present at the address 192.168.0.41 (SSh is enabled) but I do not know the listening port.

Is this possible with Syncthing or did I make a mistake when reading the doc?

There are workarounds for various niche use cases, but a typical setup consists of each device running Syncthing. So in your environment, you’d install Syncthing on the Western Digital and Synology NAS units (Syncthing on the Synology shouldn’t be an issue, but compatibility on the Western Digital NAS will depend on the model).

Syncthing on your RPi 4 could push changes to both NAS units or the two NAS units could sync with each other.

From what I read here (or on the Western Digital forum) installing Syncthing on My Cloud OS5 requires going through Docker.

While this is a promising approach, it requires a good understanding of Docker and OS5 specifics, which is not my case.

In short, this is out of my reach. I will have to find another solution. I think I will not bother you any longer. Thanks for your help and your patience. :clap: