--- description: Docker homelab energy conservation created: 2025-03-30 --- ## TLDR Add this to your docker-compose.yml ``` healthcheck: disable: true ``` To check which services need it, use: [Beszel](https://www.beszel.dev/) --- ## Prelude I self host a bunch of services on my home server. And i care about the [energy usage](https://www.youtube.com/watch?v=OOK5xkFijPc). Hence i chose a new enough computer to have a somewhat efficient CPU. (specs below)
_,met$$$$$gg. ,g$$$$$$$$$$$$$$$P. ,g$$P" """Y$$.". ,$$P' `$$$. ',$$P ,ggs. `$$b: `d$$' ,$P"' . $$$ $$P d$' , $$P $$: $$. - ,d$$' $$; Y$b._ _,d$P' Y$$. `.`"Y$$$$P"' `$$b "-.__ `Y$$ `Y$$. `$$b. `Y$$b. `"Y$b._ `""" user@home-server ---------------- OS: Debian GNU/Linux 12 (bookworm) x86_64 Host: HP EliteDesk 800 G3 SFF Kernel: 6.1.0-32-amd64 Uptime: 10 days, 19 hours, 29 mins Packages: 2537 (dpkg), 7 (flatpak) Shell: bash 5.2.15 Terminal: /dev/pts/1 CPU: Intel i5-7500 (4) @ 3.800GHz GPU: Intel HD Graphics 630 Memory: 3124MiB / 15400MiBI chose to my home services using docker, which has been great, since it allows me manage many services easily. They even update themselves using [Watchtower](https://github.com/containrrr/watchtower). --- ## Observability However, i lacked [observability](https://en.wikipedia.org/wiki/Observability_(software)) into resource usage. ### cAdvisor At first i tried a stack consisting of [Grafana](https://grafana.com/) [Prometheus](https://prometheus.io/), and [cAdvisor](https://github.com/google/cadvisor) How ever, the only conclusion i came to running this was that my CPU load now was ≈ 30% higher (if memory serves me) This defeats the purpose for my usage... I'm sure cAdvisor has it's place, but it's not suitable for my use case. ### Beszel Then i found [Beszel](https://www.beszel.dev/) which is docker / system monitoring in a box. Using a minimum of system resources. Running this for a month gave me insights into my resource usage. With averages, and a breakdown per container. --- ## Resource usage BEFORE  --- ## Optimizing Beszels CPU usage breakdown per container helps you drill down which container is weighing down your system. Stoping the ones you don't need and, searching the respective projects github issues helps you find solutions. As per this github issue: [High CPU (5-20%) consumption even when not being used](https://github.com/filebrowser/filebrowser/issues/2676#issuecomment-1708201927) Adding the following segment to you docker compose files helps lower their CPU usage. ``` healthcheck: disable: true ``` --- ## Resource usage after 