Haven’t seen too much feedback in the comments about using borg, so here is one:
Note that I’m in a special situation where the yunohost servers I run are virtual machines in a main physical one.
I used to simply have backups from the inside of the virtual machines, using borg_ynh (with automated daily backups). After a critical problem, I had to reinstall the servers, but it was a fairly long process, restoring apps one by one. It worked fine, but the time it took me to do it motivated me to setup an additional backup system that makes snapshots of the VMs (from outside of them, the main physical machine). The VM backups are also sent using borg to a remote repository in a yunohost server in a different location (running borgserver_ynh). I tested recovering which is a two lines process thanks to borg and virsh snapshots, very smooth.
Overall I find borg a really high quality, reliable and convenient tool for handling backups. And borg_ynh, and borgserver_ynh, great apps of the yunohost catalog.
It’s really great to know there’s work in adding borg to yunohost core (if I understood well), I often wanted to help developping it but never managed to create time for it, sorry for this.
Overall I’d say, up to now borg_ynh was a pretty simple way to make and restore backups of single apps. For a full system, I found it a bit more cumbersome and time consuming, so it could be nice to imagine a simple button like kind of feature when installing a system, like at the moment of postinstall where you can choose “reinstall server from a backup” and then just enter the address of you remote (or local) borg repository, the key, and go. Maybe that’s already a planned feature. I think it could be of great help for non expert users in terms of reliability of the infrastructure.
Another remark, is that some kind of snapshot system is really a convenient feature, I’m wondering if in longer term, yunohost could be implementing such kind of feature from inside it, like with a file system supporting snapshots. (I’m saying this but know nothing about it, so I have no idea about how unrealistic this proposal is, or how much work it would take to implement such a thing.)
Last remark, I believe finding a way to implement a functionality like the one fallback_ynh proposes (never used it but always thought I should get into it) would be another really strong feature to make self-hosting/local-hosting more reliable and adapted to hosting more people than just oneself, with non techy users relying on the services for their daily life.
Stopping here, sorry for the long post, hope it contains some useful infos