Самостоятельный хостинг UniFi

Подробное руководство по установке и настройке UniFi Network Application на собственном сервере: от системных требований до резервного копирования.

Когда стоит выбрать self-hosted

UniFi Network Application можно установить на собственном сервере вместо использования аппаратных контроллеров (Cloud Key, Dream Machine). Это даёт максимальную гибкость и контроль над инфраструктурой.

  • У вас уже есть сервер или NAS
  • Требуется интеграция с существующей инфраструктурой
  • Нужна максимальная производительность для больших сетей
  • Хотите полный контроль над резервным копированием
  • Планируете использовать только сетевые устройства (без Protect, Access)
Ограничение

UniFi Protect и UniFi Access не поддерживают self-hosted установку. Для этих приложений требуется Cloud Key Gen2 Plus, Dream Machine или специализированный NVR.

Системные требования

Минимальные требования

  • CPU: 2 ядра
  • RAM: 2 ГБ (4 ГБ для сетей более 50 устройств)
  • Диск: 10 ГБ свободного места
  • Java: OpenJDK 11 или 17
  • MongoDB: версия 3.6 - 4.4

Рекомендуемые требования

  • CPU: 4 ядра
  • RAM: 8 ГБ
  • SSD: 50 ГБ
  • Статический IP или DDNS

Установка на Ubuntu/Debian

Шаг 1: Подготовка системы

# Обновление системы
sudo apt update && sudo apt upgrade -y

# Установка зависимостей
sudo apt install -y ca-certificates apt-transport-https

Шаг 2: Установка Java

# Установка OpenJDK 17
sudo apt install -y openjdk-17-jre-headless

# Проверка версии
java -version

Шаг 3: Установка MongoDB

# Импорт GPG ключа MongoDB
curl -fsSL https://pgp.mongodb.com/server-4.4.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-4.4.gpg --dearmor

# Добавление репозитория
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

# Установка MongoDB
sudo apt update
sudo apt install -y mongodb-org

# Запуск MongoDB
sudo systemctl start mongod
sudo systemctl enable mongod

Шаг 4: Установка UniFi Network Application

# Импорт GPG ключа Ubiquiti
curl -fsSL https://dl.ui.com/unifi/unifi-repo.gpg | sudo gpg -o /usr/share/keyrings/ubiquiti-archive-keyring.gpg --dearmor

# Добавление репозитория
echo "deb [ signed-by=/usr/share/keyrings/ubiquiti-archive-keyring.gpg ] https://www.ui.com/downloads/unifi/debian stable ubiquiti" | sudo tee /etc/apt/sources.list.d/ubiquiti.list

# Установка UniFi
sudo apt update
sudo apt install -y unifi

# Проверка статуса
sudo systemctl status unifi

Шаг 5: Первоначальная настройка

  1. Откройте браузер и перейдите на https://SERVER_IP:8443
  2. Примите сертификат безопасности (самоподписанный)
  3. Следуйте мастеру настройки
  4. Создайте локальную учётную запись администратора

Установка через Docker

Docker — удобный способ развёртывания, особенно на NAS или существующем сервере.

Docker Compose

version: '3'
services:
  unifi:
    image: linuxserver/unifi-network-application:latest
    container_name: unifi
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Moscow
      - MONGO_HOST=mongodb
      - MONGO_PORT=27017
      - MONGO_DBNAME=unifi
    volumes:
      - ./unifi-config:/config
    ports:
      - 8443:8443
      - 3478:3478/udp
      - 10001:10001/udp
      - 8080:8080
      - 1900:1900/udp
      - 8843:8843
      - 8880:8880
      - 6789:6789
      - 5514:5514/udp
    restart: unless-stopped
    depends_on:
      - mongodb

  mongodb:
    image: mongo:4.4
    container_name: unifi-mongodb
    volumes:
      - ./mongodb-data:/data/db
    restart: unless-stopped

Запуск

# Создание директорий
mkdir -p unifi-config mongodb-data

# Запуск
docker-compose up -d

# Просмотр логов
docker-compose logs -f unifi

Установка на Synology NAS

  1. Установите Docker из Центра пакетов
  2. Скачайте образ linuxserver/unifi-network-application
  3. Создайте контейнер с настройками портов и томов
  4. Не забудьте развернуть MongoDB в отдельном контейнере
Совет

Для Synology также доступен официальный пакет UniFi Controller в Package Center (сторонний репозиторий SynoCommunity).

Используемые порты

ПортПротоколНазначение
8443TCPWeb-интерфейс (HTTPS)
8080TCPИнформирование устройств
3478UDPSTUN
10001UDPОбнаружение устройств
8843TCPGuest Portal HTTPS
8880TCPGuest Portal HTTP
6789TCPSpeed Test

Настройка удалённого доступа

Вариант 1: Облачный доступ через UI Account

  1. В контроллере перейдите в Settings → System
  2. Включите Remote Access
  3. Войдите в свой UI Account
  4. Контроллер появится в Site Manager

Вариант 2: VPN

Настройте VPN-сервер (WireGuard, OpenVPN) для безопасного доступа к локальной сети.

Вариант 3: Reverse Proxy

Используйте nginx или Traefik с SSL-сертификатом Let's Encrypt:

server {
    listen 443 ssl http2;
    server_name unifi.example.com;

    ssl_certificate /etc/letsencrypt/live/unifi.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/unifi.example.com/privkey.pem;

    location / {
        proxy_pass https://127.0.0.1:8443;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Резервное копирование

Автоматические бэкапы

  1. Перейдите в Settings → System → Backup
  2. Включите Auto Backup
  3. Настройте расписание и количество хранимых копий

Расположение файлов бэкапа

  • Linux: /var/lib/unifi/backup/autobackup/
  • Docker: в примонтированной директории /config/backup/

Ручное резервное копирование

# Остановка сервиса
sudo systemctl stop unifi

# Копирование данных
sudo tar -czvf unifi-backup-$(date +%Y%m%d).tar.gz /var/lib/unifi/

# Запуск сервиса
sudo systemctl start unifi
Рекомендация

Настройте автоматическое копирование бэкапов на внешнее хранилище (S3, Google Drive, NAS) с помощью cron и rclone.

Обновление контроллера

APT (Ubuntu/Debian)

sudo apt update
sudo apt upgrade unifi

Docker

docker-compose pull
docker-compose up -d
Важно

Перед обновлением всегда создавайте резервную копию! Откат на предыдущую версию не всегда возможен.

Troubleshooting

Контроллер не запускается

  • Проверьте логи: sudo journalctl -u unifi -f
  • Убедитесь, что MongoDB запущен
  • Проверьте свободное место на диске
  • Проверьте, что порты не заняты другими процессами

Устройства не adopt'ятся

  • Убедитесь, что устройство и контроллер в одной сети
  • Проверьте, что порт 8080 доступен
  • Попробуйте указать Inform URL вручную: set-inform http://CONTROLLER_IP:8080/inform

Следующие шаги

После установки контроллера рекомендуем:

  1. Выбор панели управления UniFi
  2. Облачная архитектура UniFi
  3. Официальный API UniFi

Была ли эта статья полезной?

NetEvo
NetEvo Store Онлайн
👋

Привет!

Есть вопросы по оборудованию UniFi? Напишите нам, и мы поможем с выбором!

Представьтесь, чтобы начать диалог: