I have a server application consisting of 2 docker images. I need the most simple and straightforward way for installing them for my customers and upgrading (e.g. replacing) when newer version available.
I was thinking of making a dedicated “manager” Snap package, which is responsible to install Docker if missing and then run my images. Than manager shall be run as a daemon and replace running containers with newer versions, when available.
I wondering if that is the right way to do what I looking for. From permissions aspect, does Snap package has permissions to access Docker and run images?
I’m not sure snaps are a prefect fit, given the way your application is currently packaged. Snapd basically does what you’re suggesting for your “manager” snap (versioning, updating, monitoring, etc), but it does it for snaps. If you could package your apps as a snap instead of a docker image, it would be much more straight forward.
One of the issues you’ll run into is that if your manager was to install docker, it would need to run with classic confinement. This would probably mean you would need your own “brand” store to host your snap.