Self-hosting the UniFi Console is a great way to keep control of your network setup, but it can introduce a few quirks especially with device adoption.
By default, UniFi access points try to reach a host named unifi, and if this isn’t resolvable, the devices will fail to adopt.
There are two ways of doing this, either by SSH-ing into each Access point or Overriding the DNS.
Overriding the DNS (Recommended)
Log into your OPNSense web interface.
Navigate to Services → Unbound DNS → Overrides
Create a new entry under Hosts with the following content and press save.

Then scroll down and press Accept.
Then head over to the UniFi Console and the device should now show up as Pending Adoption in the UniFi Controller web interface.
You should now be able to click Adopt.
Configuring the Access point via SSH
⚠️ Make sure your controller is running and reachable from the AP before doing this.
First you need to head to the UniFi Console and go to UniFi Devices and note the IP Address of the Access point you want to SSH into.

Then open up a new Terminal window (PowerShell or Bash) and type the following
ssh ubnt@<DEVICE_IP>
The default credentials unless the credentials was changed are the following:
- Default Username: ubnt
- Default Password: ubnt
- If the password was changed you’ll find them in the UniFi Console under Settings → Advanced → Device Authentication
Once logged in, run the following command, replacing the IP address with your UniFi Console’s IP (or hostname if DNS is working):
set-inform http://<CONTROLLER_IP>:8080/inform
This tells the AP where to find the UniFi controller.
After the Inform URL has been set, the device should now show up as Pending Adoption in the UniFi Controller web interface.
You should now be able to click Adopt.
For cloud-hosted controllers (like unifi.ui.com), the inform URL will usually be:
set-inform http://your-controller-name.ui.com:8080/inform
❔Sometimes when adopting the device, you have to set the Inform URL again