Restore Yunohost to before post-installation (in order to restore from backup)

Hi!

I’m currently playing around with backups on multiple Yunohosts.
To be more efficient I think I would like to restore my Yunohost to as it is right after installation, before the post-installation step. This is to quickly be able to apply a full backup.

Is there any way to do this?

Or, more generally, is there any other efficient way to fully restore a Yunohost from a backup. Unfortunately my systems are a mix of x86_64 and ARM which rules out a few options…

It really depends what you mean by “fully restore”. If you really mean “every aspect of the filesystem should be as it was at a previous timestamp”, then Yunohost backup is not what you’re looking for.

You probably want to use some sort of system-snapshoting system but it really depends on what hardware you’re using and what kind of filesystem you’re running.

For example, LXC containers support snapshot (i.e. a snapshot of the entire filesystem at a given time) and you can create/restore snapshots.

If you’re using LVM as a basis for the filesystems, you may be able to use LVM snapshots which is basically the same idea - but different … (and not sure how exactly that’s done)

Some VPS providers may allow you to create full backup of your entire backup, which can then be restored.

The Yunohost backup system are not snapshots - they only corresponds to some aspects (e.g. mail, or the user db) of the server, or applications (the backup only contains source+data of this specific app, and possibly some dependencies).

Every approach has its pro and its cons … but anyway, restoring yunohost to a state “before” the postinstall ain’t really doable … since yunohost ain’t already installed, it can’t really create for you any “snapshot” or backup whatsoever since it’s not even really fully-installed yet … so you need an other tool for this.

Just restoring a yunohost backup is okay, even though it does not backup all aspects of the system.
I have actually been looking into using a non-encrypted LVM as well. It seems to me that it should be able do the trick but I couldn’t understand it in 5 minutes…

Anyway, I just wanted to make sure there was no simple straightforward way to do this before I start spending a lot of time on the matter… Thanks for the response!