You’ve done the hard work building the compose file. Push that file to a private GitHub repository, set up renovate bot and it’ll create PR’s to update those containers on whatever cadence and rules you want (such as auto updating bug fixes from certain registries).
Then you just need to set up SSH access to your VM running the containers and a simple GitHub action to push the updated compose file and run docker compose up. That’s what I do and it means updates are just a case of merging in a PR when it suits me.
Also I would suggest ditching the VM and just running the docker commands directly on the TrueNAS host - far less overheads, one less OS to maintain and makes shares resources (like a GPU) easier to manage.
You should look at restic or Kopia for backups, they are super efficient and encrypted. All my docker data is backed up hourly and thanks to the way out handles snapshots, I have backups going back literally years that don’t actually take up much space.



It’s self hosting by the literal definition that you host the server yourself.
That it’s closed source and sends all kinds of data to another server is an entirely separate (and valid) concern.
As much as I agree with the concerns around Plex, I would rather we didn’t start gatekeeping the self hosting community with arbitrary requirements and grey lines around what is and isn’t “true self hosting” or whatever. I would far rather we inform people and let them make their own choices about what they want to host on their private devices and networks.