1.8 KiB
ubnt — UniFi Network Controller
Role and access
| Item | Value |
|---|---|
| Role | UniFi Network Controller host |
| IPv4 | 192.168.66.46 |
| SSH | ssh -4 windy@192.168.66.46 |
| Hostname | ubnt |
| Privilege | windy has passwordless sudo and is in the docker group |
The current SSH ED25519 host-key fingerprint is
SHA256:TTZtonJnnnNS6vk4xqo+CJPuZGXwwkf46wR1SLmqc10 (verified 2026-08-03).
Verify a changed key out of band before accepting it.
UniFi stack
| Item | Value |
|---|---|
| Compose directory | /home/windy/unifi-9 |
| Compose file | /home/windy/unifi-9/compose.yml |
| Compose service | unifi |
| Container | unifi-controller |
| Image | jacobalberty/unifi:v9.5.21 |
| Network mode | host |
| HTTPS UI | https://192.168.66.46:8443 |
The controller binds *:8443. A local HTTPS request to
https://127.0.0.1:8443/ is the primary quick health check.
Proxy contract
The container has HTTP/HTTPS proxy environment variables. Its Compose
environment list must keep both NO_PROXY and no_proxy enabled and
include at least:
localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12
Without this bypass, a controller request to localhost:8443 can be sent to
the OpenClash gateway instead of remaining local. Details and verification are
in the UniFi localhost proxy note.
Safe reconciliation and verification
cd /home/windy/unifi-9
docker compose config -q
docker compose up -d --force-recreate unifi
docker inspect --format '{{.State.Health.Status}}' unifi-controller
curl -k -sS -o /dev/null -w '%{http_code}\n' https://127.0.0.1:8443/
Recreating the service briefly interrupts the controller. Do not use docker compose down -v; it can remove persistent data.