Unable to install App due to Docker trying to download via non-existent IPv6

I’m running TrueNAS Community Edition (TrueNAS SCALE Fangtooth 25.04 [release]), fresh install after replacing the boot disk. When I try to install a new App, the installation fails for any app I attempt with the error “[EFAULT] Failed ‘up’ action for ‘xxxxx’ app.]”

Checking /var/log/app_lifecycle.log, I see errors like this:

[2025/07/04 19:29:52] (ERROR) app_lifecycle.compose_action():56 - Failed 'up' action for 'eclipse-mosquitto' app:  permissions Pulling \n mosquitto Pulling \n permissions Error Get "https://registry-1.docker.io/v2/library/python/manifests/sha256:0de818129b26ed8f46fd772f540c80e277b67a28229531a1ba0fdacfaed19bcb": dial tcp [2600:1f18:2148:bc01:f43d:e203:cafd:8307]:443: connect: network is unreachable\n mosquitto Error context canceled\nError response from daemon: Get "https://registry-1.docker.io/v2/library/python/manifests/sha256:0de818129b26ed8f46fd772f540c80e277b67a28229531a1ba0fdacfaed19bcb": dial tcp [2600:1f18:2148:bc01:f43d:e203:cafd:8307]:443: connect: network is unreachable\n
[2025/07/04 19:37:35] (ERROR) app_lifecycle.compose_action():56 - Failed 'up' action for 'eclipse-mosquitto' app:  permissions Pulling \n mosquitto Pulling \n permissions Error Get "https://registry-1.docker.io/v2/library/python/manifests/sha256:0de818129b26ed8f46fd772f540c80e277b67a28229531a1ba0fdacfaed19bcb": dial tcp [2600:1f18:2148:bc02:22:27bd:19a8:870c]:443: connect: network is unreachable\n mosquitto Error context canceled\nError response from daemon: Get "https://registry-1.docker.io/v2/library/python/manifests/sha256:0de818129b26ed8f46fd772f540c80e277b67a28229531a1ba0fdacfaed19bcb": dial tcp [2600:1f18:2148:bc02:22:27bd:19a8:870c]:443: connect: network is unreachable

It seems to me that Docker is attempting to download the app via an IPv6 connection, and nothing I do will get it to stop that.

  • My ISP does not provide IPv6 addresses, only IPv4.
  • My server does not have an IPv6 address.
  • I have net.ipv6.conf.all.disable_ipv6 = 1 set in the SYSCTL tunables.
  • I’ve tried manually changing the settings in /etc/docker/daemon.json to disable ipv6 there (then restarting docker), but this A) doesn’t change docker’s behavior and B) my changes keep getting overwritten/reverted back after reboot anyway.

Any other suggestions for getting Docker to stop trying to use IPv6?