Home Assistant App Can’t See mDNS Devices with Per-App IP

I’ve been running Home Assistant as a VM on TrueNAS SCALE for a while, mainly because mDNS discovery doesn’t work when I run it as an app with a per-app IP address.

Recently, I tried switching to the official Home Assistant app on SCALE, using the per-app IP feature to assign it an IP on my LAN via DHCP. The app starts fine, I can access the UI, and everything looks normal, except none of my smart devices that rely on mDNS or zeroconf show up. This includes things like:

  • Chromecast devices
  • Ecobee thermostats
  • Apple TVs
  • Anything that uses local network discovery

When I switch back to the VM version of Home Assistant, everything works, and devices are discovered automatically. So this seems explicitly tied to how the networking works with the app system in SCALE when using a dedicated IP.

What I’ve checked:

  • The app is on the same subnet as the rest of my network
  • I can ping it from other devices, and it can reach out to the internet
  • Device discovery in Home Assistant never triggers for mDNS-based services
  • I tried watching traffic with tcpdump and it looks like mDNS packets either never reach the app or don’t get replied to

Questions:

  1. Is mDNS supposed to work with apps using per-app IPs?
  2. Is this a known limitation with how the TrueNAS SCALE app system handles networking?
  3. Is there any workaround (e.g., running HA in host mode, using a second NIC, or setting up an mDNS reflector)?
  4. Should I keep using a VM for now?

I’d much rather run the app version to simplify things, but without device discovery, it’s not practical for my smart home setup.

Thanks in advance for any guidance or fixes.

mDNS runs on ports 5353, did you enable host-networking or add ports to the apps version? That’s where I’d start

Personally I’m running a docker-compose file based off the TrueNAS app since I’m running Traefik, I like the defaults of the app but I needed the ability to customize networks and stuff before the June 1st update was released

Thanks! Yeah, that’s exactly the wall I hit. The official app setup doesn’t expose UDP 5353, and I don’t see a hostNetwork option either in the GUI or ix-chart configs.
I was using per-app IP, but it looks like mDNS doesn’t propagate properly unless it’s on host networking or bridged correctly with reflector support.

I might go your route and rebuild via Docker Compose or use a VM again. Out of curiosity, are you handling mDNS across VLANs via Avahi, or just running everything flat?

I’m stuck in the same boat. I’m hesitant to spin up a VM for home assistant since VMs are still “experimental”. Also, the mDNS issue is my only issue so far, and everything else in the “app” version works very well.

Interestingly enough, I can’t expose port 5353 because it warns that port 5353 is already being used by the system, but I’ve turned off mDNS for the system and no other apps are attempting to use port 5353.

Wait for the .2 release of Fangtooth, VMs back without Incus! Just like EE. I am using HAOS in a VM and it’s great.

1 Like

After reading the TrueNAS Virtualization Plans for 25.04.2, it seems like waiting for that release may be the easiest (auto-migration) path forward down the road. But HAOS also runs perfectly fine using the current “experimental” Incus VMs. Either way, it’s trivial to reinstall HAOS and restore a backup if your VM doesn’t auto-migrate.

Update – July 2025

Following up for anyone else frustrated by mDNS not working in Apps with per-App IPs (like Home Assistant or Scrypted):

The root cause appears to be that Avahi on TrueNAS binds port 5353/UDP across all IPs, including per-App IP aliases. So even if a container has its own unique IP, it can’t bind to 5353 if Avahi is enabled for services like Time Machine.

Someone opened Jira ticket NAS-136230, but it was closed with no changes. The response was that:

  • Only one mDNS stack should run per host (per RFC 6762 recommendation)
  • Containers are not considered independent hosts (even with per-App IPs)
  • And allowing multiple mDNS responders may cause instability (like Time Machine failing silently)