Update woes - can't use GUI, can't find backup settings

My Duplicati installation (originally under Arch Linux, now Zorin/Ubuntu) usually requires some manual intervention when there is an upgrade. I need to manually edit /usr/lib/systemd/system/duplicati.service and replace user=Duplicati with user=root. Details in this link fyi:

Settings disappeared - arch linux - #9 by speckled-snowiness

I upgraded via the GUI yesterday and my installation no longer usable.

  1. The GUI requires a password but is not accepting the password I used for the previous version.
  2. /usr/lib/systemd/system/duplicati.service has a completely different structure to previous versions and there is no place to change user= as noted above.

I can run TrayIcon as a temporary workaround for the GUI password but this connects me to a new server on port 8300, not the desired server running on port 8200. I invoke Duplicati at boot time using a systemd service and would prefer to keep doing this.

How can I restore my backup settings with this new version of Duplicati? I am very much out of my depth. :cold_sweat:

If you’re now on Zorin/Ubuntu and using a Duplicati package, you shouldn’t have to change this. Duplicati should run as root, and you can confirm this by ps -l on its PID. For example, like this:

$ systemctl status duplicati
â—Ź duplicati.service - Duplicati web-server
     Loaded: loaded (/lib/systemd/system/duplicati.service; disabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-10-09 17:30:10 EDT; 2 months 9 days ago
   Main PID: 962038 (duplicati-serve)
      Tasks: 19 (limit: 3406)
     Memory: 80.7M
        CPU: 5min 43.951s
     CGroup: /system.slice/duplicati.service
             └─962038 /usr/bin/duplicati-server

Oct 09 17:30:10 LinuxMint21 systemd[1]: Started Duplicati web-server.
Oct 09 17:30:11 LinuxMint21 duplicati-server[962038]: No database encryption key was found. The database will be stored unencrypted. Supply an encryption key via the environment variable SETTINGS_ENCRYPTION_KEY or disable database encryp>
Oct 09 17:30:13 LinuxMint21 duplicati-server[962038]: Server has started and is listening on port 8200
Oct 09 17:30:17 LinuxMint21 duplicati-server[962038]: [WebSocket] Client closed connection prematurely.
$ ps -lp 962038
F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  962038       1  0  99  19 - 68414160 -   ?        00:05:43 duplicati-serve
$ 

I don’t see any structural differences in the Debian version. I see a new line. See anything else?

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

[Service]
Nice=19
IOSchedulingClass=idle
EnvironmentFile=-/etc/default/duplicati
ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS
Restart=always

[Install]
WantedBy=multi-user.target

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

[Service]
Nice=19
IOSchedulingClass=idle
IOSchedulingPriority=7
EnvironmentFile=-/etc/default/duplicati
ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS
Restart=always

[Install]
WantedBy=multi-user.target

If you’re comparing to AUR, they went their own way with package, including user=duplicati.

If you were already on Zorin, there should have been no big unit file change, as was described.

Duplicati Access Password

is a new 2.1.0.2 requirement, highlighted in release note. This bothers some people, but for you

is not how it’s claimed to work. I’ve heard some complaints, but have also personally had it work.

I’m not sure if a developer will have more explanation or want to investigate. If in a hurry, try this:

Change password with ServerUtil

That indicates that you are hitting two different databases. Duplicati stores the last-used port in the server database, and should keep using 8300 if it did once.

You can choose the port with --webservice-port=8200 on the commandline. You can change the password with something like:

sudo duplicati-server-util change-password

This should use the database in /root/.config/Duplicati/Duplicati-server.sqlite, which is also what the service should use (if running as root).

My guess is that you run the TrayIcon with your local user context, and that leads to ~/.config/Duplicati/Duplicati-server.sqlite.

Thanks for clarifying the reason for the difference in the duplicati.service file: I was using the AUR version in Arch and just (wrongly) assumed that the Zorin/Ubuntu version was the same.

As for the GUI login and resetting the password, I have now done this according to @kenkendk 's instructions in this thread. My backup settings are back! Crisis averted.

Thanks for your detailed (and calm) response.

2 Likes

Duplicati is still using port 8200, so I changed the password using your syntax and voila! My settings are back, and I can login to the GUI as normal.

Thank you for pointing me in the right direction. Marked as solved.

1 Like