Tested with Duplicati 2.0.2.13 on macOS 10.13.1.
This assumes you've already downloaded the latest Duplicati and extracted it to /Applications.
Close/exit Duplicati if it is running before trying to run it as a service.
I gathered the original plist info from here: https://forum.duplicati.com/t/macos-osx-service-installation/968/
To run Duplicati as a background service:
Create this file:
/Library/LaunchDaemons/net.duplicati.server.plist
Add these contents to the file:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.duplicati.server</string> <key>ProgramArguments</key> <array> <string>/Applications/Duplicati.app/Contents/MacOS/duplicati-server</string> <string>--webservice-port=8200</string> </array> <key>RunAtLoad</key> <true/> <key>LaunchOnlyOnce</key> <true/> <key>KeepAlive</key> <true/> </dict> </plist>
Start the service: (as root)
launchctl load -w /Library/LaunchDaemons/net.duplicati.server.plist
To run the tray icon as a service:
Create this file:
/Library/LaunchAgents/net.duplicati.tray-icon.plist
Add these contents to the file:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.duplicati.tray-icon</string> <key>ProgramArguments</key> <array> <string>open</string> <string>/Applications/Duplicati.app/</string> <string>--args</string> <string>--hosturl="http://localhost:8200"</string> <string>--no-hosted-server</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
Start the program: (as user)
launchctl load -w /Library/LaunchAgents/net.duplicati.tray-icon.plist
With Duplicati running as root, it will use this location for its database and configuration:
/var/root/.config/Duplicati
It may use this location if it tries to access anything via its local path (i.e.: you forget to specify an absolute path for backups):
/Applications/Duplicati.app/Contents/Resources
Due to its nature of being a .NET/Mono program, Duplicati's process will show up as mono-sgen64.