Make it easier to backup multiple machines to the same restic repository
Suggestion
restic supports multiple machines being backed up to the same location (repository). This is nice if you have 2+ machines with shared content as it will perform deduplication for you so you're using less storage and is actually an awesome feature, as it saves a huge amount of money if you have lots of data and some of it is redundant. The problem in Deja Dup is that you end up with multiple snapshots in the restore tab, some from one machine and some from another. It doesn't have to be like this - the snapshots should be filtered by the hostname of the machine that they are backed up from assuming there are backups from multiple machines present in the index.
Reference: https://forum.restic.net/t/b2-multiple-hosts-to-single-repository-bucket/106/2
Your suspicion is correct - restic will only store the contents of that identical file once, even if you back it up from multiple clients/sources. Even if only parts of the file would be identical, those parts would be stored just once, as restic inspects chunks of the files when deduplicating.
It’s not a problem to use the same repository from multiple machines. Each snapshot will have that client’s files/folders listed, so it won’t be messy either, e.g. when you want to restore.
Restic stores the hostname of the client with each backup/snapshot (and you can override this with --hostname), and you can also tag the snapshots with your own tags if needed.
You can also create a separate password for each client (see the key command), so that you can easily remove access to the repo for just that client, would it be decommissioned or stolen.
Have a go with it, fire up a test repo somewhere and test backing up a couple of clients (for a quick test, you can back up just parts of their filesystem, and you can use a simple sftp repo as well)!
As you might know you can mount the repo via fuse, so you can simply browse the snapshots when restoring, if you want.