Error while "Preparing Home Assistant" during clean install on Proxmox VM

Hi all, about 3 weeks ago my HAOS stopped updating, as far as I can see without any local changes. As it was getting out of date I started with backups and a fresh install of Debian 13, KVM virt-manager and HAOS 16.2.
That failed during the Preparing Home Assistant phase with

2025-11-01 07:18:20.296 ERROR (MainThread) [supervisor.docker.interface] Can't install ghcr.io/home-assistant/amd64-hassio-supervisor:2025.10.0: 500 Server Error for http+docker://localhost/v1.51/images/create?tag=2025.10.0&fromImage=ghcr.io%2Fhome-assistant%2Famd64-hassio-supervisor&platform=linux%2Famd64: Internal Server Error ("Get "https://ghcr.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)")

After trying various suggestions here and here I thought it might be at my end so restarted with a clean install of Proxmox V9.0.3, and HAOS 16.2, with identical results.

So I then started changing the Asus GT-AX6000 router settings starting with DNS = 1.1.1.1 (it had been on 8.8.8.8). Then I got desperate and tried changing the MTU as someone had suggested that. This only changed the error when the certificate was fragmented, so I went back to 1500.
I am on Starlink and (using the Proxmox console) I am able to ping ghcr.io in 30 or 40ms.
I am relatively sure that the DNS is set correctly (print ipv4 on the HAOS console shows correctly, and the ipv4.method is auto) so I am out of ideas.
Any suggestions would be very gratefully received

I am surprised that no one feels comfortable to give me some advice about what seems to be a common problem.
In the mean time I did more investigation.
I first took the computer to a neighbour where it worked as it should,
Returning home gave the errors as previously despite clearing caches etc.
I then borrowed the kind neighbour’s router and ran it here - no errors.
The two routers have identical dns both now 8.8.8.8, 1.1.1.1.
The Asus GT-AX6000 causes errors, the Tesla smartmodem gen 3 (which seems to have a nasty reputation) works fine both plugged into a bypassed starlink router.

I have crawled all over the Asus and checked that there are no options (parental controls AI anything) that look threatening.
Any thoughts please?

Hello Alastair Breingan,

First sorry no one saw this post, the Forum has been acting up the past week as many of the functions were not available. Also the installation category is where this should be, I moved it for you.

Next This smells like a DNS problem to me.
Are you using pihole or adguard? These can mess you up.
Is ipv6 enabled on the firewall? You could try enabling or disabling that, change the state that it is in for testing anyway.

Thank you Sir_Goodenough, and apologies for posting in the wrong category.

I now have an installation which works except for updating, and I think I am getting closer to understanding why one router works and the other does not.

If IPV6 is working then the update proceeds, otherwise not. I have tried various combinations of enabling and disabling ivp6 on the router and in HAOS network settings, and the only one that works is if ipv6 is enabled on both and if the router picks up an ipv6 address and nameservers. I think my fundamental problem is that my Asus router does not do that for some reason. That is despite trying a large number of different ipv4 DNS servers and clearing router DNS caches + rebooting HAOS.

My assumption for the above rests on using “network info” in the HAOS shell where the ipv6 info differs.
When using the working router the address shows 3 addresses, the gateway has an address and nameservers has 3 addresses.
on the failing router the address shows only 1addresses, the gateway shows null and nameservers has an empty list .

So I guess the fix is to get my router to use ipv6 properly, but what I cannot understand is why the HAOS vm wont connect on ipv4, especially when the host which is on the same bridged connection will happily ping and even wget from github.

Thanks again

OK - I am making progress but still not able to update anything requiring a new version download.

I have ipv6 working on the Asus router and have tried to replicate the dns that worked on the other router. However if I update I stil get the same error shown below in EXCERPT 1

I can load https://test-ipv6.com/ on the host machine and get 10/10
on the HAOS using the Advanced SSH & Web Terminal I can issue
curl -v6 Home Assistant iOS beta authentication - Home Assistant as suggested elsewhere and that seems to work (log in EXCERPT 2 below)

I guessed at issuing
curl -v6 Package amd64-hassio-supervisor · GitHub
and
curl -v6 https://ghcr.io/v2/home-assistant/amd64-hassio-supervisor:2025.11.1
and they both return
Could not resolve host: ghcr.io (log in EXCERPT 3 below)
I can ping ghcr.io but
ping ghcr.io -6 gives bad address ‘ghcr.io

My problem is that I am using an identical ipv6 DNS server to that used on the router that works. (2406:2d40:41fb:1600::1) though I have also tried most of the common ones, both set on the router and in HAOS network settings.

So I think there must be some filtering of dns requests on the ASsus router? or HAOS is doing something wierd.

Either way I am much out of my depth and would welcome any advice.

----------- EXCERPT 1-----------------
2025-11-08 09:09:32.237 INFO (MainThread) [supervisor.docker.addon] Updating image ghcr.io/hassio-addons/chrony/amd64:6.0.0 to ghcr.io/hassio-addons/chrony/amd64:6.0.1

2025-11-08 09:09:32.237 INFO (MainThread) [supervisor.docker.interface] Downloading docker image ghcr.io/hassio-addons/chrony/amd64 with tag 6.0.1.

2025-11-08 09:09:47.336 ERROR (MainThread) [supervisor.docker.interface] Can't install ghcr.io/hassio-addons/chrony/amd64:6.0.1: 500 Server Error for http+docker://localhost/v1.51/images/create?tag=6.0.1&fromImage=ghcr.io%2Fhassio-addons%2Fchrony%2Famd64&platform=linux%2Famd64: Internal Server Error ("Get "https://ghcr.io/v2/": net/http: request canceled (Client.Timeout exceeded while awaiting headers)")
----------- EXCERPT 2-----------------
System is ready! Use browser or app to configure.
➜  ~ curl -v6 https://home-assistant.io/iOS/beta-auth
* Host home-assistant.io:443 was resolved.
* IPv6: 2606:4700:20::681a:4ee, 2606:4700:20::681a:5ee, 2606:4700:20::ac43:445a
* IPv4: (none)
*   Trying [2606:4700:20::681a:4ee]:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=home-assistant.io
*  start date: Sep 28 10:19:12 2025 GMT
*  expire date: Dec 27 11:19:08 2025 GMT
*  subjectAltName: host "home-assistant.io" matched cert's "home-assistant.io"
*  issuer: C=US; O=Google Trust Services; CN=WE1
*  SSL certificate verify ok.
*   Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
*   Certificate level 1: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
*   Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384
* Connected to home-assistant.io (2606:4700:20::681a:4ee) port 443
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://home-assistant.io/iOS/beta-auth
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: home-assistant.io]
* [HTTP/2] [1] [:path: /iOS/beta-auth]
* [HTTP/2] [1] [user-agent: curl/8.14.1]
* [HTTP/2] [1] [accept: */*]
> GET /iOS/beta-auth HTTP/2
> Host: home-assistant.io
> User-Agent: curl/8.14.1
> Accept: */*
> 
* Request completely sent off
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
< HTTP/2 301 
< date: Fri, 07 Nov 2025 21:51:13 GMT
< content-type: text/plain; charset=utf-8
< content-length: 58
< location: https://www.home-assistant.io/iOS/beta-auth
< server: cloudflare
< strict-transport-security: max-age=31536000
< x-nf-request-id: 01K9G4TQ0P1JZBSQZX2RPQP9VB
< cf-cache-status: DYNAMIC
< nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
< report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dj6P8%2FdIdehM2B6HVKgOQFPIXWLtrOzqCXkluNW024EI6GAyCuSiKM6diTLjou%2FSkMkgdv5AFdGy16Tuy05FyhmopxXiMNDAJlAztPqyy0dsO2eTNF2XDpZy"}]}
< cf-ray: 99b00cfed9435bf6-SYD
< alt-svc: h3=":443"; ma=86400
< 
* Connection #0 to host home-assistant.io left intact
Redirecting to https://www.home-assistant.io/iOS/beta-auth#
----------- EXCERPT 3-----------------
➜  ~ curl -v6 https://ghcr.io/home-assistant/amd64-hassio-supervisor:2025.11.1
* Could not resolve host: ghcr.io
* shutting down connection #0
curl: (6) Could not resolve host: ghcr.io

OK I have hit another brick wall, and still unable to update anything that gets data from ghcr.io.
My situation is
Debian Trixie on a i5 8 gen PC with HAOS 6.12.51 in a KVM Virtual Machine.
With my GT-AX6000 updates fail with one of the two errors below, and also show the 4 errors periodically. With an older Asus router (which I cannot use for other reasons) all goes through normally. All ipv4 addresses and dns servers are identical. I have tried with and without ipv6 set both at the router and at HA.
I have tried several firmware versions on the AX6000, including Asuswrt-Merlin
With both routers a ping ghcr.io works but ping -6 ghcr.io gives “bad address”.
So please can someone suggest ways to troubleshoot this further?
What commands should I try to focus on where the problem is?

[139943279508704] Error during service call to update.install: Error updating Grafana: Can't install ghcr.io/hassio-addons/grafana/amd64:12.0.0: 500 Server Error for http+docker://localhost/v1.51/images/create?tag=12.0.0&fromImage=ghcr.io%2Fhassio-addons%2Fgrafana%2Famd64&platform=linux%2Famd64: Internal Server Error ("Get "https://ghcr.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)")
[139943279508704] Error during service call to update.install: Error updating Grafana: Can't install ghcr.io/hassio-addons/grafana/amd64:12.0.0: 500 Server Error for http+docker://localhost/v1.51/images/create?tag=12.0.0&fromImage=ghcr.io%2Fhassio-addons%2Fgrafana%2Famd64&platform=linux%2Famd64: Internal Server Error ("Get "https://ghcr.io/v2/": context deadline exceeded")

2025-11-16 13:11:29.371 ERROR (MainThread) [supervisor.store] Could not reload repository 5c53de3b due to StoreGitError()
2025-11-16 13:11:29.371 ERROR (MainThread) [supervisor.store] Could not reload repository 29b65938 due to StoreGitError()
2025-11-16 13:11:29.371 ERROR (MainThread) [supervisor.store] Could not reload repository 77b2833f due to StoreGitError()
2025-11-16 13:11:29.371 ERROR (MainThread) [supervisor.store] Could not reload repository db21ed7f due to StoreGitError()

You could add the DNS 8.8.8.8 servers directly to HAOS rather than relying on your routers DNS proxy. This would take your router out of the equation.

Thank you but I have already done that. I have tried all combinations of dns set on HA and the router, with 8.8.8.8, 1.1.1.1 and 1.1.1.1, 8.8.8.8. I also tried with ipv6 disabled and enabled at HA but I cannot get ipv6 to work.

Have you tried a factory reset of the Asus router?

No I have not. That is probably the next option, which I have avoided as I have a fair amount of config that would need to be redone. Thanks for the suggestion.

If there’s a way to back up the router configuration first you could reset it just to see if it fixes the issue and restore the backup if it doesn’t.

Thanks again - I’ll try that tomorrow morning

Tried a full factory reset on the GT-AX6000 router. Unfortunately it still doesn’t work. I had a Supervisor update outstanding which gave the error below.
dns is 8.8.8.8, 1.1.1.1, 10.31.13.254 (router address)

The old asus router with identical addresses and dns sales through
.
So where do I go from here? Can anyone tell me what commend would be getting the update so I can try and run it in an shell? Or do I raise an issue and see if that helps?

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:323
integration: Home Assistant WebSocket API ([documentation](https://www.home-assistant.io/integrations/websocket_api), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+websocket_api%22))
First occurred: 8:58:15 AM (1 occurrence)
Last logged: 8:58:15 AM

[140167306781024] Error during service call to update.install: Error updating Home Assistant Supervisor: Update of Supervisor failed: Can't install ghcr.io/home-assistant/amd64-hassio-supervisor:2025.11.3: 500 Server Error for http+docker://localhost/v1.51/images/create?tag=2025.11.3&fromImage=ghcr.io%2Fhome-assistant%2Famd64-hassio-supervisor&platform=linux%2Famd64: Internal Server Error ("Get "https://ghcr.io/v2/": context deadline exceeded")

Everything points to an issue with the router, but if a factory reset didn’t help then maybe a defective router?

The error makes it sound like something is taking too long to process, so it could be an issue with the local disk, memory or CPU. I would try booting HA into Safe Mode and see if it changes anything.

Thanks again, I’ll try that when I next get an update. What bugs me is that the other machines on the network all work fine and its hard to blame the router when I get speed tests of 300-400Mbpsdown 30-40 up and 20-40ms.

Its clearly a router issue but I was feeling its blocking some traffic but not others - hence my question about what command the update would be issuing to retrieve the update - then I could try that in a shell and on another machine.

I have tried the safe mode with no change. Tried the old router again and it works.
So I am trying to get a refund ton the router under warranty.

Thanks for all your help