HTTP Connection Refused

I installed Syncthing a year ago on my aging Synology hardware via a package manager. The goal was to sync files but to do it through a “hub” in our home that was “always on”. Laptop A would sync to the hub and Laptop B would sync from the hub; I chose not to do a direct sync because the laptops weren’t always on at the same time.

The install and setup worked initially but now I am unable to access the Syncthing installation on the hub (i.e. the Synology machine). I can confirm that the webserver and ssh is working; I can connect via a browser and an ssh client. But every time I try to connect to Syncthing via http/https I get a “Connection refused” error.

Logging in via SSH and trying to use the CLI emits a similar error:

JupiterDisk> ./syncthing cli --home=/volume2/@appstore/syncthing/var config

Get "http://127.0.0.1:8384/rest/system/config": dial tcp 0.0.0.0:8384: connect: connection refused

How can I resolve this issue to allow GUI access to Syncthing?

I’ve read through the FAQ and the documentation. I’ve also searched through this forum. Part of the issue is that, I’m all around weak in Linux administration so I have a novice+ understanding of networking and Linux but I am not proficient enough to know how to really troubleshoot this.

I suspect that this may be an issue with the webserver, but since I was able to access the Synology DSM interface via my browser, I wasn’t sure it was that issue. I was able to browse through the Apache error logs but that didn’t reveal anything related to this issue.

Version syncthing v1.20.3 "Fermium Flea" (go1.18.3 linux-arm) teamcity@build.syncthing.net 2022-06-27 04:05:49 UTC

OS Synology DSM 5.0-4528

CLI assumes syncthing is running locally. As far as I understand that is not the case in your case (or its running on a custom port or behind some docker networking), so you need to provide extra arguments specifying ip address/port where it’s running, etc.

I’m not sure that I’ve understood your comment. I’ve logged into my NAS via ssh and then I’ve given the command above. From the context of the command line, syncthing is running locally. This instance of syncthing is not running in a docker container. I have access to the config.xml file and I’ve tweaked the IP address to see if it changed the behavior but it did not.

Is there a command that I can give my instance of syncthing for it to tell me how it is configured? I’m pretty sure I have the right values, because that’s what it says in the XML file. Here’s what I see in ps:

9705 svc-sync 795m S /volume2/@appstore/syncthing/bin/syncthing -home=/volume2/@appstore/syncthing/var

9722 svc-sync 798m S N /volume2/@appstore/syncthing/bin/syncthing -home=/volume2/@appstore/syncthing/var

I navigate to that directory when I try to query syncthing.

In the past, I’ve been able to access this installation off of another computer by just typing in the IP address into a browser (i.e. 10.0.0.100:8384).

It’s your setup, which I am not familiar with and there isn’t really enough context for me to answer your question.

The error means that the CLI can’t find a running syncthing instance on that port.

Whether you use a custom port, the instance is not running, or the port is somehow made available differently is for you to figure out.

Seeing that you are on DSM 5.0, I assume this is quite an old DiskStation. You are probably bitten by this recent issue, where the only chance is to downgrade to an older Syncthing version and disable automatic upgrades:

In effect, the Syncthing service is probably not running at all, hence you cannot connect. See if you can find a log somewhere and check what it’s doing at startup.

1 Like