Home Assistant Supervisor based installations fail after Docker upgrade

Update, January 25th 2024 - Staying on Docker 24 is advised

The release of Docker 25.0.1 has resolved the networking issue that prevented Supervisor from starting, but there appears to be another Docker related issue that impacts the InfluxDB integration.

Docker 25.0.x has introduced a change in file system mounting behavior that appears to be impacting python multiprocessing. See these issues core/issues/108810 , moby/issues/47158. The HA InfluxDB integration uses multiprocessing.

It’s possible other HA integrations are impacted by the change in docker file system mounting behavior.

Unless you have a compelling need to use Docker 25 it may be advisable to stay on Docker 24 until more is known about the InfluxDB integration issue.



Update, January 24th 2024 - Issue that prevented Supervisor starting is resolved

The docker networking issue caused by the release of Docker 25.0.0 has now been resolved with the release of Docker 25.0.1.

Those experiencing issues on docker-ce 25.0.0 or those that have downgraded to docker-ce 24.0.7 can issue the commands below to upgrade to docker-ce 25.0.1

  • Check if docker-ce 25.0.1 is available in the package repository.
sudo apt update
apt-cache madison docker-ce
  • Removed the apt hold of the docker packages, run apt upgrade, and reboot the system.
sudo apt-mark unhold \
docker-ce \
docker-ce-cli \
docker-buildx-plugin \
docker-compose-plugin \
docker-ce-rootless-extras

sudo apt update
sudo apt upgrade

sudo reboot


Supervisor fails to start on docker-ce 25.0.0 - Downgrade to docker-ce 24

For those finding that HA fails to start all services, this may be caused by docker being upgraded from version 24 to 25 on Jan 19th 2024.

There appears to be a compatibility issue between Supervisor and docker version 25. Supervisor fails to start after the docker upgrade.

This post indicates that the issue is with docker and that a fix will arrive in a docker 25.0.1 backport and docker 26.0.0.

A workaround until this issue is resolved is to downgrade docker back to version 24, place a hold on the docker packages to prevent them upgrading again, and reboot the system.

Below is an example of those steps for debian 12 bookworm.

sudo apt install \
docker-ce=5:24.0.7-1~debian.12~bookworm \
docker-ce-cli=5:24.0.7-1~debian.12~bookworm \
docker-buildx-plugin=0.11.2-1~debian.12~bookworm \
docker-compose-plugin=2.21.0-1~debian.12~bookworm \
docker-ce-rootless-extras=5:24.0.7-1~debian.12~bookworm

sudo apt-mark hold \
docker-ce \
docker-ce-cli \
docker-buildx-plugin \
docker-compose-plugin \
docker-ce-rootless-extras

sudo reboot

You can check for the specific docker versions to downgrade to in the apt history log.

cat /var/log/apt/history.log

This command will list the set of upgraded docker packages from the apt history log file in a more readable format.

grep -e '^Upgrade:.*docker-ce.*25.0.0' /var/log/apt/history.log | sed -e 's/Upgrade://' -e 's/),/)\n/g' | sort

You can check for the versions of docker available in the package repository with,

sudo apt update

apt-cache madison \
docker-ce \
docker-ce-cli \
docker-buildx-plugin \
docker-compose-plugin \
docker-ce-rootless-extras

Once the issue is resolved, presumably when docker 25.0.1 or 26.0.0 are released, the docker package version hold can be removed with,

sudo apt-mark unhold \
docker-ce \
docker-ce-cli \
docker-buildx-plugin \
docker-compose-plugin \
docker-ce-rootless-extras
20 Likes

Very thanks!

You saved me.

Here’s the code for those using Bullseye (like me):

sudo apt install \
docker-compose-plugin=2.21.0-1~debian.11~bullseye \
docker-ce-cli=5:24.0.7-1~debian.11~bullseye \
docker-buildx-plugin=0.11.2-1~debian.11~bullseye \
docker-ce=5:24.0.7-1~debian.11~bullseye \
docker-ce-rootless-extras=5:24.0.7-1~debian.11~bullseye
4 Likes

Many thanks!
Worked for me too (bullseye)!

Running conversation here:

Hello, please how can you do that on Ubuntu server
edit:
sudo apt install
docker-compose-plugin=2.21.0-1~ubuntu.22.04~jammy
docker-ce-cli=5:24.0.7-1~ubuntu.22.04~jammy
docker-buildx-plugin=0.11.2-1~ubuntu.22.04~jammy
docker-ce=5:24.0.7-1~ubuntu.22.04~jammy
docker-ce-rootless-extras=5:24.0.7-1~ubuntu.22.04~jammy

1 Like

here is for ubuntu.20.04~focal:

sudo apt install docker-compose-plugin=2.21.0-1~ubuntu.20.04~focal docker-ce-cli=5:24.0.7-1~ubuntu.20.04~focal docker-buildx-plugin=0.11.2-1~ubuntu.20.04~focal docker-ce=5:24.0.7-1~ubuntu.20.04~focal docker-ce-rootless-extras=5:24.0.7-1~ubuntu.20.04~focal

Hi guys, you rock… saved my install. Debian Bookworm, downgrading docker made it all work again.

Docker ce 25.0.1 includes a fix for this and was just released , works on my Debian setup.

3 Likes

many thanks!

You saved my day too.

Better be wise and wait before upgrading Docker. There is absolutely no reason to rush but let it settle and mature before hopping to 25.0.x.

While for some Docker CE 25.0.1 seem to work with HA Supervisor other users are still having issues with some addons like i.e InfluxDB and ebusd. More about the latter HERE .

1 Like

If you’re using an image, you’re not using this installation method.

I just updated to docker ce 25.0.1 on raspi (bullseye) and I can confirm that HA (superv.) is running normal.

For some reason downgrading Docker to 24 did not work for me but gladly upgrading to 25.0.1 worked well!

I upgraded to Docker 25.0.1 but Supervisor still fails to run, running amd64-hassio-supervisor:2023.12.0

Any advise? Thanks.

1 Like

Hi guys, I’m not sure this is due to the docker update, but I just had to do a clean installation of my system and I had lots of problems with the networks.
In the network section of the settings this is what I see:



And if I check from the terminal I get:

root@homeassistant:~# ha net info
docker:
  address: 172.30.32.0/23
  dns: 172.30.32.3
  gateway: 172.30.32.1
  interface: hassio
host_internet: true
interfaces: []
supervisor_internet: true
root@homeassistant:~#

How can I add the interfaces and give an IP to HA? If I try to use AdguardHome, it will listen only to 127.0.0.1 and 172.30.32.0, but not to 192.168.188.66 which is the ip of this machine in my local network