New headless install duplicati 2.0.2.21-1, how to access in remote web browser?

Today I installed duplicati 2.0.21-1 on my backup server (debian jesse). This server is headless. I’m going to be backing up 2 systems: one a OpenSuse 42.3 system, the other a Windows 10 system. All three systems are on a local subnet–192.168.1.* with static IP addresses.
I want to do the backups etc. from the OpenSuse system.
Questions:

  1. What do I have to do on the duplicati server to enable remote access?
  2. Once that is done, what do I have to do on the OpenSuse system to access the duplicati webpage?
    Many thanks,
    MarkN

Hi @MarkN

I found these instructions. Did you see this? It is a Headless installation on Debian or Ubuntu article.

1 Like

Thank you. That solved the install problem.

I tested the install and browsed to http://192.168.1.5 and got the “Apache2 Debian Default: It works!” page.
Now, I’m feeling really dumb…how do I start duplicati from the remote system? “http://192.168.1.5/duplicati” does not exist.

Thanks again,
Mark

Duplicati by default usually runs on port 8200

Try http://192.168.1.5:8200

1 Like

Thank you, Omnicef,

(this is making me feel dumb and dumber…)
When I enter http://192.168.1.5:8200
the response I get from the webserver is:

The site can’t be reached.
192.168.1.5 refused to connect.
Try:
Checking the connection
Checking the proxy and the firewall

Without the “:8200” in the address, I correctly see the Apache2 Debian Default page.

At this point, I feel that it should “just be working”, so I’m guessing that I’ve done something really dumb. Any idea what?

Many thanks,
Mark

I believe Opensuse uses UFW as a software firewall by default, which may be blocking port 8200. You can check if it’s running

sudo ufw status

and if it is, you may have to open the 8200 port

sudo ufw allow 8200

Yes, Opensuse uses ufw, but I don’t use it. I disabled and uninstalled it. when I ran:

#ufw status

I got “command not found”. I also checked the Debian system where duplicati is found. iptables is used as the “firewall” and there are no rules defined, so nothing is blocked there.

Thanks,
Mark

Hmm, alright, always good to check but it looks like you had thought about it :slight_smile:

You could try checking to see if the application registers as listening on that port

$ sudo lsof -i :8200 | grep LISTEN
mono-sgen  3258     root    8u  IPv4   23471      0t0  TCP *:8200 (LISTEN)

The service could be using 8300 or 8400 if for some reason it could not allocate 8200 when it was launched - or if it was provided with parameters to using a nonstandard port

I apologise if this has been covered, but did you enable remote access (Allow remote access (requires restart)) in the global settings?

1 Like

When I made the auto-port-select feature, it seemed really great, but I think it might create more issues than it solves…

OK. I entered:
#sudo lsof -i :8200 | grep LISTEN
and got no output…even without piping to grep.
Also tried with :8300 and :8400, and no output in all cases.

Curiouser and curiouser.

Thanks,
Mark

Are you talking about the Debian system which houses duplicati? Since the Debian server is running headless, (I ssh into it to do admin stuff) how can I tell if the appropriate remote access is available?

Thanks,
Mark

I believe the Allow remote access option is equivalient to --webservice-interface=any. You’ll probably have to edit your systemd unit file to append it for the startup parameters if you have no way to access the web page locally (e.g. RDP to the server, or using SSH port forwarding).

While you’re in there I’d make sure to also specify the port just to be safe --webservice-port=8200 --webservice-interface=any

I’m very confused at this point. If it’s not listening on any of the default ports I’d be guessing that it for some reason has a custom port specified or that the process wasn’t even running.

Sorry, but I don’t know how to do what you are asking.

Is this helpful? In /etc/systemd/system there are:
duplicati@.service
duplicati.service
All the lines in duplicati.service are commented out. Here is its contents:

#[Unit]
#Description=Duplicati web-server
#After=network.target

#[Service]
#EnvironmentFile=-/etc/default/duplicati
#ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS

#[Install]
#WantedBy=multi-user.target

And here is duplicati@.service:

[Unit]
Description=Duplicati web-server
After=network.target

[Service]
User=%I
EnvironmentFile=-/etc/default/duplicati
ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS

[Install]
WantedBy=multi-user.target

Can you give me some more specific help, please? Or, point me in the right direction.

Thanks,
Mark

No worries :slight_smile:

When you run systemctl status duplicati it will tell you if it’s running and where it loaded it’s unit file from (mine says /lib/systemd/system/duplicati.service).

That file should be the one to look in for configuration. It will probably be the 2nd file you listed, since it looks a lot like mine.

To add those two options you can change

ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS

to

ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS --webservice-port=8200 --webservice-listen-interface=any

And then reload the configuration and restart your duplicati server

sudo systemctl daemon-reload
sudo systemctl restart duplicati

Then just make sure it’s running (i.e. no errors happened when changing the unit file)

systemctl status duplicati
...
Active: active (running) since Fri 2018-03-16 22:29:52 CET; 3min 33s ago
...
CGroup: /system.slice/duplicati.service
       ├─7056 DuplicatiServer /usr/lib/duplicati/Duplicati.Server.exe --webservice-port=8200 --webservice-listen-interface=any
       └─7075 /usr/bin/mono-sgen /usr/lib/duplicati/Duplicati.Server.exe --webservice-port=8200 --webservice-listen-interface=any
...

When somebody has time maybe a #howto for headless / CLI / SSH-port-forward might be in order…

1 Like

Sounds like a good idea.

It’s hard with headless server setups because you never know what level of experience to expect from the reporter. An article explaining all the steps might make it a lot easier :slight_smile:

Yes, that is correct.

Since the SSH connection will be on the host network, you should not need to do the --webservice-interface=any step, so the howto would be:

ssh -L8200:127.0.0.1:8200 user@duplicati-host

Then just open http://localhost:8200 and you are in.

1 Like

Well, yes and no. There are still matters like configuring which user it’s running under and which directory to use for the databases :slight_smile: