How to Install UniFi OS on Ubuntu
Installing UniFi OS Server on Ubuntu
This article details the end-to-end deployment of UniFi OS Server on Ubuntu. You can use this KB to install UniFi OS on a VPS or a VM on-prem. We will use Ubuntu 24.04.4 LTS, and the UniFi OS version to install will be 5.0.6.
Infrastructure Prerequisites
Prior to deployment, verify the target environment meets the following baseline specifications:
- Operating System: Ubuntu 24.04.4 LTS (64-bit) ( you can use other versions, check compatible versions in the Ubiquiti documentation)
- Compute: Minimum 2 vCPUs
- Memory: Minimum 4 GB RAM
- Storage: Minimum 40 GB available disk space
- Privileges:
rootorsudoaccess required
Note: Docker is not supported. UniFi OS Server strictly utilizes Podman for container lifecycle management. All container operations execute under a dedicated system user (
uosserver).
Pre-Deployment:
If you are migrating an existing deployment from the legacy UniFi Network Server application to the new UniFi OS Server, you must gracefully terminate the existing network service to prevent port binding conflicts.
sudo systemctl stop unifi
sudo systemctl disable unifi
Installation Procedure
Phase 1: Container Runtime Initialization
UniFi OS Server relies on Podman and user-mode networking components. Refresh local repositories and install the required dependency chain.
sudo apt-get update && sudo apt-get install -y podman uidmap slirp4netns iptables curl wget ca-certificates
Verify the Podman runtime version to ensure compatibility. UniFi OS Server requires Podman version 4.3.1 or higher.
podman --version
Exception Handling for Outdated Repositories:
If the native Ubuntu repository returns a Podman version older than 4.3.1, import the Kubic repository to force a modern build:
# Append the Kubic repository to APT sources
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_24.04/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:unstable.list
# Import the corresponding GPG signature key
curl -fsSL https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_24.04/Release.key | sudo tee /usr/share/keyrings/libcontainers-unstable.asc
# Update package index and enforce latest Podman installation
sudo apt-get update && sudo apt-get install -y podman
Phase 2: Package Acquisition
Create a dedicated staging directory for the installer payload.
sudo mkdir -p /usr/local/src/unifi-os-server
cd /usr/local/src/unifi-os-server
Retrieve the current UniFi OS Server binary. Always verify the latest build via the Ubiquiti Releases portal and copy the explicit link address. You can get the links from here:
# Example syntax using curl for the 5.0.6 build
sudo curl -LO https://fw-download.ubnt.com/data/unifi-os-server/1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64
Phase 3: Binary Execution and Container Provisioning
Modify the binary permissions to allow execution, then invoke the installer with elevated privileges.
sudo chmod +x ./1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64
sudo ./1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64
During execution, the installer scaffolds the Podman container architecture and provisions the uosserver Linux system user to govern the container namespace.
Post-Installation & Configuration
Local Dashboard Access
Once the initialization routine completes, the local management interface binds to TCP port 11443. Navigate to:
https://<your-server-ip>:11443
Initial container spin-up and database generation may require several minutes before the Network application transitions to an available state.
Identity Management: Local Credentials vs. UI SSO
During the initial setup, you must define the authentication.
- Local Credentials: Establish a localized Super Admin account. This is strictly local to the server.
- UI SSO (Remote Management): Authenticate with a Ubiquiti UI Account to enable remote administration via UniFi Site Manager, among other features like automated backups, this is the recommended method.
Device adoption.
If your UniFi devices are in the same network as the Ubuntu VM/UniFi OS server, you should be able to adopt them directly. If these are in other networks, you will need to perform a layer 3 adoption. You can follow the steps from this KB:
https://www.unihosted.com/blog/how-to-set-inform-in-unifi-a-guide
Service Management & CLI Operations
The uosserver CLI commands.
The installation includes a dedicated CLI utility (uosserver) wrapping the underlying Podman commands.
uosserver status
Common uosserver Arguments:
start/stop: Controls the active container lifecycle.status: Outputs active states of the container and nested services.shell: Spawns a TTY shell directly inside the UniFi OS container namespace.support: Generates a localized.suppfile for diagnostics.
To interact with Podman directly, impersonate the uosserver user:
uosserver podman ps
uosserver podman logs unifi-os
Verifying the Deployment (Status Interpretation)
To verify the installation was successful and understand the running state of the architecture, run the status command:
uosserver status
The output provides a top-to-bottom view of the UniFi OS stack:
- Container Layer (
uosserver): The top line indicates if the Podman container is running. Look forUp ... (healthy). - Host Services: Confirms the
systemdservice (uosserver.service) on the Ubuntu host is actively communicating with the container. - Container Services (Nested): UniFi OS uses a nested
systemdenvironment inside the container. You will see internal services likeunifi-core(management OS),ulp-go(Identity), andunifi(Network App).
Troubleshooting Common Errors
If the installation fails or the dashboard is inaccessible, review these common pitfalls:
- Port 11443 Conflicts: UniFi OS Server binds to TCP port
11443. Ensure no other local services (or legacy UniFi controllers) are occupying this port. Check your firewall (e.g.,ufw) to ensure traffic is permitted. - Podman Version Mismatch: The installation will fail if the Ubuntu repository provides an outdated Podman version. Ensure you are running
podman --version4.3.1 or higher (refer to Phase 1 exception handling). - Clean Uninstall: If the installation is corrupted, use the built-in purge command to completely wipe the container, images, and networking bridges before retrying:
uosserver uosserver-purge.
Summary
That’s it! You successfully installed UniFi OS, keep in mind that currently does not support UniFi Protect, Access, or Talk. Features and update paths may change rapidly.
When does Managed UniFi hosting make more sense?
Managing UniFi at scale introduces operational risk: inconsistent versions, manual backups, expiring certificates, and hardware failures. Many MSPs move to hosted UniFi controllers to centralize infrastructure while retaining full network control.