I have been through this process many times, with slightly differing, but equally unsuccessful results. I burn a new storage device with Raspberry Pi Imager, usually a 64GB micro sd card, but lately an NVMe card. In either case, it installs without a hitch. I plug the card into the RP, connect an Ethernet cable, and fire it up. It gets an IP address from my router, and I watch its progress in my browser.
Sometimes it complains about DNS. I tell it to use CloudFlare and it continues. It starts loading whatever it needs to, but eventually gets to the point where these messages repeat until I cut power:
2025-12-20 23:29:04.135 CRITICAL (MainThread) [supervisor.supervisor] Update of Supervisor failed: Can’t install ghcr.io/home-assistant/aarch64-hassio-supervisor:2025.12.3: 500 Server Error for http+docker://localhost/v1.51/images/create?tag=2025.12.3&fromImage=ghcr.io%2Fhome-assistant%2Faarch64-hassio-supervisor&platform=linux%2Farm64: Internal Server Error (“Get “https://ghcr.io/v2/”: dial tcp: lookup ghcr.io: no such host”)
So, some progress, but just as much mystery. Any ideas?
Just some encouragement to say that it Can be done. I don’t know what I did differently to yourself, but I’ve got a live home assistant on my local network on a Raspberry Pi 4 (4GB) “to see what that does”, and I’m browsing it from a newer Raspberry Pi 5. All that I can say is ‘persevere’.
That install went onto a 32GB micro-sd at the start of December.
Memory use at present is < 2GB
cpu use has never been a hindrance, as I’m not doing much with it beyond learning the syntax and whether or not it will let me set up various things.
I’ve tried a couple of other things before I got the pi5, so I’ll report those here as “not recommended”. Various combinations of raspberry Pi 2 and 3 with 1GB of memory each were Insufficient for both running home assistant and for logging in to its web interface. For example this month, logged into this now-known-good Home Assistant on a Raspberry Pi 4, from an old Pi 2 with 1 GB of RAM, that was Insufficient. I’d installed the File editor add-on. From clicking it until being able to type in configuration.yaml which I’d previously opened before going back to Overview, took 12 to 18 seconds, limited by the browser end. From a Pi 5 with plenty of memory, doing exactly the same thing on exactly the same Pi 4 Home Assistant, took 2 to 3 seconds.
I’m quite happy for getting started with Home Assistant on my Raspberry Pi 4.
No, I regularly use github on other local machines with no trouble. And this RP used to run HA just fine. It was when I went to install a fresh copy on a new SD card that everything went south.
So those DNS servers are a combination of Google and Cloudflare? I’ll give it a shot.
Wait, it gets better. I added some more DNS servers and restarted HA. Now It’s telling me:
2025-12-21 12:31:02.337 INFO (MainThread) [supervisor.supervisor] Update Supervisor to version 2025.12.3
2025-12-21 12:31:02.340 INFO (MainThread) [supervisor.docker.interface] Downloading docker image ghcr.io/home-assistant/aarch64-hassio-supervisor with tag 2025.12.3.
2025-12-21 12:34:24.567 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-22712' coro=<DockerInterface.install.<locals>.process_pull_image_log() done, defined at /usr/src/supervisor/supervisor/docker/interface.py:404> exception=TypeError("unsupported operand type(s) for +=: 'int' and 'NoneType'")>
Traceback (most recent call last):
File "/usr/src/supervisor/supervisor/docker/interface.py", line 406, in process_pull_image_log
self._process_pull_image_log(curr_job_id, reference)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/supervisor/supervisor/docker/interface.py", line 345, in _process_pull_image_log
total += job.extra["total"]
TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'
2025-12-21 12:34:24.575 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-22713' coro=<DockerInterface.install.<locals>.process_pull_image_log() done, defined at /usr/src/supervisor/supervisor/docker/interface.py:404> exception=TypeError("unsupported operand type(s) for +=: 'int' and 'NoneType'")>
Traceback (most recent call last):
File "/usr/src/supervisor/supervisor/docker/interface.py", line 406, in process_pull_image_log
self._process_pull_image_log(curr_job_id, reference)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/supervisor/supervisor/docker/interface.py", line 345, in _process_pull_image_log
total += job.extra["total"]
TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'
2025-12-21 12:35:34.822 ERROR (SyncWorker_1) [supervisor.docker.manager] error pulling image configuration: download failed after attempts=6: dial tcp: lookup ghcr.io: no such host