# Persistent Memory Facts that don't expire. If you'd have to re-explain it to a new agent every time, it belongs here. Last updated: 2026-04-30 --- ## Infrastructure decisions - RustDesk is self-hosted on 172.27.40.3 — clients connect to local server not public relay - Netbird signal+management both route through NPM on port 443 — exposedAddress in /opt/stacks/netbird/config.yaml must be https://netbird.nxm.co.za:443 (caddy-netbird on :8443 exists but is not used externally) - Headscale v0.28: all write operations require numeric user ID, not username - Tailscale on Windows overrides DNS — disconnect before testing split DNS changes - Servers running Tailscale must run `sudo tailscale set --accept-dns=false` before joining Netbird ## Agent OS build state - Phase 1-2 (file structure + NFS + identity interview): not yet started - First skill to build: infra-monitor (Docker health + agent watchdog) - Notifications target: Home Assistant at 172.27.10.6