I’m running Duplicati as a service.
Because of this I don’t want to run a “normal” version of the tray that would spawn another instance of the server as well. When I try to use any of the arguments that would just launch the tray, it fails.
I’ve tried numerous iterations of the command line, and most fail without even writing a log file.
For brevity I’ve only included the output from a few of the attempts.
The actual service is running fine. It’s actually running on the local system, but I shouldn’t need to reference the db location or similar, I think?
I’ve tried with and without a password on the UI.
Windows 2024H2
#Works, detects existing server, starts on 8300 & Logs tofile
.\Duplicati.GUI.TrayIcon.exe --log-level=Profiling --log-file=“c:\tray-icon-log.txt”
#Doesn’t work, no log
.\Duplicati.GUI.TrayIcon.exe --log-level=Profiling --log-file=“c:\tray-icon-log.txt” --no-hosted-server
When running the TrayIcon without a hosted server, you must provide the server password via the option --webservice-password=.
If the TrayIcon instance has read access to the server database, you can also or use the option --read-config-from-db, possibly with --server-datafolder=.
No password provided, unable to connect to server, exiting
#Doesn’t work, no log
.\Duplicati.GUI.TrayIcon.exe --log-level=Profiling --log-file=“c:\tray-icon-log.txt” --no-hosted-server --serverurl=https://localhost:8200 --webservice-password=“XXXXX”
PS C:\Program Files\Duplicati 2> .\Duplicati.GUI.TrayIcon.exe --log-level=Profiling --log-file=“c:\tray-icon-log.txt” --no-hosted-server --serverurl=https://localhost:8200 --webservice-password=“XXXXX”
PS C:\Program Files\Duplicati 2> Unexpected error: System.AggregateException: One or more errors occurred. (Response status code does not indicate success: 400 (Missing XSRF Token. Please reload the page).)
—> System.Net.Http.HttpRequestException: Response status code does not indicate success: 400 (Missing XSRF Token. Please reload the page).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequestInternalAsync[T](String method, String endpoint, String body, Nullable1 timeout) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task
1.GetResultCore(Boolean waitCompletionNotification)
at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequestInternal[T](String method, String endpoint, String body, Nullable1 timeout) at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[T](String method, String urlfragment, String body, Nullable
1 timeout)
at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(String password)
at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[T](String method, String urlfragment, String body, Nullable1 timeout) at Duplicati.GUI.TrayIcon.HttpServerConnection.UpdateStatus(Boolean longpoll) at Duplicati.GUI.TrayIcon.HttpServerConnection..ctor(Uri server, String password, PasswordSource passwordSource, Boolean disableTrayIconLogin, String acceptedHostCertificate, Dictionary
2 options)
at Duplicati.GUI.TrayIcon.Program.StartTray(String _args, Dictionary`2 options, HostedInstanceKeeper hosted, String password, String acceptedHostCertificate)