Allow Controller to run on a Single IP Address

Submitted by -

Currently, as per the discussions in this thread, the controller binds to all IP addresses available on the host system. The port the server runs on is already configurable through the file, however the IP address is not (system_ip= is not used for this purpose). Currently therefore, the controller binds to the same port on every IP address.

I propose that the IP address be made configurable to bind to only a single IP if required. This would allow the the controller to run on say port 443 whilst another service, such as a web server, was also listening on port 443 on another IP address.




on ‎04-23-2017 03:27 PM

+1 (where's the +1000 button?) - this is needed. I'm surprised this hasn't been implemented for years. No one is supposed to be running a controller on a server with >1 network card?

on ‎05-18-2017 09:14 AM

+1 im also needing a solution to this, the ability to bind the IP and also set the base URL would be awesome.


right now i dont like the fact my controller just listens on everything and i see no reason  that this couldn't be added.

on ‎08-25-2017 10:07 PM

I'm really surprised that there is no solution for this need. All the other services on my Linux system offer this possibility. So it can't be so hard to implement it I guess.

on ‎08-27-2017 02:49 AM

If you run the Controller inside a container, then you can fine grain control on which IP it can bind and what ports you want to expose outside. See for example that container image:


you could always do


docker run --rm --init --cap-drop ALL -e TZ='Europe/Berlin' \
  -p <IP1>:8080:8080 -p <IP1>:8443:8443 -p <IP1>:8843:8843 \
  -v ~/unifi/data:/var/lib/unifi \
  -v ~/unifi/logs:/var/log/unifi \
  --name unifi jcberthon/unifi
on ‎10-28-2017 08:26 AM



the system_ip property (and its documentation) don't explain that it doesn't prevent unifi from listening on (and interfering with) all virtual interfaces.