Problem
NS_SERVER_IP is captured once by scripts/setup.sh. If the host LAN IP later changes (DHCP lease, network move, new interface), Technitium A records become stale silently. New site provisioning writes wrong addresses; existing zones drift.
Proposal
At API boot:
- Resolve primary non-loopback interface IP via
os.networkInterfaces()
- Compare to
NS_SERVER_IP from env
- Mismatch → log loud warning, surface in dashboard health panel
- Optional: support
NS_SERVER_IP=auto to bypass env override and always use detected value
~25 LOC + unit test.
Acceptance
Out of scope
- Active zone-record reconciliation when IP changes mid-uptime (separate enhancement)
Problem
NS_SERVER_IPis captured once byscripts/setup.sh. If the host LAN IP later changes (DHCP lease, network move, new interface), Technitium A records become stale silently. New site provisioning writes wrong addresses; existing zones drift.Proposal
At API boot:
os.networkInterfaces()NS_SERVER_IPfrom envNS_SERVER_IP=autoto bypass env override and always use detected value~25 LOC + unit test.
Acceptance
NS_SERVER_IP=autowrites detected IP into DNS A recordsOut of scope