MqDockerUp: A tool to monitor and update your docker containers from Home Assistant

Hello everyone,

I’m happy to share with you my project MqDockerUp, a tool that allows you to monitor and update your docker containers using MQTT and homeassistant. It can publish information about your containers, such as name, status, image, ports, etc., to an MQTT broker, and create or update corresponding entities in homeassistant. You can also send commands to start, stop, restart, or remove your containers via MQTT or homeassistant. It even creates update entities in Homeassistant to make it easy to update your running containers.

One of the main features of MqDockerUp is that it makes updating homeassistant running in a container easy and convenient. You can see when there is a new version available and update it with one click from the Home Assistant UI. This is similar to how Home Assistant OS works.

You can find more details and installation instructions on my GitHub page: GitHub - MichelFR/MqDockerUp: Mqtt Docker Updater (MqDockerUp) is a tool for updating Docker containers. It provides an easy way to check for updates and publish changes to a MQTT broker.

Screenshot:
218336295-a040936a-20f3-48da-8835-d9c6746fc8f6

I hope you find this project useful and I welcome any feedback or suggestions. Thank you for your attention and happy automating!

7 Likes

I use volume bindings to maintain control of where the docker configs reside.

What is the internal config directory where the container expects the config so I can map the volume to it?

is it only checking docker hub or other registires as well?

There is a config.yaml under /app/config.yaml
All available values can also be set using environment variables. I’ll reflect that in the GitHub documentation soon.

Currently it identifies a lot of registries and they are shown in homeassistant as an entity.
The update functionality is just implemented for DockerHub right now.
If you tell me which registries you use I could implement them next.

I’m using mainly https://lscr.io/
but don’t worry, I do not have the time at the moment to test it

@MichelFR really nice initiative!
Ik have the same questions as @finity.

My setup uses the following:

  • a folder per docker container
  • a docker-compose file per folder/container

I am curious if this setup will work together.

It should work.

MqDockerUp is designed to function independently of docker-compose or the method used to start your containers. By checking your running containers, similar to running “docker ps,” it retrieves information about them. The tool then acquires the container image and tag and attempts to locate it on DockerHub. If it is found, the update feature is enabled. Otherwise, only container information is displayed in homeassistant.

In case you have any specific feature requests or face any issues with the tool, I’m happy to provide assistance or implement missing functionality. Although MqDockerUp was primarily developed for personal use, I’m open to incorporating highly requested features. I also encourage you to explore the source code and contribute. I strive to maintain clean code and document it where necessary.

do you have a image for the raspberry pi 3+ ?

1 Like

It current does not support any raspberrypi. I’m working on at it and I’ll come back to you when I’m done. Currently only the x64 architecture is supported.

1 Like

MqDockerUp now does support ARMv8 and ARMv7, so that the raspberry pi 3+ is supported now.

1 Like

great. thank you. I’ll try it

I get the same error like with my own created container

I updated the check for update algorithm, it should show a lot more update entities now.
I also change how the deletion of old running container works, which had a bug and caused some container to disappear.
I’ll soon implement a self update feature. After that it will be stable enough for a 1.0 release.
Thanks for any feedback provided.

Just tried this last night and it was super easy to setup. Thanks for creating this!

I’m encountering an issue where only 10 of my containers are showing up as devices in HA. No errors in HA logs. I haven’t inspected MQTT yet nor deep dived into the mqdockerup logs, but I don’t see any errors in the stdout.

Is there a device limit I may be running into?

1 Like

There is no device limit.
You don’t get any errors in the stdout of mqtt?

thanks for building this! Super simple setup and easy to use

1 Like

Now github images (ghcr.io) and dockerhub images are supported!

Is there any other registry someone is currently using?
I would implement some more if needed.

This one
https://lscr.io/
For linux server

1 Like

Is it possible to get two instances of the program to work at the same time? I have some containers deployed on a NUC and some on a Pi4. I was hoping to have a container of this program running on each to provide easy access for both systems. Unfortunately, the two seem to wrestle each other and as soon as the second one comes up I see a lot of “Removed missing container …” in the output.