I've been running Home Assistant / Pi Hole for a while as an experiment. I've decided I'm going to run them long term, so I've purchased another Pi4 with an Argon case that supports M2 SSDs and a 512GB M.2 SSD so I can set the new one up while the new one keeps working. I've got Raspbian installed and running from the SSD, no SD card required. The old Pi OS install has a couple of weird quirks, particularly around yum update, it gives weird errors. I run on a Pi4 running Raspbian as that way I get flexibility to run multiple things on the same device.
I'm going to run everything I can on the new Pi using docker, as that makes upgrades a lot easier - Home Assistant updates are a bit weird and things go wrong occasionally, plus as it's in a python virtual environment updates are difficult to automate. Any other software that can be installed using snap will be, I have plenty of disk space. I already have Pi Hole and AppDaemon running using Docker, but I'll be moving Home Assistant and hopefully SyncThing to docker.
Backup and Recovery Strategy
There are two approaches I can think of for backups:
- Nightly image backups to a large external USB stick. This makes recovery quite quick and easy, but is more hassle to set up. I'd need to find software to do it, set it up, and test it occasionally. I'd probably also need to partition the disk so I'm not backing up a lot of images and such that SyncThing copies from our phones. Not my preferred option.
- Nightly data only backups (HA / Pi Hole config, appdaemon apps, etc) to S3 using Restic, which I already do. On the rare occasion things go wrong it will take quite a bit longer to fix as I'd have to install the OS fresh. It's not like I'm running medical equipment, I'm just running home automation and Pi Hole, I'd just use router DHCP and turn the heating on manually.
Any thoughts on backup strategy?
Migration / Cutover Strategy
I was going to ask for thoughts about IP changeover strategy between keep existing IP vs use new IP as well, but I don't think I have any choice really. Since we're dual IPv4 / IPv6 the IPv6 address will change, so might as well change the IPv4 address as well.