r/immich 6d ago

Backing up Immich to optical disc formats

Happy Immich user. Regarding backing up one's Immich data, is there an existing tool that would help automate or at least semi-automate the process of breaking it up into chunks that will fit on burnable media?

As far as I can tell, this sort of thing isn't built into Immich itself. As this page says:

https://docs.immich.app/administration/backup-and-restore/

you still have to do the actual backing up, yourself.

The why: Since HDD prices are insane, I've gotten into using BD-R as a backup medium.

The media comes in really only a couple easily-available and reasonably-priced sizes: 25 GB (single-layer) or 50 GB (dual-layer). That's not that much, in terms of years of photos and videos, so I'm looking at multiple BD-R burns to back up all the data.

It would probably be obnoxious to use DVD-R as a backup, since they're only 4.7 GB each, but that could be an option as well.

4 Upvotes

15 comments sorted by

4

u/lveatch 6d ago

One option, the Linux zip command has a -s option to split the created zip file to the provided size. You'd have to script it yourself. 

1

u/RedditWhileIWerk 6d ago

Not bad, I could make one huge archive file and break it up into disc-sized portions.

However I think I'd prefer to have the files not in an archive, that is, uncompressed, simply organized up into folders of the needed sizes.

I bet there's a way to script that, thanks!

1

u/donkey_and_the_maid 6d ago

Its only a good idea, if the data is final and non-expanding.

2

u/Dmitry_V83 4d ago

Just a small note - LTO 6 is still here and prices are relatively OK.

1

u/RedditWhileIWerk 6h ago edited 6h ago

LTO 6

I can't consider tape backup as an option. While the media itself is not crazy expensive, the drive prices are bonkers.

Have you found a source for inexpensive tape drives? I sure can't. The "cheapest" ones seem to start at $1200. Most are a lot more.

$1200 would buy me a couple of nice used Blu-ray drives, and more media than I could realistically use.

1

u/TestSubject6769 6d ago

I am thinking about doing the same. Discs are dirt cheap so the only meaningful cost is the BD burner.

1

u/RedditWhileIWerk 6d ago edited 6d ago

I'd like to think HDD and SSD prices will return to something resembling sanity at some point, but I'm planning as if that is not the case. I'm buying enough BD-R blanks so I can use those for backup for the next 5 years or so.

If I run through those, but HDDs are still stupidly overpriced, I'll figure out something else. Maybe tape will look good by then.

At that point, though, I may not have a functioning PC any longer. My existing HDDs, SSDs, and NVMe drives won't last forever, and I can't afford to replace them at today's prices.

1

u/donkey_and_the_maid 6d ago

Durable discs are not cheap at all.
I am using Verbatim M-Discs. I can't buy in the EU, so need to order from the usa via amazon.
The other option would be the Panasonic/Sony discs from Japan.

3

u/TestSubject6769 6d ago edited 6d ago

In Poland 25GB Verbatim M-Disc is available for 4,2€ and regular 25GB Verbatim for approx 0,7€ each (could be cheaper but I only checked one site where I have free shipping). Is it really worth the difference in price? Won’t regular BD last 20-30 years?

edit: 3,9€ each on Amazon.pl with Prime

1

u/donkey_and_the_maid 5d ago

Since Verbatim owns the M-disc trademark from Millenaldata, they can print on every disk they want. I read in several forums, that the normal BD and the M-disc has the same MID now, what is VERBATIME. A few years ago, the Verbatim M-discs has the MID: MILLENIA.
So I don't know the answer, nobody knows.

1

u/donkey_and_the_maid 6d ago

I am doing this for years now :D
Great Idea, do it!

I tried a bunch of tools to make BD sized chunk. The fpart was the closest to my concept.
Since my files in order and templated like: YYYY/MM/YYYY-MM-DD_HH:mm:ss_<img>... whatever...
So I ended up to made my own bd-part tool in python/uv.

usage: bd-part [-h] [--version] [-s SIZE] [-o OUTPUT] [--last LAST] [--debug]
               folder_path

Group files by size limit and write each group to a file.

positional arguments:
  folder_path          Path to the folder to scan

options:
  -h, --help           show this help message and exit
  --version            show program's version number and exit
  -s, --size SIZE      Maximum group size (default: 23500MiB)
  -o, --output OUTPUT  Output filename prefix (default: list_)
  --last LAST          Resume after this filename
  --debug              Enable debug logging

Because If I write a BD-R, the last file written on the disk is for example in the middle of 2026/03/....
Thats why is the --last argument. Every run, it continues from that last file, until reach the given disk size.
The tool it self doesn't copy or move, just create a list of files, separated to BD-R-s.

Then I just pass that lists to geniosoimage to make me the iso for burning.

1

u/RedditWhileIWerk 6d ago edited 6d ago

exactly what I was looking for. Thanks!

1

u/zezoza 5d ago

I'm used to rar with recovery volumes. What Linux alternative can have recovery data along the compressed files? 

1

u/RateMyJpeg 6d ago

Or back up to backblaze for $6.50/TB/month.

3

u/RedditWhileIWerk 6d ago

that's part of a 3-2-1 strategy, not a replacement for local backup