I just recently moved a bunch of my services to docker compose and it is a breeze to setup. All you need is a config file and your squared away. No more dealing with lxc or manually configuring software. Just write a config and your done.
Now add Portainer to the mix.
I barely know what I’m doing, and I have about 30 services thanks to Portainer stacks making it so freakin’ easy.
I can even manage my local containers and my containers on Oracle Cloud in the same Portainer UI.
Be careful with portainer. While a nice UI, it abstracts away so much of the inner docker workings that you may not fully understand how your system works, if you exclusively interface with docker through this UI. You will ultimately have to get into the nitty gritty when something breaks (it will) and not understanding your stack will be cruel at that point.
I’ve been struggling figuring it out for the first time in a home server. Without understanding how a config file works it seems like magic.
I’ve had a rough time getting permissions to work right for each container and am still not entirely sure how upgrades work. Though I do have to admit that once I had it set up once, moving it to a new server when I changed operating systems was much easier than the initial set up.
It’s my first time running any kind of containerization service, and my first time running a Linux server (though I’ve used Linux off and on for over a decade) so maybe it’s just how new the idea is to me.
Upgrades can be done by either bumping the package version number in the config or using “latest” which will pull the latest version, the running the up command again.
You can automate this with a package called Watchtower which will check daily for updates for the ones you config with the latter.
The container is called watchtower
That’s the one. Been so long since I set it up.
Thanks for the recommendation. I added watchtower to my docker compose config.
Helm is also very cool for this but for Kubernetes instead of individual containers. So if you want to deploy a whole application that runs several services you can just write a helm config and it stands up everything for you.
Good to know! I’ve been thinking of switching my setup to Kubernetes, especially after dealing with some unstable services that need to be run in the correct order.
If you’d like something a bit more real world, check out k3s and ArgoCD. I use Kubernetes professionally, so I’m certainly biased, but it’s incredibly powerful and with ArgoCD, all of your config lives on GitHub.
No.
Yes