Cannot run HA via docker on an RPi

I had running for a long time HA on an RPi using docker compose on Debian (bookworm). It was working fine, I could also update it. Now I tried to update to the latest release and I get this when starting home assistant:

13:32:34] INFO: Installing uv into venv
uv 0.9.6
Using Python 3.13.9 environment at: /usr/local
Using Python 3.13.9 environment at: /var/tmp/homeassistant-venv
  × No solution found when resolving dependencies:
  ╰─▶ Because uv==0.9.6 has no wheels with a matching platform tag (e.g., `linux_aarch64`) and you require uv==0.9.6, we can conclude that your requirements are
      unsatisfiable.

      hint: `uv` was found on https://wheels.home-assistant.io/musllinux-index/, but not at the requested version (uv==0.9.6). A compatible version may be available
      on a subsequent index (e.g., https://pypi.org/simple). By default, uv will only consider versions that are published on the first index that contains a given
      package, to avoid dependency confusion attacks. If all indexes are equally trusted, use `--index-strategy unsafe-best-match` to consider all versions from all
      indexes, regardless of the order in which they were defined.

      hint: Wheels are available for `uv` (v0.9.6) on the following platform: `musllinux_1_1_x86_64`
[13:32:34] INFO: Home Assistant Core finish process exit code 123
[13:32:34] INFO: Home Assistant Core service shutdown

Downgrading the image to 2025.10 doesn’t work either, I run into a similar error:

 × No solution found when resolving dependencies:
  ╰─▶ Because there is no version of uv==0.8.9 and you require uv==0.8.9, we can conclude that your requirements are unsatisfiable.

Indeed Home Assistant Wheels has 0.9.6 for x86_64 only.
Is there a quick way to get back a working homeassistant (unfortunately I pruned the old, working images)?

Seems it is related to GitHub - tribut/homeassistant-docker-venv: Run Home Assistant as non-root using the official docker image
If I remove

      - /home/hass/config/docker/run:/etc/services.d/home-assistant/run

from compose.yml, it starts up

uv by default will abort if the first found match for a package in its list of indexes is not compatible, which is a problem for the homeassistant-docker-venv script. The HASS index is prioritized higher than the default PyPI index, and (currently, at least) the Home Assistant project has only uploaded a x86_64 wheel to musllinux-index, so resolution fails altogether.

I haven’t dug further, but I’d guess either the HASS team accidentally only provided an x86_64 wheel of uv in the latest update of its index (most other packages there have architecture-agnostic wheels) or that default index resolution strategy of uv has changed recently, either of which has resulted in homeassistant-docker-venv recently breaking. I’ll research more, but right now I’m not sure which upstream needs to resolve the issue. (homeassistant-docker-venv, which isn’t officially part of the HASS project, might just need to update their script as below, depending on whether HASS intends to ever provide uv wheels for all architectures again.)

Regardless, for now, patching the run script from homeassistant-docker-venv works just fine. Replace this:

uv --version && su "$USER" \ 
  -c "uv pip freeze --system|grep ^uv=|xargs uv pip install" 

with this:

uv --version && su "$USER" \ 
  -c "uv pip freeze --system|grep ^uv=|xargs uv pip install --index-strategy unsafe-best-match" 

This allows uv to search each index in its list rather than just home-assistant.io/musllinux-index, approximating the default behavior of pip (--index https://pypi.org/simple also works.)

EDIT: I’ve opened an issue here: uv wheel not found on non-x86_64 architectures (e.g. aarch64 Raspberry Pi) · Issue #42 · tribut/homeassistant-docker-venv · GitHub

2 Likes

I also reported this in the original PR that added uv to the venv installation. GitHub · Where software is built

1 Like

32bit OS is deprecated and will no longer work with current updates.
You have to be running a 64bit OS in order to run HA now.

I have a 64bit OS, just not x86, it is an ARM platform.

Are you certain of that? It’s saying you don’t.

I am sure :slight_smile:

uname -a
Linux homeassistant 6.6.62+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linux