Duplicacy ignoring settings.json listening address?

Hi, I’ve been looking for an answer to this around the forums but found nothing on my own. This is my current settings.json

{
    "listening_address": "0.0.0.0:3875"
}

And yet duplicacy is still listening on 127.0.0.1:

txgr@txgr-compute:~$ sudo netstat -tulpn | grep duplicacy
tcp        0      0 127.0.0.1:3875          0.0.0.0:*               LISTEN      801/duplicacy-web  

No matter how I try and start the program it just doesn’t seem to be working.

Maybe there’s just something I’m not understanding about this/this command/Linux networking to begin with. Regardless I’m still pretty stuck.

So you killall duplicacy_web processes, then change settings.json under $HOME/.duplicacy_web/, which depending on how you launch it can be in different places, then start duplicacy process, and verify in the duplicacy_web.log that is successfully parsed the json file?

Well I checked that file and this is about the only thing that looks off:

2025/05/03 04:26:49 Failed to get the value from the keyring: keyring/dbus: Error connecting to dbus session, not registering SecretService provider: exec: "dbus-launch": executable file not found in $PATH

But is this even related?

It’s not related.

Can you confirm the rest?

  • that you kill duplciacy process
  • that you are making change in the file at the location duplicacy expects it?

Actually, lets do a simpler check – go to WebUI Settings, and check what’s written in “HTTP address” in “Start up options”:

If you don’t see this:
image

then you are not making changes in the correct file or not restarting duplicacy process.

Also, any reason why can’t you change that in the WebUI?

I can’t access the WebUI- that’s mainly been my issue. I figured maybe it’s some sorta reverse proxy issue but I guess starting from being able to even access it with the IP/port directly would be a start. I can access some of my docker stuff through the port but just not Duplicacy

Here’s the service status:

May 03 04:26:49 txgr-compute systemd[1]: Started duplicacy.service - Duplicacy backup software`.
May 03 04:26:49 txgr-compute duplicacy-web[801]: Duplicacy Web Edition 1.8.0 (B47138)
May 03 04:26:49 txgr-compute duplicacy-web[801]: Starting the web server at http://127.0.0.1:3875

But going to our server’s IP:3875 won’t connect. No clue why-- but maybe that’s the more important issue isn’t it :thinking:

I’m very confused. Are you running duplicaly in the docker?

Then what is duplicacy.service? Can you post content of the service file? Do you have HOME variable defined there? Because that’s where the .duplicacy_web will live.

Pleased answer these questions. I’m asking the third time. There is no reason to withhold this information.

It’s obviously listening on 127.0.0.1. Your changes in the settings file don’t have effect. Answering the questions above will help to understand why.

Because it’s listening on loopback. Not on any of the external interfaces.

You can use SSH port tunneling to access web ui to change settings. Run this in terminal on your local machine (you might need to set AllowTcpForwarding to yes in /etc/ssh/sshd_config on the server and restart sshd first)

 ssh -L 3875:127.0.0.1:3875 txgr-compute

then click here to access duplicacy: http://localhost:3875

Wasn’t withholding, and really really really dislike the implication that I was. I had a train of thought and ran with it. Genuinely don’t like this at all. Phrasing this humanely just to let you know.

Restarted the entire server. Didnt’ killall but did kill all processes with duplicacy in it’s name. Checked the service afterwords too. Wasn’t running.

Don’t know where “Duplicacy expects it”.

1 Like

Working on doing this now.

Here:

I can rephrase.

It will be looking at $HOME/.duplicacy_web, wherever $HOME is pointing at the time of launch. If this is systemd service then HOME is likely undefined. You would need to define it explicitly. Hence, request to see your .service file.

Well, I’m just a user like yourself, and I’m volunteering my time on Sunday evening making an attempt at helping you solve your issue. I feel you came here to get the problem resolved, not to exchange pleasantries: If I come out curt or/and direct – I apologize, that was not my intention. On topic – I don’t see any other reason why would you ignore my question two times – if it wasn’t important, I would not be asking. Why would I want to waste your or my time? But I digress, back on topic.

As someone who works specifically in support and have for some time now, I appreciate this- community support is a great thing to have and I’d never ever down someone for volunteering. Sincerely, thank you.

Here’s the contents-- nothing “HOME” mentioned and not sure where I’d add it. Been a while since I’ve been able to look at this issue.

[Unit]
Description=Duplicacy backup software`

[Service]
ExecStart=/usr/local/bin/duplicacy-web
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

If this service runs as root, then the HOME will either be undefined (so it will try to read it from /) or be pointing at /root. I also haven’t looked into systemd for a very long time (I use freebsd and macOS daily), but according to this https://serverfault.com/questions/413397/how-to-set-environment-variable-in-systemd-service it’s possible to set it under [Service] with Environment key:

[Service]
...
Environment="HOME=/users/james"
...

I have also seen that it could be enough to WorkingDirectory, as noted in the first comment here Duplicacy Web on Synology Diskstation without Docker | Trinkets, Odds, and Ends (you would need to scroll down and click “Click here to load legacy comments from Disqus”, there is an example for Synology DSM7 that also uses SystemD.

Well that worked to get it to respond to the settings.json file I was editing. But now, what’s up with this address?

txgr@txgr-compute:~$ sudo netstat -tulpn | grep duplicacy
tcp6       0      0 :::3875                 :::*                    LISTEN      3058897/duplicacy-w 
May 13 01:00:18 txgr-compute duplicacy-web[3058897]: Duplicacy Web Edition 1.8.0 (B47138)
May 13 01:00:18 txgr-compute duplicacy-web[3058897]: Starting the web server at http://[::]:3875

I’m curious about this. Linux networking is… a mountain. Not even sure what a loopback is-- I do have a very cursory understanding of interfaces. What part of the netstat line led you to it ‘listening on loopback’?

It’s IPV6 notation for “all addresses” :slight_smile:

This:

Addresses in the range 127.0.0.0/8 (127.0.0.0–127.255.255.255) are allocated to a fake software interface called loopback, that operating system treats in special way: traffic that goes there cannot be routed anywhere else. It’s like isolated intercom in the building – you can call next office, but cannot call anyone outside of the building. So if the process is listening on loopback – only other processes on the same system can reach it. if you attempt to reach it from another adapter – e.g. your LAN – the OS won’t route packets neither to nor from loopback, even if you have packet forwarding enabled.

For example, duplicacy by default does not encrypt web ui traffic – but you can have it listen on loopback only, so nobody can reach it from other machines, but when you want to reach it – you can use ssh port tunneling to pretend you are connecting from local machine (thus creating a sort of vpn)