What you’re looking for is the CloudKey. It is the local Controller and can be accessed via “the Cloud” if needed, but not mandatory. I tried running the Java controller on my Mac, it worked but sucked. Having an independent dedicated piece of hardware is worth every penny IMO.
https://www.ubnt.com/unifi/unifi-cloud-key/