First of all, I'd like to acknowledge the number of posts on this forum regarding docker-compose and other docker related topics on TrueNAS scale. I've read through those and I still have questions.
I'd like to deploy a few services on my TrueNAS Scale machine such as Syncthing and an NVR service. I'd like to focus on both security/isolation of those services as well as the portability of the setup in case I want to deploy these solutions on different hardware down the road (likely not running on top of TrueNAS scale in future deployments). For these reasons, as well as my familiarity with docker, I'd like to deploy these services as docker containers via dockerfiles and/or docker-compose files. I really want to specify those services as dockerfiles because I value the documentation/version control aspects of having a small (and portable) file defining my deployment.
Now we get to TrueNAS scale: it sure looks like the options I'm defining in a "custom app" are options that could be defined in a docker-compose file, so I naively thought there would be some docker-compose action running under the hood. But alas, upon taking a peek at how the apps run, I don't see any docker at all. Just Kubernetes (which I'll admit up front, I know absolutely nothing about).
Is there any way for me to specify my "app" via a docker-compose file and have the TrueNAS Scale environment manage the "app"? And by manage, I mean ensure it gets started when the system boots and ensure it remains running (or at least notices when it fails to run or crashes)? I know I could do all sorts of manual things like ssh'ing in and setting up my own crons/scripts, but I'm interested to know if there are any more options native to this whole "Scale" paradigm.
Lastly, just a quick note: Yes I know there are "apps" that already exist for syncthing and NVR applications. I could just click "install" on those and be done with this. But again, for the sake of portability away from the TrueNAS scale environment one day as well as my own human-readable documentation of how these services are configured, I'd prefer to custom roll a yaml file.
I'd like to deploy a few services on my TrueNAS Scale machine such as Syncthing and an NVR service. I'd like to focus on both security/isolation of those services as well as the portability of the setup in case I want to deploy these solutions on different hardware down the road (likely not running on top of TrueNAS scale in future deployments). For these reasons, as well as my familiarity with docker, I'd like to deploy these services as docker containers via dockerfiles and/or docker-compose files. I really want to specify those services as dockerfiles because I value the documentation/version control aspects of having a small (and portable) file defining my deployment.
Now we get to TrueNAS scale: it sure looks like the options I'm defining in a "custom app" are options that could be defined in a docker-compose file, so I naively thought there would be some docker-compose action running under the hood. But alas, upon taking a peek at how the apps run, I don't see any docker at all. Just Kubernetes (which I'll admit up front, I know absolutely nothing about).
Is there any way for me to specify my "app" via a docker-compose file and have the TrueNAS Scale environment manage the "app"? And by manage, I mean ensure it gets started when the system boots and ensure it remains running (or at least notices when it fails to run or crashes)? I know I could do all sorts of manual things like ssh'ing in and setting up my own crons/scripts, but I'm interested to know if there are any more options native to this whole "Scale" paradigm.
Lastly, just a quick note: Yes I know there are "apps" that already exist for syncthing and NVR applications. I could just click "install" on those and be done with this. But again, for the sake of portability away from the TrueNAS scale environment one day as well as my own human-readable documentation of how these services are configured, I'd prefer to custom roll a yaml file.