Tray icon Service Mode [WINDOWS*

Once Duplicati is running as a service and the trayicon is closed, you will still be able to access the GUI by going directly to http://localhost:8200/ , does that work?
yes
Is there a command to see the current path of the dBase? Not that of the DBASE of the backups, the one can be seen on the settings, at least so you understand which path resides the dBase.
I place my configuration that I always use on all servers:
Duplicati.WindowsService.exe install --webservice-interface-loopback --webservice-port=8200 --portable-mode
ā€“snapshot-policy=Required
ā€“backup-name=Valerio
ā€“auto-vacuum=true
ā€“prefix=valerio
ā€“auto-vacuum-interval=1W
ā€“all-versions=false
ā€“allow-missing-source=true
ā€“auto-vacuum=true

I only miss the activation of the icon on the taskbar, that I need to understand if duplicates is active or not installed.

The path to Duplicati-server.sqlite (as opposed to job databases) can be found indirectly by looking at setup, which is not quite as nice but gets you there. For example, if Windows Services App shows you run as the SYSTEM default, then it uses the SYSTEM profile, which Windows unfortunately clears for version upgrade.

C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati is that folder. For any user you choose, Windows %LOCALAPPDATA% (typed into Explorer or Command Prompt) will be its default folder.

Custom selecting a folder by use of HOME environment variable or --server-datafolder overrides default.

You can also see which user the Duplicati server is running as using About ā†’ System info or Task Manager.

If you set multiple overrides, Iā€™m not sure which wins. --portable-mode puts the server database in a data subfolder of the install directory, for example C:\Program Files\Duplicati 2\data. Look at dates there?

This folder is probably not heavily protected compared to SYSTEM profile, but you can test your file access, and look at file dates. Duplicati-server.sqlite date will update on job edits, backup runs, and similar activities.

None of this should be necessary to deal with unless you desire a web UI password. For setup, maybe turn that off in GUI Settings while getting TrayIcon going. After that, if you want one, further changes are required, such as --webserver-password=<password>, or setting up file access so it read from the database directly.

Duplicati Tray Icon Silently Dies with --no-hosted-server arg #3137 is rather long, but talks about this a lotā€¦

The basic method to have TrayIcon NOT start its own server is --no-hosted-server on its command line.
Without a password, it should just connect and stay (but beware that Windows may set it as a hidden icon).

An alternative test to Task Manager is to first verify nothing is at http://localhost:8300. If a TrayIcon start puts something at 8300, something went wrong with your --no-hosted-server, and you need to find what.

I wanted to report a small path problem.
If I change the path of the dBase, when I restart duplicate they appear to me all my backups, only if I go to see the path of the dBase is still the old one.

Please clarify what dBase you mean, and how you change the path.
If you mean the server database, check Task Manager as explained.

Which Duplicati? The Windows service or TrayIcon (if set up now)?

Done how?

Hi TS678, working with duplicates and modifying profile from user to Service and changing the parameters, I think I understood the dilemma.
In my opinion, if I change the path where the data is saved with the command - server-datafolder = duplicate at startup finds its database, but the paths of the database saved focus on the old route.

The best thing when installing duplicates, have clear ideas whether to install in user mode or in Service mode.
Changing work modes in the future does not always succeed in the first shot

I can help very little if no details are said. In the future, please write clearly and specify steps and results.

Hereā€™s an example of adding the --server-datafolder option (not a command, and note two dashes):

C:\Program Files\Duplicati 2>net stop duplicati
The Duplicati service service is not started.

More help is available by typing NET HELPMSG 3521.


C:\Program Files\Duplicati 2>Duplicati.WindowsService.exe uninstall


The uninstall is beginning.
See the contents of the log file for the C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe assembly's progress.
The file is located at C:\Program Files\Duplicati 2\Duplicati.WindowsService.InstallLog.
Uninstalling assembly 'C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe'.
Affected parameters are:
   logtoconsole =
   assemblypath = C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe
   logfile = C:\Program Files\Duplicati 2\Duplicati.WindowsService.InstallLog
Removing EventLog source Duplicati.
Service Duplicati is being removed from the system...
Service Duplicati was successfully removed from the system.

The uninstall has completed.

C:\Program Files\Duplicati 2>dir C:\tmp\config
 Volume in drive C has no label.
 Volume Serial Number is E471-3EE4

 Directory of C:\tmp

File Not Found

C:\Program Files\Duplicati 2>Duplicati.WindowsService.exe install --server-datafolder=C:\tmp\config

Running a transacted installation.

Beginning the Install phase of the installation.
See the contents of the log file for the C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe assembly's progress.
The file is located at C:\Program Files\Duplicati 2\Duplicati.WindowsService.InstallLog.
Installing assembly 'C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe'.
Affected parameters are:
   logtoconsole =
   assemblypath = C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe
   logfile = C:\Program Files\Duplicati 2\Duplicati.WindowsService.InstallLog
   commandline = "--server-datafolder=C:\tmp\config"
Installing service Duplicati...
Service Duplicati has been successfully installed.
Creating EventLog source Duplicati in log Application...

The Install phase completed successfully, and the Commit phase is beginning.
See the contents of the log file for the C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe assembly's progress.
The file is located at C:\Program Files\Duplicati 2\Duplicati.WindowsService.InstallLog.
Committing assembly 'C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe'.
Affected parameters are:
   logtoconsole =
   assemblypath = C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe
   logfile = C:\Program Files\Duplicati 2\Duplicati.WindowsService.InstallLog
   commandline = "--server-datafolder=C:\tmp\config"

The Commit phase completed successfully.

The transacted install has completed.

C:\Program Files\Duplicati 2>dir C:\tmp\config
 Volume in drive C has no label.
 Volume Serial Number is E471-3EE4

 Directory of C:\tmp

File Not Found

C:\Program Files\Duplicati 2>net start duplicati
The Duplicati service service is starting.
The Duplicati service service was started successfully.


C:\Program Files\Duplicati 2>dir C:\tmp\config
 Volume in drive C has no label.
 Volume Serial Number is E471-3EE4

 Directory of C:\tmp\config

02/13/2022  04:29 PM    <DIR>          .
02/13/2022  04:29 PM    <DIR>          ..
02/13/2022  04:29 PM    <DIR>          control_dir_v2
02/13/2022  04:29 PM            57,344 Duplicati-server.sqlite
               1 File(s)         57,344 bytes
               3 Dir(s)  242,412,077,056 bytes free

C:\Program Files\Duplicati 2>

You can see that configuring the service with the desired new home of Duplicati-server.sqlite even created that folder for me, and when I go to http://localhost:8200 I donā€™t get my previous configs but

image

I state my machine has only a single account (not true, but Iā€™m the only user, and I donā€™t want a password).

I make a test job, look on its Database management screen for the Local database path, and it shows:

image

All of the potential databases, both the server and the job database, are now in the --server-datafolder.

If you are keeping old jobs from old Duplicati-server.sqlite, use Move existing database button if you like.
Typing on the path will enable the button. Beware that Duplicatiā€™s move ability is subject to access controls.

Because I mentioned Task Manager and Run as administrator, hereā€™s a view of my newly added option:

This I would agree with. It would be nice to give more leadthrough at install time, but that needs a volunteer. Less technical solution would be to upgrade the manual. Its author already made a video (if one can find it).

Duplicati Tutorial 02 Install Duplicati as a Service

When you move the duplicate database on a new path, then the previously stored backup database path I have to change it manually? When do I select the new path, even set the database name associated with the backup?

I think so. Backup database paths (and all other job settings) are in Duplicati-server.sqlite:

Going underneath Duplicati to move Duplicati-server.sqlite does not edit jobā€™s DBPath above.
That would need a separate independent operation done by you on the job database screen.

Whenever you like, or never (if you donā€™t mind backup databases remaining where they are).
If youā€™re trying to avoid Windows update damage, best to leave nothing in SYSTEMā€™s profile.

Migrating from User to Service install on Windows did server DB first. Other order may work.
Please look at this How-To. If youā€™re now at moved-server-but-not-jobs, jump in at the below:

Hi,

Is there an option to rename the Tray icon hover text ā€œDuplicatiā€ to ā€œMy_App_Nameā€ in service mode installation? Without building from source?

Tray Icon SS

Service mode has nothing to do with this, so you didnā€™t need to move here, but the source says:

AppName looks like it comes from

leading to the idea that oem-app-name.txt contains an optional replacement for unspecified things.

Branding and OEM customization supports this idea too, but itā€™s not used much so be sure to test it.

oem-app-name.txt

This file changes the name reported by the application in various places, and goes a bit deeper than the BrandingService described above, but does not change executable names etc.

It seems to change the TrayIcon for me, if I add that file it to my C:\Program Files\Duplicati 2:

image

There might be some other options on that page that interest you, but youā€™re somewhat on your own because youā€™re probably not talking to anyone whoā€™s set it up, unless they happen to stop by hereā€¦

EDIT:

If you need an option as in something that goes on command start, thereā€™s not one. There are these:

Duplicati.GUI.TrayIcon.exe --help | findstr .
Supported commandline arguments:
--toolkit: Choose the toolkit used to generate the TrayIcon, note that it will fail if the selected toolkit is not supported on this machine
    Supported toolkits: winforms
--hosturl: Supply the url that the TrayIcon will connect to and show status for
--no-hosted-server: Set this option to not spawn a local service, use if the TrayIcon should connect to a running service
--read-config-from-db: Set this option to read server connection info for running service from its database (only together with no-hosted-server)
--browser-command: Set this option to override the default browser detection
--detached-process: This option runs the tray-icon in detached mode, meaning that the process will exit immediately and not send output to the console of the caller
Additionally, these server options are also supported:
--tempdir: This option can be used to supply an alternative folder for temporary storage. By default the system default temporary folder is used. Note that also SQLite will put temporary files in this temporary folder.
--help: Displays this help
--parameters-file: This option can be used to store some or all of the options given to the commandline client. The file must be a plain text file, UTF-8 encoding is preferred. Each line in the file should be of the format --option=value. The special options --source and --target can be used to override the localpath and the remote destination uri, respectively. The options in this file take precedence over the options provided on the commandline. You cannot specify filters in both the file and on the commandline. Instead, you can use the special --replace-filter, --append-filter, or --prepend-filter options to specify filters inside the parameter file. Each filter must be prefixed with either a + or a -, and multiple filters must be joined with ;
--unencrypted-database: Disables database encryption
--portable-mode: Activates portable mode where the database is placed below the program executable
--log-file: Outputs log information to the file given
--log-level: Determines the amount of information written in the log file
--webservice-webroot: The path to the folder where the static files for the webserver is present. The folder must be located beneath the installation folder
--webservice-port: The port the webserver listens on. Multiple values may be supplied with a comma in between.
--webservice-sslcertificatefile: The certificate and key file in PKCS #12 format the webserver use for SSL. Only RSA/DSA keys are supported.
--webservice-sslcertificatepassword: The password for decryption of certificate PKCS #12 file.
--webservice-interface: The interface the webserver listens on. The special values "*" and "any" means any interface. The special value "loopback" means the loopback adapter.
--webservice-password: The password required to access the webserver. This option is saved so you do not need to set it on each run. Setting an empty value disables the password.
--webservice-allowed-hostnames: The hostnames that are accepted, separated with semicolons. If any of the hostnames are "*", all hostnames are allowed and the hostname checking is disabled.
--ping-pong-keepalive: When running as a server, the service daemon must verify that the process is responding. If this option is enabled, the server reads stdin and writes a reply to each line read
--log-retention: Set the time after which log data will be purged from the database.
--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.
--server-encryption-key: This option sets the encryption key used to scramble the local settings database. This option can also be set with the environment variable DUPLICATI_DB_KEY. Use the option --unencrypted-database to disable the database scrambling.
1 Like

Wow! This is what i was looking for, so oem-app-name.txt worked for you right?

Well, i just checked with my installation but i didnā€™t find oem-app-name.txt file May be i need to create it.

Few Questions for oem-app-name.txt:

  • Where do i need to put this file, which folder location?

  • Also what do i need to add to the file?

Perfect! This worked for me!

Thank you for detailed information @ts678 really appreciate your time!

C:\Program Files\Duplicati 2

The name you want to change the app to.

1 Like

One thing to test would be something like an install from .msi of 2.0.5.1_beta_2020-01-18, add the branding file, make sure that comes up right, check for updates to autoupdate to 2.0.6.3, check that.

The Program Files version after autoupdate is just a launcher for the new version, and Iā€™d hope that branding the new version doesnā€™t need the oem-app-name.txt file added to its update folder which undergoes verification and gets ignored if altered. The Program Files folder doesnā€™t check that way.

If there is actually a service involved here, the which-folder issue gets worse because I think service installer command will do the usual and run the latest version, but point to itself for Windows service.

The good news might be that in that case the update might be treated as the parent process, but as Program Files folder is now ignored, it might no longer be the right place to put the branding nameā€¦

If you want to see which folder the process is running from, Task Manager Command line column is possibly enough. If itā€™s not, Sysinternals Process Explorer can show the actual image path thatā€™s run.

[SOLVED] Is it ok that I see 5 processes of Duplicati in Windows Task manager?
is a process picture of a service install with a tray icon watching it, but some statements might be off.

I donā€™t know what the plan is for install or update. If things get too weird when Program Files isnā€™t the actual latest version, this can be fixed by installing from .msi which will means code lives right there.

1 Like