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