2.1.109 canary > Failed to obtain a signin token: Server error (401): Failed to sign in

Hm, was on servicebased 2.1.0.108 and upgraded to .109

Copied all files from
C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati

to
c:\Users\myuser\AppData\Local\Duplicati\

Started the service

Get the login, but old password doesn’t work anymore. Tray-access works but cannot start backup because no folder C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati

Tried to set the password from Tray-Icon-Version. No error.
Ended Tray-Icon. Started service. Login not working.

Tried setting password via cmd:

C:\Program Files\Duplicati 2>Duplicati.CommandLine.ServerUtil.exe change-password mypassword

Connecting to http://localhost:8200/...

Failed to obtain a signin token: Server error (401): Failed to sign in

I’m out of ideas really… :frowning:

Why there? That would be suitable for a user-run TrayIcon, but less so for a service config.

which now knows nothing about new database location. Are old ones still there, or moved?
Post says “Copied”, but also says that entire folder (not just content) is gone. It’s confusing.

Did it really say that, or is that a guess, or is it maybe an access error? Folder is protected.

Access standalone, or attached to the SYSTEM server by means of --no-hosted-server?

If the folder C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati does not exist, the .109 will instead use C:\ProgramData\Duplicati.

Also, .109 will set permissions on the folder, so if you copy it, you need to manually set permissions on the folder and the databases.

Was the idea here that with a local copy of the database, you should be able to connect? If so, I had not considered that, but it should work, given correct permissions. You can try setting --server-datafolder=c:\Users\myuser\AppData\Local\Duplicati\ to force it to look in the right place.

A simple thing you can do is the following:

  1. Stop the Duplicati service
  2. Make a note of any extra commandline arguments (in case you don’t already know them)
  3. Run Duplicati.WindowsService.exe UNINSTALL
  4. Run Duplicati.WindowsService.exe INSTALL --webservice-password=pass1234 <other options>
  5. Wait for service to start
  6. Run Duplicati.WindowsService.exe UNINSTALL
  7. Install again without a force password with Duplicati.WindowsService.exe INSTALL <other options>

Now the service is running with the simple password “pass1234”, so log in, and change the password.

It is a bit of a convoluted way, but you don’t need to fiddle with permissions or folder locations. The reason I used a simple password, is that it may get logged in various places, but since you change it afterwards, it is not a security issue.

@ts678 @kenkendk First up, thx (again) for replying so fast :slight_smile:

All I wanted to do was reusing my .108 databases and settings under the default folders of .109 without rebuilding them.

So when trying as @kenkendk suggested the service is started and the folder c:\ProgramData\Duplicati created. It’s owned by System and I can’t copy my DBs in there.
When adding Admins to folder-security I can copy them and the jobs appear in the backend. But when starting a backup, the jobs DB is recreated under C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati instead of using c:\ProgramData\Duplicati.

Long story short my only question is:

  • I have a copy of my .108 DBs
  • How to use them on .109 and running as service

It was never clear if you did a copy (original post) or move from there. Which was it?
Current language with “recreated” makes me think the job DB was not there before?
Are you saying Duplicati created a small DB but complained it saw many extra files?
It wouldn’t normally recreate from destination, although there’s an idea of doing that.

Database location in manual is arguably incorrect or incomplete for server DB move.

The catch is that the Duplicati-server.sqlite server database has all of the job configs.
Moving that file is fine (if you set --server-datafolder or similar to say where it is),
however the job databases haven’t yet been moved. An easy way to move them is in
Database page where you change its path and then click Move existing database.

If one has already moved the job DB (in total folder move), edit path then click Save.

Ah, sorry, I overread that.

Indeed I moved all files from
C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati

But now again,what do I do? How to I get a default .109 installation while maintaining my DB-files? I’m confused at the moment because I thought all files would be in the same directory…

Not always. The Duplicati-server.sqlite server database has the paths on Database screen.
Ordinarily the job databases go in the same folder as the server database, but if you move Duplicati-server.sqlite server DB and job DBs, server DB now has paths to now-empty spot.

which is what you want, to make sure Windows version upgrade doesn’t move the databases.

For each job, go to Database screen, notice its Local database path is wrong. Fix and Save.

It should be sufficient to move the C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati folder into C:\ProgramData\Duplicati.

As long as the folder in Windows does not exist, .109 will pick up the new one (and set permissions on it).

But as @ts678 mentions, the file Duplicati-server.sqlite has a reference to each of the local database, and those paths are now wrong.

1 Like

Thank you very much for this.
It solved my issue.

This should be in the documentation… and sticky for installation as a service. It can save much time to users that want to run it as a service and save the headbangging and confusion…

Ideally, this should not be done.

If you do it like this, then the service will contain the password, meaning that you can obtain the password by looking at the services.

If you do reset with this method, the recommended approach is to afterwards run:

Duplicati.WindowsService.exe UNINSTALL 
Duplicati.WindowsService.exe INSTALL <other options>

This will remove the password from the service (and only rely on the database).
If you are concerned about logs capturing the password (because you create a service), you can log in to the UI and change the password after.

If you leave the password in the service configuration, the password will reset after each restart of the service.

this is obvious to do like that.

The non obvious is that the service installation of duplicati in this version to my understanding is a dead end.
which is sad.
and to say to my understanding
I installed duplicati.
then I installed as service and stopped the gui and the auto gui start on startup.
I started the service and run the gui exe. I set the password.
kill the gui.
open web localhost:8200 it asks for password, I enter the password and doesn’t accept it.

This is what I understood at the first time from searching the doc and forum here in order to make it run as a service, but it doesn’t work.

So the solution to install the service with a plain pass in command line, then uninstall it, then install with other arguments and no password, then from webui change the password.

This way the password is not in the service run command and the service runs…
but overall this procedure (if it’s the only working one) I’m sure it causing users headaches.
I’m ok with it no prob as this app is wonderful just it would save many ppl time if it’s in the documentation.

Choosing Duplicati Type would be worth reading. I suspect you had separate Duplicati up.

Starting the service starts Duplicati.Server as SYSTEM. If you run Duplicati.GUI.TrayIcon as you, it’s a different Duplicati, and changing the password in it won’t change it for the Server.

Because it sounds like you set it in the TrayIcon run (which probably was up at port 8300). You can certainly start TrayIcon again while service is up, and see if it has your password. Port 8200 would be the Server, so it won’t have new TrayIcon one, but might have the old --webservice-password one. If that lets you in, then go to Settings to change as you like.