I’ve recently been looking into ways to properly back up the apps I have installed through the TrueNAS Scale UI. I already have backups in place for all the data that my apps need and consume. Now I’d like to properly back up their configurations. I read somewhere that all app configurations are stored in the /mnt/.ix-apps/app_configs folder. Backing this up is trivial. However, it is the restoration process that scares me.
To put it simply:
Assume I have a backup of /mnt/.ix-apps/app_configs.
Now, let’s say my system dies.
What is the proper way to restore everything I backed up from /mnt/.ix-apps/app_configs?
ChatGPT seems to think I can just stop the middlewared service, copy all the backed up files to their original locations, and then restart middlewared. Would that work? Or would I have to reinstall each app from the UI manually and hand pick all the values saved in the backed up configurations?
Now, I do know that there exists Dockge which lets me have more control over the docker composeness of my system. But, for theory’s sake, let’s assume I am stuck with installing/configuring apps through the TrueNAS Scale UI.
Lo-Fi way would be to screen shot the app ui config for each app. Depending on the app, some have automatic config/data backup features. Plex and the Arrs do. I just add an extra hostpath mounts for those in-container folders. Then push them to google drive.
Well, as I mentioned in my original post, I am already backing up basically everything I can when it comes to the data and internal configurations for each app. That part I’m not worried about. It’s more like, if I were to reinstall TrueNAS Scale from scratch, is there not a faster way to restore all my apps to how they were before without installing each one individually and manually copying over all the configs into the UI? It surprises me that there isn’t an offically supported way to fully restore all my apps from a single backup
All the community/official repo apps are all templated, so no. All the files exist in /mnt/.ix-apps but not 100% sure how middleware handles app deployment to create those files.
You might want to look into moving to your own custom compose apps. Then keep those yaml files somewhere, like github. That’s what I’ve done.
I have been searching high and low for the answer to this question and it is looking like there just isn’t an answer.
In an attempt at restating the problem:
I have a 100% operational setup with 18 Docker containers. All of the data for all of the containers has been configured as “Host Path” and is fully backed up. Now one very bad day lightning strikes my house and turns my TrueNAS server into heap of scrap. I build a new server, restore all the data but my Docker containers are nowhere to be found. The only way to get them running again is to reinstall each of the containers one-by one and link them to the restored datasets.
If I had been able to backup the Docker containers it would have saved me days of recovery time.
Why is there no way to backup and restore the docker containers and configurations? Maybe something can be added to the next release?
Option ‘B’: There is a simple solution out there somewhere and I am just too stupid to find it or figure it out.
The solution would be to move to self managed apps. As in using your own compose via the custom yaml in the iX apps section or something like dockge or portainer.
That way you can just keep your compose somewhere in the cloud (I use a github repo) and easy to redeploy if you needed.
The next step would be to figure how to backup your app data/config, but once everything is on your own dataset(s), pushing to the cloud isn’t hard. The only apps I care about (arrs & plex) also have backup tasks in their config. I added extra storage volume to each app for that location then push those dumps to google drive.
Just a quick confirmation; this was indeed the way. Like OP I was looking for a way to make apps more ‘backup robust’. With the addition of being a little bit more OS independent.
Creating custom compose apps was the trick! Thanks!