Readers will learn how to run the UniFi controller software as a Windows service.
Windows services are often useful since they are “background” applications which don’t require any attention from the end-user. In this way, the service will launch upon startup, without any intervention from the user. The service is a direct replacement/substitute for running the controller program manually (via the icon or a scheduled task), so there is no need to run the controller application if you're running it as a Windows service.
Table of Contents
Steps - How to Run the Controller as a Windows Service
1. Close any instances of the UniFi software on the computer. If you just installed the UniFi controller, make sure to open it once by using the icon on the desktop or within the start menu. Once it says “UniFi Controller (a.b.c) started.” you can close the controller program. This is needed to generate some required files for the service to work.
2. Open the command prompt as an Administrator. For example, on Windows 10, right click on the Start Menu and choose “Command Prompt (Admin)”.
3. Change directory to the location of UniFi in your computer using the following command (exactly as it is here, no substituting needed):
cd "%UserProfile%\Ubiquiti UniFi\"
4. Once in the root of the UniFi folder, issue the following (this installs the UniFi Controller service):
java -jar lib\ace.jar installsvc
5. Once you’re at a new command prompt line, after it says “Complete Installation…”, issue the following:
java -jar lib\ace.jar startsvc
6. Close the command prompt window either by entering the “exit” command, or clicking the X.
7. There is no longer a controller applet, like that other window that popped up. To access the controller you need to open your browser and go to https://localhost:8443. Alternatively you can use the desired interface IP, or FQDN that is mapped to that host (in place of “localhost”).
Note: You will need to use Oracle Java JRE 8, which you can download HERE. For the UniFi cloud service (unifi.ubnt.com) to work, you need to use x64 Java only (so choose Windows x64 Offline). You can use either x86 or x64 Java for UniFi, but if you use x86 you cannot use the unifi.ubnt.com cloud tie in.
When upgrading the service, first perform step 2 and 3, then run "java -jar lib\ace.jar stopsvc" (without quotes) to stop the old the service. After the update is complete, run "java -jar lib\ace.jar startsvc" (without quotes) to start the service for the updated controller instance.
User Notes & Tips
These notes have been added thanks to user collaboration. Have anything to contribute? Click on the Give Feedback button below!
- Switching to a service means you have to open up ports on your windows firewall. The ports the UniFi controller uses are listed in our UniFi - Ports Used article. If you would like to learn how to change ports, see our UniFi - Change Default Ports for Controller and UAPs article.
- There have been users who couldn't start the installed UniFi service until both x86 and x64 Java was installed (on an x64 machine). Help us verify this solution by sending us an email with the Give Feedback button below if you were experiencing this issue and this tip fixed it.