Error upgrading to Ubuntu 24 LTS and HA 2024.9.3

I’m running a HA Core version on an Intel/Ubuntu sytem. I upgraded the Ubuntu version to 24.04.1 LTS (Noble) and got the following error when starting HA:
Invalid config

The following integrations and platforms could not be set up:

cloud (Show logs)
stream (Show logs)
conversation (Show logs)
mobile_app (Show logs)
assist_pipeline (Show logs)
cast (Show logs)
esphome (Show logs)
default_config (Show logs)

I then upgraded HA to version 2024.9.3, but the error persists. The error in the stream integration seems to be the main source of the problem and that seems to be caused by this:
ImportError: libavformat.so.58 No such file or directory

Any help is wellcome.

Most errors solved by installing pyspeex-noise-1.0.2. Had to install Python3-dev first and to do that had to downgrade Python3 to 3.12.3. But it worked.
Only remaining problem is now the Stream integration. I think need to install an older version of ffmpeg (4.4.2) to get libavformat.so.58. I noticed that ffmpeg on my system now uses libavformat.so.60. Will try that next.

Any reason you’re not using Docker?

I used to have a venv, but moved to Docker at the start of the year and haven’t regretted it.

I don’t know. I started in Core as that gave me more control. I have used docker on other installs of HA, but always was a bit uncomfortable with the black box idea of docker. I might reconsider after the current trouble upgrading Ubuntu to it latest LTS release. Is it sufficient to create a docker install of HA and then replace the configuration folder in docker with my present configuration folder?

Yeah, just point the container at the existing config folder - that’s all I did:

Here’s my compose file entry:

  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    restart: unless-stopped
    volumes:
      - /home/homeassistant/.homeassistant:/config
      - /usr/share/zoneinfo/Europe/London:/etc/localtime:ro
    network_mode: host
    privileged: true
    healthcheck:
      test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8123/"]
      interval: 30s
      timeout: 10s
      retries: 3

I’ll give it a try. Thanks.
I still have some points to check out. I use a mysql database for HA that I also want to access outside the container. Same goes for Mosquitto but that is, I think, not a problem.

First trial yesterday unsuccesful. No connection possible. On fallback to Core installation had some problems as Docker seemed to have grabbed the auth file so HA could not start. Had to chown it to homeassistant to make it work again. Next try will use a copy of the configuration folder, not the original.

One day later.
Got it running now. Had to map some extra volumes in order to access the Let’s encrypt keys and the mysql socket and also to establish the links to my media server. Also needed to map two usb devices (RFXCom and Z-Wave).

Not running it privileged but under my homeassistant account. There are still some files in my config folder that are now owned by root though. This needs some further looking into.

As the RFXCom integration fails to initialize, I’ll have some further checking to do before I can use the docker installation of HA.

One day later:
Found out that RFXCom does not access its device by /dev/ttyUSB0 but by: /dev/serial/by-id/usb-RFXCOM_RFXtrx433XL_DO3RW2BV-if00-port0. Once I corrected this mapping also the RFXCom integration works.

I’ll use it a couple of days and see if other issues crop up.

I’ll keep the docker installation. Just some minor easily solved issues, like taking a camera snapshot not using /local/… to store an image that is accessible in the dashboard and the need to add that directory also as /config/www to the addressable folders in the configuration. That was also the case in the core installation, but I forgot to change it when moving to docker.
Of course I now miss the control of when to upgrade to a new version, but to be honest the decision to upgrade was always determined by when I had time to do it and not by wanting to postpone or skip an upgrade.
So, @tinkererer thanks for the advice.

Hardly. That’s still entirely in your control - it’ll only update when you pull an update.