Run Home Assistant in another network

Hi, this is more of a Docker/Networking question, I have a remote server which is more powerful than my punny RPI3, I was wondering how could I make it (Networking-wise) so that the Home Assistant docker containers are run inside that remote server and network but can access every device on my home (integrations, esp-home, etc)

For more context:
My home network lives in the 192.168.40.0 subnet and my servers network in the 192.168.1.0 subnet.
I have ZeroTier setup on my OpenWRT routers so that when I access any 192.168.40.0 IP from 192.168.1.0 subnet the route is available, and the same thing goes the other way around.
So my integrations (esphome etc ) can reach the server and my server the integrations.

My question then would be, can I set up a docker network that lives in the 192.168.40.0 subnet or some wizardry like that so that automatic-discovery works properly (for example my esphome devices get detected automatically)

I know this is a complex question, but I don’t know where to start or if it’s feasible. I guess it has to do with DNS and maybe with homeassistant/*-hassio-dns:9 container but no clue.
I’m running Hassio in a docker-compose so the move should be pretty painless

Ehm… homeassistant “lives” (is reachable) on the “interface” ip address of the host server. The docker addresses are not “exposed” outside of the server and thus should not affect your routing.

I ditched docker-compose and im running plain Hassio now, on a VM (should be the same for this)
Yes there is connection between the server and my home network. I can ping each and every device. I just tested it and the integrations don’t auto-detect anything. This could be because Hassio lives in a different subnet and its gateway is 192.168.1.1 so autodiscovery stops working, I don’t know how to fix that.

If its not local in the same subnet you can’t fix that I think.

This is because much of the autodiscovery mechanism involves mDNS and SSDP.
This is a broadcast protocol that doesn’t span beyond the subnet.

You can set up another another service called Avahi Reflector which is able to relay mDNS between subnets.

I am fortunate enough that I have a business grade router/firewall that allows me to pass mDNS/SSDP through subnets explicitly; perhaps look to see if you can do the same on yours.

1 Like

You can set up another another service called Avahi Reflector which is able to relay mDNS between subnets.

Exactly! that’s how I solved it! I installed avahi-daemon in my OpenWRT router at home (thanks Linux!) and bridged my ZeroTier network with my local network using avahi.
Then installed the ZeroTier plugin in my Hassio remote install and everything worked like a charm!
I followed this tutorial if anyone is interested https://blog.christophersmart.com/2020/03/30/resolving-mdns-across-vlans-with-avahi-on-openwrt/.
and Removed integration - Home Assistant

1 Like

you should set up 2 ha… one on your local and one on the fast server. Using remote home-assistant both systems be able to communicate and show the same device. I think…

How would they be able to communicate ??

via IP settings since you explain that both network can talk to each other.

Yes, sure! what I meant is that I would have 2 instances to maintain, what would I gain with this? does HA have some feature to make this work in any way better than having a remote instance ?
One way that could work would be as a backup HA server and that sounds interesting and will be looking into that soon.

Well that way its much easier to discover new device rather then have to look for mDNS etc.