So, Docker stacks and container management. I really wanted something fairly minimalist and thought I'd do it myself. The container performance metrics were simple to figure out, but how to group containers by stack or how to check for updates were another thing. Before this, I hadn't even known that Docker doesn't use versioning at all and only identifies images by sha256 hashes.
Long story short, while it would be a fun topic to dive into at some point, why reinvent the wheel? There are hundreds of dashboards that either include Docker or show its information exclusively. I've tried a couple (such as Portainer) but haven't found one with a set of features I like. There's also the issue that most are actually developed as services management suites in swarms rather than comparatively simple home-server dashboards.
Here's my use case:
- I want to continue maintaining my services through docker-compose all by myself, including manual updates.
- But I'd like to get a dashboard that tells me when a container has received a new update.
- I want some form of usage metrics, such as current CPU load and CPU average over time, with the same for memory, network and IO.
Bonus points for:
- An integration with a notification method for updates, failing health checks, excessive resource usage. Maybe something external like ntfy/Gotify which is easy to use and self-host.
- The (current) metrics should be available both per container, per stack and as a combined total on a single page. I've seen how Portainer does it and wasn't impressed: the need to visit the stats page of every single container isn't very productive.
What type of dashboard do you use and would your choice be compatible with my requirements/wishes?
I have a basic understanding of Grafana since we use it at work. It definitely fits the question, but it's also very much overkill for my purposes - maybe not in the range of features, but definitely in scope.
Your mention of dockcheck.sh is gold! Someone else mentioned diun, but I think this shell script is even better. As long as there's a simple way to determine which containers use outdated images, I'm good. The metrics part can be solved with a tool like Beszel or I can whip something up myself if I don't find anything good enough.