Recommendations about Duplicacy on Unraid and usage of docker

Hey all,

I’m on Unraid using Duplicacy as my backup solution, it’s installed as a docker container from the Unraid’s app store. I’m creating this topic to discuss a sensible way to setup Duplicacy on Unraid so that it can manage the docker service (and others services if needed), although with least privileges as possible.

The problem in using Duplicacy containerized is trying to manage others docker containers (as already discussed superficially in the forum), and mapping in the docker socket doesn’t seem a sensible approach to me. I have gone back and forth around this subject multiples times, trying to figure out what would be the “recommended” way, by this I mean: the one that better integrates with Unraid’s tools/plugins (e.g., Appdata Backup, User Scripts) and with the least effort/complexity.

Today, Duplicacy is set up as:

  • Every hour updates 3 backups (nextcloud/, appdata/, media/) to local storage.
    • appdata/ comes from the archives (tar.gz) generated by Appdata Backup (it handles the container stop/start). Some parallel question here: as the file is compressed, it can impact Duplicacy backup/restore process? At least, I think it will impact the deduplication heuristics. yes, I shouldn’t compress backup source files
    • nextcloud/ represents the user’s files. They way Duplicacy is set, it makes the backups without managing the service life cycle (this is what raised my eyebrows mainly).
  • Every 4 hours, copy from local storage to remote (S3 bucket).
  • Daily, makes check and prune on local storage.
  • Daily, makes check and prune on remote storage.

(this schedule seems good? feedback appreciated)

I was happy with this setup for months, until I notice that the backup can be corrupted (I think) by some other process writing to the file being backup-ed (e.g., Nextcloud user’s files as commented previously).

My plan is:

  • Migrate Duplicacy from docker to standalone. I think I just need to download the linux binary and copy the existent config files to some place, correct? Probably, create a service to start it at login yada yada…
    • My idea is to keep it simple here, but if needed I can discard the GUI and use the CLI directly.
  • Manage Nextcloud service backup appropriately, using stopping/starting hooks of the containers to signalize it (probably via Appdata Backup). I pretend to create some script to properly dump the DB (as I’m not doing it now) and selectively save the important files from its config.
  • Some strategy to restore a random subset of files to validate that everything is working.
  • Except the above points, the Duplicacy’s schedule backup remains the same.

My local copy is in the same array of the original files, it’s ok to me streamline the backup process and persist it directly on the cloud?

Thanks in advance.


I tried to elaborate on my backup plan to enrich the context and help the discussion. Also, I think it can be useful as a reference to others Unraid users that can be stumbling on the same doubts as me.