samuel-emrys
Contributor
- Joined
- Dec 14, 2018
- Messages
- 136
Interesting, this is the first time I've heard this. The nextcloud documentation seems to disagree with you though; they only specify configuration, data, database and themes. I also don't actually have a folder called custom_apps in my nextcloud installation directory. I suspect there are probably differences between the docker image and the regular server distributionI started reading your doc and from the very first lines, I noticed something significant is missing : a complete backup for Nextcloud also includes a another resource : custom_apps. By saving the config and database, you backup stuff related to external apps. But by not backing up the apps themselves, you may end up in trouble
I'm not convinced this needs a guide. The solution is just to follow the restoration procedure in a new jail. I haven't tried this though (parallel instances), so I'm not sure where the issues lie. Off the top of my head, perhaps there's a risk in having two nextcloud instances look at the same data/modify the same database, so maybe doing a deep copy of the data in to the new jail first would be useful. I'm not sure. Something to think about.About restoring backups, you do not always want to overwrite the existing Nextcloud with the one to be restored. All the restore I did here were for recovering few files. For that, I have to deploy a new and parallel server, one that can run a previous version of Nextcloud, its apps, etc. Also, if one is using server-side encryption, the encryption keys are in the database and required for a restore. For these reasons, I would suggest you to put a restore procedure about how to restore without affecting the main instance.
Note that I don't actually address the process of backing everything up; this was beyond the scope of the guide. What I _do_ do, is configure things in a way that allows the jail to be nuked and re-created without worrying about losing data. This provides _some_ insulation to user error when maintaining/installing the software.