For Helium I don’t recall properly, but I thought it would back up everything. Titanium backup will at least do so. I believe it can store on SD card, but you could set up a task to send your backup file to your Nextcloud or the like.
Edit: No, I remember Titanium would only backup apps. Sorry for misguiding… So, you need 2 “apps”: One which backups the system (by request, can e.g. be done from within TWRP), and other for the apps, cache and data.
Edit2: There is currently another thread here with some references but no feasible solution, yet: Making a backup system image for recovery of FP 2 Open