Hi, I’m using a self-hosted Netbird instance. The overall setup is:
- VM with netbird installation, public IP, domain etc…
- Various Android Apps on family devices
- Some laptops
- Local network with:
- Home Assistant with Netbird client
- TrueNAS NAS with Netbird client
- Netbird is configured with mobile devices, laptops and Home Assistant and TrueNAS as peers
- Local Network is exposed with Home Assistant and TrueNAS as routing peers
- Local DNS (Router) is expose as DNS for local network
I use Netbird in this case for the following aspects as “always on” VPN for mobile:
- Presence (Home Assistant apps sends location to Server via Netbird tunnel)
- Calendar synchronisation
- Photo backup (Immich)
- Access to some Apps on TrueNAS directly or via caddy proxy for HTTPS (possibly only on demand)
Especially for the first 3 cases I have IMHO two options:
- Access home assistant and truenas via Netbird Hostname and deactivate full network access on client (And optionally using capabilities of apps to switch URLs for local and remote access)
- Access home assistant and truenas via local network name and enable local network access on client for this
I’m aware that Netbird increases battery usage on mobile devices if activated. I fear, that family acceptance is low, if battery usage decreases too much.
Questions:
- Are both options conceptionally equal in their usage of battery, or is one approach better than the other and thus should possibly preferred?
- Are the potential optimizations not yet applied that would change the situation?
- Are there this I should check, because battery usage should not be as measurable as it is now?
- Does the number of policies influence battery usage (is a ALL policy better in this regard than a more differentiated policy as I implemented it now).
- Is there a checklist I can try, to see if my setup is optimal in this regard?
Side question:
- I enabled lazy connections on the Netbird host.
- I assume that lazy connections would have positive influence on batter usage.
- I see that sometimes connections are idle on the Android client, but most of the time they are not - though none of the apps using VPN should require a permanent connection, but will regularly access the local network.
- Are there any settings and logs that allow me to finetune the idle behavior? Do I need to do optimization on mobile client, the routing clients or on the host?
- Hint: I can influence polling intervals also for calendar or home assistant presence/location sync, too.
Side note:
- I’m only interested in mobile client (especially Android) optimizations. I’m happy with the client setup on laptops or servers in the local network

Any hints are welcome!
I assume detailed response would/could be helpful for a number of other users, too ![]()