Reset Password with --webservice-password doesn't work

Hi everybody,

on a Windows Server I run Duplicati 2 and lost the login password. As mentioned in this forum it can be reset by:

  1. Stopping the Duplicati Service
  2. Starting the Duplicati Server from the CommandLine with: Duplicati.Server.exe --webservice-password=new_password
  3. Wait a few seconds
  4. End the Server
  5. Start the Service again

But this doesn’t really work… When the server startet from the commandline is running, one can login with the “new_password” without problems.
But after starting the service again, the password from the commandline wasn’t saved. Trying to login with it says “Unauthorized”, still seems to be the lost password.
What I tried so far but didn’t help:
->Running the server from commandline updating to the current version.
->Running the server from commandline and in the WebUI enter a new password.
-> Enabling logging and setting the loglevel to “Profiling” just wrote the line “Server running on port…” to the log

Any hints what is going wrong here?

Thx in advance!
T0mcat

1 Like

Hi again,

shortly after writing this the solution came to my mind:

The Duplicati Service is running with the “user”: “Local System”… so the %APPDATA% where it stores the duplicati.server.sqlite database is here: "C:\Windows\system32\config\systemprofile\AppData\Roaming\Duplicati"
When the Server was startet from the Commandline, the %APPDATA% of course points to C:\Users\username\AppData\Roaming of the current user… so the new password was stored there… just had to copy the server.sqlite db to the %APPDATA% of the “Local System” user and then I could login again…

Perhaps this should be noted somewhere…

1 Like

Hi @t0mcat, welcome to the forum!

Good catch on the command line vs. service user account!

I believe another way to handle that would have been to use the --server-datafolder parameter (or DUPLICATI_HOME environment variable) when starting the server:

–server-datafolder: Duplicati needs to store a small database with all settings. Use this option to choose where the settings are stored. This option can also be set with the environment variable DUPLICATI_HOME.

And of course if the server were running with --portable-mode active then the same parameter would be needed when running from the command line.

Hi Jon,

thx for the warm welcome :wink:

I think you’re right, setting “–server-datafolder” would work in this scenario, too.
Anyway, I hope it will never come to this situation again :wink:

1 Like

This works for me in my linux machine,

cd /usr/lib/duplicati;mono Duplicati.Server.exe --webservice-port=port --webservice-password=new_passwrord --webservice-interface=any

The following procedure works with – Duplicati version 2.0.3.3_beta_2018-04-02 on a Windows 2016 Server with the Duplicati.WindowsService installed.
Open Services.msc. Open the Duplicati service’s properties (if the service is running, stop it). In the “Start parameters” box type “–webservice-password=new_password”. Start the service. Login to the web UI with “new_password”. Change the password and save it. Stop the Duplicati service again. Delete the “–webservice-password=new_password” from the “Start parameters” box. Start the service again, and you’re done.

2 Likes

Hi @Stephen_McLellan, welcome to the forum - and thanks for sharing what worked for you!

You’re welcome. I hope it helps someone.