I just have them on a usb stick with a copy on the array as well so they can also be checked for bitrot. Even doing it for every file it’s not that much data and it’s scripted so it’s done pretty continuously (I do it weekly).
Actual file backups are what I store off site. 2 copies, one here and one off. My data generally isn’t changed all that much so I don’t bother continually backing up most directories. Like it doesn’t make sense to have 30 backups of my tv folder with my shows. They’re the same shows. I have some redundancy, I don’t just do one and done, but tape media is expensive so I don’t do like monthly backups either. Tape is wildly impractical for most home users though and offsite with tape means you need a trusted place to put it that’s reasonably safe and of moderately decent climate/humidity. Though an advantage of tape is that basically no one but the biggest of tech dorks is going to be able to read that data (versus something like leaving an external hard drive or bluray at a friends house. Even if you trust them a LOT they might plug it in. Although encryption exists)
It’s home data so it’s about balancing what makes sense with what’s cost effective and your risk tolerance
Some data is crucial of course. My personal documents are backed up far more regularly, like once an hour or so, and that’s where I utilize services like back blaze. My business, which is healthcare oriented, is entirely different and that data is segregated and utilizes backblaze as well as specialized software since it handles PHI and hipaa concerns. That’s backed up pretty much every few minutes.
On device isn’t always ideal. I don’t use immich because i don’t have a large photo library. But I do use komga. Nextcloud can sort and manage epub/pdf like komga but as poVoq said, the specialized solution is superior
This point is where on device app is not the ideal situation, for me at least. These apps exist. Tachiyomi and the resultant forks can import a local library. And frankly even a somewhat massive local library can fit on a cheap SD card
The point of the server is portability. With this I have portability across my devices. My library, reading status, metadata, etc is available on all devices. I can read a book on my ereader, close it, the status is synced. I can pick up from my laptop and the same thing occurs. I can pick up from my phone, download the book to my device, and keep reading while I’m away from home. If I wanted to I could open remote access to my server and avoid the need for downloading the books but that’s a whole thing
I don’t think it would make sense to run a server solely for this but it’s a service that doesn’t take much in terms of resources and I read a lot.