on a Windows Server I run Duplicati 2 and lost the login password. As mentioned in this forum it can be reset by:
Stopping the Duplicati Service
Starting the Duplicati Server from the CommandLine with: Duplicati.Server.exe --webservice-password=new_password
Wait a few seconds
End the Server
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
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…
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.
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.