New Duplicati Install, refusing all connections on web UI. Ubuntu 20.04

$ sudo systemctl status duplicati
● duplicati.service - Duplicati web-server
     Loaded: loaded (/lib/systemd/system/duplicati.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-02-15 07:09:28 EST; 10min ago
   Main PID: 798 (mono)
      Tasks: 15 (limit: 19054)
     Memory: 71.3M
     CGroup: /system.slice/duplicati.service
             ├─ 798 DuplicatiServer /usr/lib/duplicati/Duplicati.Server.exe --webservice-port=8200 --webservice-listen-interface=any
             └─1164 /usr/bin/mono-sgen /usr/lib/duplicati/Duplicati.Server.exe --webservice-port=8200 --webservice-listen-interface=any

Feb 15 07:09:28 plexhp systemd[1]: Started Duplicati web-server.

So that seems OK.
Plex is running on the same server and connects happily on port 32400
UFW is disabled.

I have tried connecting by servername and by IP address with the same result

From my desk:

$ telnet frier-hp-server 8200
telnet: Unable to connect to remote host: Connection refused

Banging head on desk.
Please indicate where I am being an idiot.

Strange… on the host running Duplicait, does telnet 8200 work?

If above telnet test doesn’t work either, maybe you need –webservice-interface on your server options.

Running lsof -i :8200 is another way of seeing what address got the LISTEN. Is it just localhost?
netstat -a | grep :8200 is another slightly longer and less reliable way to see a port 8200 LISTEN.

The OP does have this option set:


I’m thinking it’s an alias for --webservice-interface - nope it isn’t!

lsof -i :8200 shows my mono process listening. 1164 in the example above.

On the host running it I was able to get lynx to open localhost:8200 and then it complained about not supporting javascript. so… yeah.

On what address? If only localhost, external access is refused.


$ ip addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:3b:49:20 brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic noprefixroute enp0s3
       valid_lft 84270sec preferred_lft 84270sec
    inet6 fe80::f439:9188:bf80:8b5e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
$ lsof -li :8200
mono-sgen 18957     1000    4u  IPv4 356420      0t0  TCP localhost:33948->localhost:8200 (ESTABLISHED)
mono-sgen 18957     1000    9u  IPv4 255653      0t0  TCP localhost:8200 (LISTEN)
mono-sgen 18957     1000   12u  IPv4 356421      0t0  TCP localhost:8200->localhost:33948 (ESTABLISHED)
$ telnet 8200
telnet: Unable to connect to remote host: Connection refused
$ telnet localhost 8200
Connected to localhost.
Escape character is '^]'.

yes - it IS just localhost.

Please try using –webservice-interface=any. I can’t find --webservice-listen-interface option in source code.


For the other parameter: see New headless install duplicati, how to access in remote web browser? - #18 by kenkendk

Maybe the people in that thought of most-technically-precise name while forgetting the actually used one?
Originally I thought maybe name had changed since way back then, but it looks like that was not the case.

That’s the exact post I saw by the main author that led me to believe it was a valid option name! I will edit the posts to help avoid confusion in the future…

For Duplicati access from any IP:

nano /etc/default/duplicati

Change the line to:


Save and close the editor, after that restart in Duplicati.

service duplicati restart

1 Like