Самостоятельный хостинг 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: Первоначальная настройка
- Откройте браузер и перейдите на
https://SERVER_IP:8443 - Примите сертификат безопасности (самоподписанный)
- Следуйте мастеру настройки
- Создайте локальную учётную запись администратора
Установка через 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
- Установите Docker из Центра пакетов
- Скачайте образ
linuxserver/unifi-network-application - Создайте контейнер с настройками портов и томов
- Не забудьте развернуть MongoDB в отдельном контейнере
Для Synology также доступен официальный пакет UniFi Controller в Package Center (сторонний репозиторий SynoCommunity).
Используемые порты
| Порт | Протокол | Назначение |
|---|---|---|
| 8443 | TCP | Web-интерфейс (HTTPS) |
| 8080 | TCP | Информирование устройств |
| 3478 | UDP | STUN |
| 10001 | UDP | Обнаружение устройств |
| 8843 | TCP | Guest Portal HTTPS |
| 8880 | TCP | Guest Portal HTTP |
| 6789 | TCP | Speed Test |
Настройка удалённого доступа
Вариант 1: Облачный доступ через UI Account
- В контроллере перейдите в Settings → System
- Включите Remote Access
- Войдите в свой UI Account
- Контроллер появится в 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;
}
}Резервное копирование
Автоматические бэкапы
- Перейдите в Settings → System → Backup
- Включите Auto Backup
- Настройте расписание и количество хранимых копий
Расположение файлов бэкапа
- 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 unifiDocker
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
Следующие шаги
После установки контроллера рекомендуем: