Ask HN: What is your system for backing up family photos and video?
My current methodology for our immediate family is aligned with the common back up advice - one local copy, one off-site copy (at grandma's house,) and one in cloud storage. We're using Google Photos for cloud storage. The easy integration with Nest Hubs makes for nice digital picture frames around the family homes.
What is your system for backing up family photos and videos to stand the test of time? Is it adequate to put everything in cloud storage and forget about it? Do you reassess every couple years and adjust to the new landscape of storage services? Is it unavoidable that we'll be paying $100+/year forever for a [presumably increasing] few terabytes of cloud storage?
Is there a good solution for posterity? For example, once I die, and if my family were to become unable to pay the hosting bill, is there any way to guarantee these heirlooms remain intact and available?
380 comments
[ 4.0 ms ] story [ 288 ms ] threadYou’ll obviously need to leave keys, instructions etc for your next of kin. Or put a hard drive in a safe deposit box.
I don't use Google Photos for privacy concerns.
Now that I use Tailscale, I could consider setting up a NAT at home and make files easily viewable using NextCloud, but I worry I won't backup properly to Backblaze B2. Need to figure out how to schedule backups before I make the switch.
In addition to the other good answers, a box full a printed photos will stand the test of time.
While I can print photos, it's typically far easier and cheaper to have Walgreens do it.
https://github.com/prettydiff/share-file-systems/tree/master...
When looking at a print physically, a little dust is not distracting. That may change when you digitize it. So you might want to test what condition they are in by testing some of the older and some of the newer ones - maybe some in transparent plastic sleeves, some scattered about and more dusty.
Don't have much advice on what to do if they are dusty, just aware even a little dust can look off-place depending on what is desired.
My family even has reel to reel from the 50s or 60s. The problem though is everyone in them has passed on. I am never going to watch video of my great uncle fishing in 1960. Then he is basically a stranger to the next generation.
All this is quite a bit of work for things that will most likely never get watched.
1. a cronjob on my android phone (via termux) does an rsync to a VPS
2. the VPS has a cronjob to sync everything with S3
3. the frontoffice tool for people to access those photos is my open source Dropbox like frontend that is bring your own backend: https://github.com/mickael-kerjean/filestash My wife and I got an account and family members can access it through shared links.
The S3 bill goes to a shared account so that If I die, the VPS will probably be quickly removed but S3 should stay in there with my wife paying for it.
My reasoning is that I don't trust Google to not lock me out of my account at some point, so having both a local and a remote backup gives me piece of mind. I periodically check the offsite backup to check that it's still all working. Total cost for about a terabyte of files (it's not only photos and videos) is about $6/month, which is pretty reasonable.
[0] https://github.com/gilesknap/gphotos-sync
[1] https://restic.net/
[2] https://www.backblaze.com/b2/cloud-storage.html
TrueNas is configured to automatically backup to Backblaze B2 (which is off-site).
After editing, all the exported JPGs are stored on Google Photos and shared with family. I like Google photos because of the content search and face detection features.
So that's 1 on-site medium and 2 off-site mediums. I used to burn the photos to archival disks and place them in the bank, but it got tedious.
Edit: I use Backblaze because it's the cheapest. Most Photo storage providers don't have support for Raw files. (If anyone has a recommendation let me know).
They have a decent enough Photos app for browsing / sharing photos.
For offsite backup, I send to B2 which is ridiculously cheap, but I pay for, so I’m not the product. I haven’t put Cloudflare in front of it, but that’s something extra folks do.
My personal backup is the usual 3-2-1: 3 backups, 2 places, 1 offline. I have one copy on my local harddrive (that I work with), one automatically synced copy via seafile on one of my dedicated servers (which also maintains a few months of history in case I accidentally delete something) and I have one external, offline harddrive at a relatives house, that I sync to every half a year or so. Since I'm paranoid, my dedicated server is backed up to an external storage every night as well via borgbackup. If you don't want to spend a few bucks a month on backblaze or another service, just use a local NAS - as long as you have one harddrive offline and external as well (in case of a ransomware attack that crypts all files).
Important: My files and backups are fully encrypted and it's imperative(!) that you backup all documentation, all config files, all settings, all cronjobs, all executables that have something to do with the backup and restoration process unencrypted with every backup - in the desaster case, nothing sucks more than trying to find the right settings again.
Case in point: I originally used a custom shell script and encoded the files with openssl. However, the default hash scheme was changed between openssl 1.0 and openssl 1.1 (or something like that) and when it came to restoring after a harddrive failure, this took me like a weekend to sort out.
As for posterity: it's up to you if you encrypt the external drive at a relative - if you're fine with a burglar having the images and you cannot be ransomed with them (e.g. due to nudes), just write what is on the harddrive clearly and you're fine.
I can thus checkout the project on a new machine and just initiate it (giving it the right api keys etc) without issue.
OP is talking about digitized videos, so asking to re-compress the videos is a https://xkcd.com/1683/ in the making.
Yea you are technically correct, but if the distance from the original is just a handful of encodes, good luck noticing any lower quality that's not simply due to poor encoding settings. And when a proper encode can be a 10th the size with hardly any drop in quality, in a video file you might view <12 more times in your life, does it really matter.
What is the plan: when decryption fails (and before you identified that it's a versioning issue with openssl, in your case) you'd reinstall an old linux to a random computer and work from there? How many config files and settings are even involved in your backup process and how can you be sure you haven't missed anything?
I hope there are dependency-free solutions for this - a winzip-encrypted .zip file that asks for a password should work everywhere even in the future?
From then on, I backup to Google Archive Cloud Storage over restic [2]
[1] https://olimex.wordpress.com/2020/03/13/bay-hdd-sdd-is-easy-...
[2] https://cloud.google.com/storage/docs/storage-classes
It is just ZFS snapshots with replication. I wrote my own shell scripts for this that takes daily/hourly snapshots. This scales well with multiple TB's, bandwidth is no issue as only changes from last snapshot(s) are replicated.
After 10 years, I've replaced only 2 hard drives of about 30. I do upgrade FreeBSD once every second or third year. Nothing else, it just keeps going.
This project has probably costed me max a week in configuration & setup & maintenance over the 10 years.
I have 3 separate use cases: casual access to shared memories for which I'm the family steward (photos, videos), motivated access to personal important documents, and motivated access to other personal files.
I'm not about to leave an unencrypted drive full of personal info in a family member's house, as the risk of theft is strictly greater than just having one copy. My current plan is to use EXT4 + Luks to satisfy the last 2 scenarios, which I think stands a reasonable chance for anyone slightly techy (most modern Linux distributions will simply prompt you for the container password when you try to access the encrypted drive) and is likely to enjoy long-lived support for at least a decade or 2. I have a techy person in my family, not sure I'd do this if I didn't... For casual access to shared memories, I plan on leaving an unencrypted partition. While it lasts, these media are also available on a family-only photo album I put up on AWS.
I'm considering using a laptop as the vessel for the encrypted drive, with a suitable Linux distro pre-loaded and instructions on the desktop/printed out and kept in an adhesive document pocket stuck to the machine.
When I first set up that photo solution I feared that no one would like to use it, but everyone liked the idea to have one central storage for all photos where everyone can also see and download the photos of others.
To make sure this is not the only place where everything is stored, I have another, older NAS sitting at my mom's house that is used as a remote backup solution. If ever comes the situation that both my and my mom's NAS are destroyed, photos probably don't matter anymore, so that's totally fine for me.
Of course, two NAS with much storage is quite expensive, but I guess it's cheaper in the long term, than paying for a multi-TB cloud storage every year.
TLDR: two NAS at different locations, one has a shared folder where all family photos are stored, one is backup only.
Use the Synology Photos app on ios to automatically backup media from my phone.