So this question is about software however it may just end up being a what is your process. Like many of you all I have a decent homelab setup with a number of VM’s for various purposes. I find myself ignoring them more than I should after I have things setup and going and then I end up on a spree of updating when the time comes. I am wondering if there is a management tool out there that monitors for updates and will alert when there updates available. It would be nice if you could then push those updates from a single interface. Been looking into this and Ansible seems like a possible solution but I figured I’d ask what you all were doing whether it’s a software solution or a process.
Depends on your environment. If you are a docker setup on your VM’s there are containers like watchtower to keep your containers up to date. If you are running linux servers like debian and ubuntu you can setup unattended-upgrades. Windows servers? I just say good luck with that.
Personally I deploy unnattended upgrades on all my ubuntu servers. But I do have ubuntu servers running docker. I personally like to manully patch those because those severs are running production and I like to take snapshots of those vm’s before upgrading.
One thing I am going to do in the future is test out using AI agents to do my patching for me. And I get it if that sounds too crazy, but believe it or not I have setup test environments to try this out and it does pretty well.
Basically do all the manual things I do for patching and make AI do it.
- Snapshot VM
- SSH into VM
- Update containers (Make sure they come up properly, if not, troubleshoot, can’t fix? Revert snapshot)
- Send alerts on botched upgrades
I don’t think using AI for that is crazy there are very few real uses I have seen for AI that make a lot of sense but that is one. I have never heard of unattended upgrades I’ll look into that one. Yeah I have docker hosted on a ubuntu vm. I use dockhand for keeping the containers up to speeds it’s been really nice. Do you have a schedule you follow for doing your manual updates?
Not really. Every now and then I check on the servers. I watch out for any CVE’s and determine if that component is part of any of my infrastructure. I try to at least patch the application every week. The server itself gets patched automatically.
I really don’t bother checking. All my workloads are Debian based. I have a small NUC style PC that runs my monitoring stack, my ansible stack and acts as a ZFS send target for Proxmox and TrueNAS. Each morning at 2:30am, that NUC runs an ansible playbook that basically executes the equivalent of “sudo apt update && sudo apt upgrade - y”, then if it detects a new kernel it reboots the machine and does the equivalent of “sudo apt autoremove”. Every workload in my stack gets set up with ansible, and ansible is how I deploy and update my Prometheus/Loki/Grafana/Alert Manager stack as well. There’s only a few things in my rack that this tool doesn’t cover: TrueNAS updates, pfSense updates, Wordpress updates and Synology updates. I still do those manually, although I am contemplating creating an AI agent to do those updates. As noted, docker containers are handled by Watchtower. But at least in the case of Wordpress I do have a Grafana dashboard that tells me when there is something in wordpress like a plugin that needs to be updated.
Almost every month, because MS updates come every month.
However, if you shift Linux workloads over to openSUSE LEAP or LEAP Micro, they will automagically update and create a snapshot. I need to try installing XO from sources on a LEAP Micro, enable Cockpit to have a web remote for admin duties. Another thing on my long list of things to work on.
Yeah about what I was thinking to do with ansible there Louie. I haven’t heard of SUSE LEAP so that’s something I’ll look into as well Greg. Great info guys I appreciate the replies.
See if this helps at all Homelab/ansible/daily_apt_update at main · louie-lab2000/Homelab · GitHub
Dockhand does updates. Tom recommends this app and he has a fantastic review of this wonderful app on his utube channel.
I just hit the “check for updates” button and it does all the rest. I’ve go it monitoring docker containers across three different servers. Proxmox (DebianVM), TrueNAS CE and a Ubuntu server. It’s working great. Check out his review. His reviews and" how to’s" are the best! ![]()
Yep I’ve been using Dockhand for a while now. Really like it. Thanks Louie that is some great info. One of the next projects on my longer than I’d like list is to setup Ansible.
Ansible, in my humble opinion, should move to the top of your list because of the time savings/productivity gain. The most labor intensive part of the process is setting up an Ansible user on each workload (physical host or VM) and the associated SSH keys and permissions. Once you complete that, Ansible becomes a real Swiss army knife for other projects as well. I used Ansible, for instance, to roll out my Prometheus/Loki/Grafana stack. I did it in minutes. When I decided to switch the stack from Promtail to Grafana Alloy, it was another very quick job. I also used it to do my Debian 12 to Debian 13 updates, Proxmox 8 to 9 upgrades, and to deploy a K3S cluster. Its super versatile.
I find that the AI chat bots are all very good at helping me draft my Ansible playbooks, making it even faster. When I first started out I was google searching for playbooks to use as examples, and then crafting my own from them using trial and error. It was very good for learning. But now, I use Claude code to help me build them and it is wicked fast and efficient. Since I am retired and not trying to make a living off of learning Ansible, this is an OK answer for me.