Duplicati-Docker on QNAP: backup fine, restore fails


i´m using and supporting DUPLICATI since years. Installed on my Qnap-4-Bay. After reboot, the Dupliacti-Service must be manually stopped and started for working. To get a better solution, i activated the “Container Station” on the QNAP and was already able to get DUPLICATI to import my configs and to backup into the backblaze-cloud again.

But the restore is an issue, from my point of view: ACL, readable but the duplicati-server has no right to write / create files on the NAS.

How to adjust,

  • that restore is possible to original location
  • no database issues
  • container protected from being filled up with tmp files

Is there a step-by-step manual for using duplicati with docker?
Or has someone ideas, recommendations for me?

thanks in advance
Duplicati-logs.zip (686.6 KB)

Hello and welcome to the forum!

I don’t have a QNAP but I do use Duplicati in Docker on my Synology. Are you using the official Duplicati docker image, or the linuxserver one?

Second, have you mapped the configuration area of the container out to the host NAS? You don’t want to store that inside the container.

Regarding your restore issue, you must have set up a mapping that allows the container to see your NAS data (otherwise you wouldn’t have been able to back anything up). But how did you set the permissions on this mapping? On my Synology it can be set to read-only or read-write. If the same options are available in QNAP Container Station, and you set it to read-only, it would explain why you cannot restore.

It should be ok to store tmp files inside the container and not worry about writing them on the host NAS. The container shouldn’t “fill up” with them - the tmp files should be removed once Duplicati is done with them.

1 Like

Thank your for your answer!
I´m using the offical image.

How to map the config area out to the host?
This seems to be very important, otherwise i will lose my config after setting up a new container or an update will overwrite my config.

The mapping, to see the host from the container to backup, has been made. From my point of view, this could by “everyone (ro-user)” and i´ve not seen an option “rw” but i will take another look on this.

What user will be used by the container or is there a possibility to set a UID for the duplicati-server inside the container? I´m sure, there must be the option to define a user, mapped by the NAS-OS to the users of the NAS-OS.

Well, I don’t know how the mapping options are presented in the QNAP ContainerStation application, but there should be a way to configure the volume mappings (may also be called bind mounts).

So for instance the official duplicati docker image wants to store configuration data in /data (from the container’s perspective). This needs to be mapped to your NAS so that you can do container upgrades or resets without losing your configuration.

Can you find the volume mappings / bind mounts in the QNAP configuration screens? Here’s what Synology shows me in my setup (you can also see where I configured these mappings for read-write access):

Yes, this is part of the container setup. The default behavior for the official image is to run Duplicati as root. This is the simplest as it has access to all files for backups. You can verify by getting a terminal inside your container and running ps aux:

Or maybe a simpler way is to look at the web UI → About → System Info:

1 Like

Now it works!

The container on a QNAP looks like:

Data-Folder will be mapped outside during setup automatically
In my case:

I verified, there are the DB and config-changes will be written in this folder

Source for Backups must be mapped manually.
I´ve imported my config-files, performed backup, delete, restore: fine
I´ve rebooted the NAS, take again a look on it, and config-data, container are working as expected!