I’m currently migrating my media server / homegrown NAS from Ubuntu over to a Synology DS920+ (4GB RAM, but planning to upgrade)
Been using Duplicacy (mainly CLI) for several years and very happy with it
I’m a complete Docker novice but managed to stumble thru standing up a container for OpenVPN and Transmission (still beaming with pride over that)
So two questions…
Docker vs Native
I’ve read thru many posts discussing ways to deploy using Docker and I also see SPK’s for Duplicacy on DSM v7. Props to @saspus for all the detailed information.
I understand that this may come down to a matter of personal preference, but is there a consensus on the preferred deployment method? I’m coming around to the conclusion that the value of a Docker deployment is somewhat limited vs the straight-up package install.
Getting a good, clean system backup that can actually be used in the event of a system failure/reset/fatal operator error.
On Ubuntu, I was grabbing a snapshot of the system partition, tossing that image on the shared files drive and including it in the Duplicacy backup process. That saved my rear end more than once.
What is the recommended method to capture (hopefully most) everything so that DSM could be recovered back to a pre-FUBAR state with a minimum of manual rebuild?
As a former synology user I must give you this advice below:
If you have already bought it and can’t return – too late, but if you haven’t or can – do, and get DS1618+ or newer in the same lineup. It’s slightly more expensive but orders of magnitude better. I can find and link you to a series of reddit posts that go into details.
DS920+ has half of ram soldered, so your upgrade options are limited. You can stick 16GB there, hoping it will match internal ram specs, and get 20GB total, but that’s about it. It’s one of the many reasons this appliance is not worth spending money on.
Better yet, get TrueNAS Core instead, if you are after stability and performance. Bonus points if you have old hardware laying around – then you get free NAS, while being superior to synology in every respect that maters. I’ll go as far as saying that if you plan to use synology as Time Machine target for Macs – then don’t. Get TrueNAS. Anyway, back to the topic.
Now on your questions:
in my opinion docker offers zero benefits for duplicacy, since you can run it natively and now even with packages. Package on synology is that weird thing that is ultimately a wrapper around native code. On the other hand, docker on synology is based on obsolete branch and is broken in many wonderful ways.
So the question is really not docker vs native, but which native: manual systemd daemon or package?
By magic of working in software for decades, and having seen the package API Synology provides I went and wrote a script to run it. I would stay as far as possible from synology software to the extent possible. I don’t know that is that – but everything is broken there; the core functionality is OK, and really that’s what matters.
On data snapshots:
You can create snapshots with btrfs, so it will build down to writing pre-backup and post-backup scripts for duplicacy where you would create and mount snapshots and unmount them when done. This is a standard approach and is very doable. Not using package gives you ability to persist things wherever you like, not tied to a synology defined locations, that will break in the next release, because why not?
You can’t really update system partition willy nilly on synology. To give you more details: Synology boots from a built-in flash daughterboard: that thing contains boot loader, basic DSM, and some diagnostic scripts. Once the drives are added the DSM is installed onto RAID1 array spanning all disks. There is another RAID1 array for swap partition. You can technically image that – but then you would need to attach the array to some other machine. Ultimately, it’s not worth it:
If your system dies you just reinstall it from that daughter card and restore configuration from the config backup that Synology allows you to export beforehand, as soon as you configured the system to your liking. It works fairly well. Not as well as TrueNAS but well enough.
In other words, the system partition is disposable, and user data pools are separate.