Backup Other Users

I have a need to back up data on a family MacBook - ideally I would like to setup backup sets in Duplicati under my own account to manage these but still allow the other users to access the interface with these files?

Is it possible to allow all users to access the same UI via localhost? What disk permissions would be needed to allow the software to backup beyond the user initially setting up the backup?

Welcome to the forum @steveyeu

Ideally, someone with a Mac who’s done this would help, but the general plan would probably be to have Duplicati run as a privileged user such as root, start as a service at boot time, and be accessible to your entire family. The localhost connection would be available to all, but sharing a Duplicati means they have access to all the family backups, and you’d have to tell other users what limits you want them to respect.

Running as root probably bypasses permissions. If you’re good at groups (UNIX permissions) or access control lists, you could maybe figure out some way that Duplicati could do the job without running as root. There’s nothing too special about it. It’s an application, so it needs to read to backup, and write to restore.

If this all sounds reasonable, then the remaining challenge is the seemingly ill-documented method to get Duplicati running as a service. I’ll point to some past advice while hoping someone who’s done it can help.

MacOS / OSX service installation

Starting Duplicati server-wide (as root) & server-only on the Mac

Multi user backup on OSX, possible?

Duplicati on MacOS as a service

I have been running Duplicati as a system service for a few years now on a few multi-uses Macs. Works like a charm with the following LaunchDaemon:

hermione:~ gerben$ cat /Library/LaunchDaemons/com.duplicati.server.plist

<?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>com.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>

I do all the management via http://localhost:8200/ in Safari.

You need to set up mono and five Duplicati full disk permissions, but that is all. The database of duplicati config is kept in root’s home directory ~root/.config/Duplicati

I don’t use the ‘client’ ('Tray icon in Windows speak, took me years understanding what Tray was, but I don’t need it so I ignore it)

Currently running on macOS Catalina on a few systems.

G

1 Like

Note that you could have four Duplicati’s running, each running its own web service on a different port to make sure different users cannot access other’s backups.