Why does my Ubuntu Docker installation use Core 2024.10.3?

I Have just tried updating the container using this…

docker run -d --name homeassistant --privileged --restart=unless-stopped -e TZ=Europe/London -v /home/gerald/hass:/config --network=host ghcr.io/home-assistant/home-assistant:stable

Having used this first…
sudo docker pull homeassistant/home-assistant:stable

However, I end up with this version:

  1. Core 2024.10.3
  2. Frontend 20241002.3

Am I being particularly thick? My last version was a 2025 flavour but that was using a specific version instead of “stable”.

I used to run HA on a Rpi under a standard operating system and I don’t think I had any similar hassle.

As ever, any help would be appreciated as I would like to use some of the new features and integrations.

You are pulling homeassistant/home-assistant (from dockerhub) but running ghcr.io/home-assistant/home-assistant (from github). Check docker images and try docker pull ghcr.io/home-assistant/home-assistant:stable.
I’d recommend you use docker compose. And if not follow the update docs here.

Thank you for the quick response! An example of a little knowledge being a dangerous thing.

However, I now get this error (and using sudo)…

docker pull ghcr.io/homeassistant/home-assistant:stable Error response from daemon: Head "https://ghcr.io/v2/homeassistant/home-assistant/manifests/stable": denied

I used compose as suggested and it seems to work but brings up the old version. Perhaps I need to tidy these images…

IMAGE                           ID             DISK USAGE   CONTENT SIZE   EXTRA
econet-mqtt-publisher:latest    3983a2230ae5        141MB             0B    U
ghcr.io/home-assistant/home-assistant:2024.6.3
                                2b4c9de733f1        1.6GB             0B
ghcr.io/home-assistant/home-assistant:2025.6.0
                                34b1b3bc0da6       1.98GB             0B
ghcr.io/home-assistant/home-assistant:latest
                                b561adc8d8b1        1.5GB             0B
ghcr.io/home-assistant/home-assistant:stable
                                27bda046a9e6       1.79GB             0B
hello-world:latest              feb5d9fea6a5       13.3kB             0B    U
homeassistant/home-assistant:2025.6.0
                                34b1b3bc0da6       1.98GB             0B
homeassistant/home-assistant:latest
                                2b4c9de733f1        1.6GB             0B
homeassistant/home-assistant:stable
                                0fafae2139c2       2.34GB             0B

I feel a right bonehead! I have had a good look at the compose docs and I should have used it years ago! I put the mess down to not having much of a clue about how Docker works too.

homeassistant should be home-assistant just as I wrote it.

Does compose automatically performs the pull?

It pulls if the image doesn’t exist but it doesnt update the image by default. Something like this would probably do that (might need --force-recreate too)

docker compose up --pull always --detach

See docs. I’d generally stick to manual pulling.

None are so blind as those who will not see!

Thank you very much. I shall stick to that from now on. UI is completely different.