Running diff command on web-ui repos

I’ve got a bunch of web-ui managed backup schedules. These have been working great for years, and when I set up the storage I tested restoring from the backup. Recently I’ve had a disk failure and I’ve rebuilt from parity drive in Unraid.

I want to run a -diff command to give myself peace of mind that the latest snapshot of my backup includes all the files that were there prior to me rebuilding from parity, but I can’t seem to get it to run.

I found the CLI in the docker container (using the saspus one) under /config/bin/duplicacy_linux_x64_3.0.1, but I get a permission error that the web-ui does not have when exec’ing from within the docker container that the web-ui runs in. I’m trying to compare two revisions that I can see in the web-ui.

/cache/localhost/8 # /config/bin/duplicacy_linux_x64_3.0.1 diff -r 435 -r 436
Repository set to /backuproot/Videos
Storage set to /mnt/nfs2
Failed to get the information on the snapshot videos at revision 436: stat /mnt/nfs2/snapshots/videos/436: permission denied

I’ve checked and my duplicacy runs under 99:100 (docker defaults) (and the web-ui runs fine with these permissions). Any ideas?

Run it the same way container launches webui:

su-exec 99:100 /config/bin/duplicacy_linux_x64_3.0.1 diff -r 435 -r 436

You don’t actually need to do it from a container, you can do it from any other machine.

See /usr/local/bin/init.sh for reference

Thanks for responding, I don’t have su-exec on my server but I figure there should be no issue running it in the container for convenience. I get the below though.

/ # cd /cache/localhost/8
/cache/localhost/8 # su-exec 99:100 /config/bin/duplicacy_linux_x64_3.0.1 diff -r 435 -r 436
Repository set to /backuproot/Videos
Storage set to /mnt/nfs2
Failed to create the snapshot cache subdir: mkdir /cache/localhost/8/.duplicacy/cache/nfs2/chunks: permission denied
/cache/localhost/8 # 

I tried /cache/ and /config/cache/, same result.

Hmm. In the container run this:

id
ls -ld /cache
ls -ld /cache/localhost/8
ls -ld /cache/localhost/8/.duplicacy
ls -ld /mnt/nfs2

You will likely see /cache/… owned by root or NFS mounted with different UID mapping

If so — run in the container

chown -R 99:100 /cache

And also on the host — set same ownership to the folder mapped to /cache

But I can’t explain why web ui works. It should not.