UISP (UNMS) on Hetzner Cloud with Ubuntu
Last updated: 2. December 2022
This guide describes how to set up the UISP (formerly called UNMS) application for managing Ubiquiti UISP products on a Hetzner Cloud server based on Ubuntu 20.04.
Ubiquiti offers UISP hosting for free, but only if you have 10 or more devices. Therefore, for smaller installations, or if you don’t want to rely on Ubiquiti’s cloud, self-hosting is an good option.
The UISP/UNMS application is provided as a docker container which contains all necessary dependencies.
Requirements
- Hetzner Cloud account
- (Sub)domain name which can be used to access the controller, in this article we’ll use
uisp.example.com
- SSH key, needed to connect to the cloud server once its up and running
Setting up the server in Hetzner Cloud
Login to the Hetzner cloud console and create a new Project (e.g. Ubiquiti), if necessary.
SSH Key
Make sure you have registered an SSH key in the project security settings.
Floating IP
Create a new floating IP address (in this article we’ll use 198.51.100.456
as an example). Make sure that the IP address and the server you create later are located in the same data centre.
Set uisp.example.com
as the reverse DNS (rDNS) entry of the floating IP.
Head over to the DNS management service of your domain name (e.g. Hetzner DNS) and add a new A-Record for uisp.example.com
, which points to the newly obtained IP address.
Server
Create a new server in the Cloud console:
- Location (same as floating IP)
- Image: Ubuntu 20.04
- Type: CX11 (Standard, local NVMe SSD, 1 vCPU, 2 GB RAM, 20 GB SSD)
- Volume: (none)
- Network: (none)
- User data: (none)
- Backup: recommended
- Name: uisp
Once the server has been created, assign floating IP address to this server.
Login to the server via SSH, using username root
and your SSH key.
Note that for the first login, you have to use the auto-generated server IP address, as the floating IP has not yet been configured on the server (see next step).
Configuring the network
Add the floating IP address to the network settings, by creating the file /etc/netplan/60-floating-ip.yaml
and editing it using the Nano editor:
touch /etc/netplan/60-floating-ip.yaml
nano /etc/netplan/60-floating-ip.yaml
Add the following content (replace the IP with your actual floating IP address):
network:
version: 2
ethernets:
eth0:
addresses:
- 198.51.100.456/32
Hit Ctrl+x to exit Nano.
Apply the new network settings:
netplan apply
Also, set the hostname of the system:
hostnamectl set-hostname uisp.example.com
Software installation
Run the following one-liner to install the software with the required libraries, and start the service:
curl -fsSL https://unms.com/v1/install > /tmp/unms_inst.sh && sudo bash /tmp/unms_inst.sh
Access the GUI via the hostname or IP of your server: https://uisp.example.com/
During the guided setup in the GUI, you will have the option to generate self-renewing Let’s Encrypt certificate.
Updates of the UISP software can be applied in the GUI directly.
Additional steps
- Configure either the system or the Hetzner Cloud Firewall to only allow the necessary ports, and allow access only from known source network addresses.