

I work for a medium size enterprise as a backup architect. All of our backups are crash consistent and we’ve never had an issue.
Windows has an easy way of dealing with this in the form of VSS. As long as the application supports it, VSS can prepare the system and application for a backup, putting it in an application-consistent state before the snapshot is taken. Unfortunately, there is no equivalent for Linux. The best you can do is pre-freeze and post-thaw scripts to put the application/OS in a backup-ready state. Really though, I wouldn’t worry too much about it. Unless you are running an in-memory database, you really don’t need to worry about application consistency. If you are running an in-memory database, take database level backups (can also be done with pre-freeze/post-thaw scripts) and back up the backups.
Just remember to test whatever solution you end up going with, and make reminders to frequently re-test your backups. You never know what might change in a year’s time, so re-testing periodically is a good way to make sure everything is still functioning properly and make sure your data is still protected. And testing needs to be more than just making sure the VM powers on. Make sure the application can start up and function properly before calling it a successful test.
I moved all of my Docker containers over to TrueNAS apps recently, and it’s been great so far. Alternatively, I think the best option for keeping your compose files and all that would be to upgrade to 25.04 (Fangtooth). Fangtooth lets you deploy containers using compose YAML. Each app has to be in its own YAML which can be a bit of a pain, but you would fully own everything so no need to worry about another rug pull.
Alternatively, I’ve seen some people just install Dockge and run all of their containers inside of that.