Skip to content
A collection of tools to make managing UBNT software easier!
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Start v0.6.3-dev Apr 26, 2019
LICENSE Version 0.5.8 Jan 24, 2019 Updated README to show -z command-line option May 22, 2019 Added: Show deprecated message Mar 20, 2019


A collection of tools to make managing UBNT software easier!

Who would benefit from this project?

  • System administrators who are experienced with Linux but would prefer a "cheatsheet" so they don't have to learn or re-learn the recommended way to install UBNT software whenever they need to deploy or re-deploy servers.
  • System administrators with limited Linux experience.
  • End-users who want an easy way to install and manage UBNT software.

How to begin

You can run the script this way:

wget -O
sudo bash

For convenience, the script is also available using a short link:

wget -O && sudo bash

Dev branch

You can run the latest development branch version of the script this way:

wget -O
sudo bash

Or for convenience, you can run the dev branch version this way:

wget -O && sudo bash

Script command-line useage

  This script currently requires root access.

  sudo bash ${__script_name}.sh [options]

  -a          Accept and skip the license agreement screen
  -c [arg]    Specify a command to issue to a product, used with -p
              The script will execute the specified command only and then exit
              Currently supported commands:
              'get-installed-version' - Show currently installed package version
              'get-available-version' - Show latest available version number
              'get-available-download' - Show latest available download URL
              'archive-alerts' - Archive controller alerts for all sites
  -d [arg]    Specify the domain name (FQDN) to use in the script
  -f [arg]    Specify an option for the firewall setup
              If not specified, the firewall (UFW) will be enabled
              Currently supported options:
              'off' - Disable the firewall
              'skip' - Don't make any firewall changes
  -h          Show this help screen
  -i [arg]    Specify a UBNT product version to install, used with -p
              Currently supported syntax examples:
              '5.9.29', 'stable', '5.7'
              Can also use 'skip' to bypass any UBNT product changes
  -l [arg]    Specify an option for the Let's Encrypt setup
              Currently supported options:
              'skip' - Don't do any Let's Encrypt setup
  -p [arg]    Specify which UBNT product to administer
              Currently supported products:
              'unifi-controller' (default)
  -q          Run the script in quick mode, accepting all default answers
  -s [arg]    Specify an option for the SSH server setup
              Currently supported options:
              '<port>' - Specify a port number to use
              'off' - Disable SSH
              'skip' - Don't do anything with SSH
  -t          Bypass normal script execution and run tests
  -v          Enable verbose screen output
  -x          Enable script execution tracing
  -z          Bypass initial system checks, common fixes and updates

Quick mode example

You can run the script this way to quickly deploy a server with a Let's Encrypt cert and a basic firewall:

wget -qO && sudo bash -aqd

Script Logging

The last 10 logs are saved in /var/log/easy-ubnt and the latest script log is symlinked as latest.log:

more /var/log/easy-ubnt/latest.log
You can’t perform that action at this time.