SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-16

Как развернуть UniFi Controller на VPS

Узнайте, как запустить UniFi Network Application на VPS. Мы разберем требования к RAM, настройку Docker с MongoDB, использование команды set-inform и список портов для защиты.

Что на самом деле делает UniFi controller на VPS

UniFi controller на VPS — это сервер управления, который остается доступным, даже если управляемые им площадки отключаются. Программное обеспечение представляет собой UniFi Network Application от Ubiquiti: Java-приложение, работающее в связке с базой данных MongoDB. Оно настраивает ваши точки доступа и коммутаторы, хранит их статистику и предоставляет интерфейс администратора. Оно не обрабатывает клиентский трафик.

Последний пункт определяет место размещения сервера. Если разместить контроллер на машине внутри офиса, которым он управляет, вы одновременно потеряете и сеть, и инструмент для её мониторинга. Если разместить его на VPS со стабильным публичным IP-адресом, он продолжит работу, продолжит сбор данных и сможет управлять устройствами на нескольких площадках из одного места. Ему требуется время безотказной работы, а не высокая вычислительная мощность.

Когда контроллер находится в офлайне, подключенные точки доступа и коммутаторы продолжают передавать трафик с уже загруженной в них конфигурацией. Вы теряете доступ к панели управления и статистике, а также к функциям, требующим активного контроллера: например, к гостевому порталу или RADIUS (remote authentication dial-in user service), если контроллер выступает в роли вашего RADIUS-сервера. Клиентские соединения при этом не разрываются.

Сколько оперативной памяти требуется для UniFi controller?

Два ГБ — это минимальный порог, а 4 ГБ — рекомендуемый объем. В одном контейнере работают два потребителя памяти: Java и MongoDB, и они распределяют ресурсы независимо друг от друга.

Размер кучи Java ограничен параметром MEM_LIMIT, который в образе контейнера по умолчанию установлен на 1024 МБ. Вторая половина — это MongoDB. Её движок хранения WiredTiger выделяет под кэш половину объема RAM, превышающего 1 ГБ, или 256 МБ, в зависимости от того, что больше. На VPS с 2 ГБ памяти это дает примерно 512 МБ кэша плюс 1 ГБ кучи, плюс некучевую память JVM и потребности операционной системы. Это работает до пиковых нагрузок, после чего OOM-killer ядра завершает один из двух процессов. После любого необъяснимого перезапуска выполните dmesg -T | grep -i 'killed process', чтобы проверить, не это ли стало причиной. Если у вас всего 2 ГБ, добавьте swap-файл.

Требования к CPU и диску невысоки. Один или два vCPU справятся с несколькими десятками устройств. Начните с 20 ГБ дискового пространства и следите за ним, так как база данных растет пропорционально количеству клиентов и глубине хранения статистики. Сам по себе контроллер почти не нагружает систему с 4 ГБ RAM, поэтому, если вы планируете разместить на сервере что-то еще, рассчитывайте ресурсы исходя из потребностей второго приложения, так как требования к RAM у PhotoPrism и Immich значительно выше, чем у контроллера.

Важна одна особенность CPU, которую легко упустить при выборе дешевого тарифа:

grep -m1 -o avx /proc/cpuinfo

MongoDB версии 5.0 и выше требует поддержки AVX (advanced vector extensions) на архитектуре x86_64. Если эта команда ничего не выводит, mongod завершится при запуске, а контейнер уйдет в цикл перезагрузок, так как бинарный файл пытается выполнить инструкцию, отсутствующую в процессоре. Обычно это встречается на старых хостах с Intel Celeron и Pentium, а также в гипервизорах, которые скрывают флаги CPU от гостевой системы. MongoDB 4.4 не требует AVX и является единственным вариантом для таких случаев, но эта версия базы данных больше не получает обновлений безопасности от разработчиков. Лучшее решение — переход на хост с более современным процессором. На ARM VPS этот вопрос не возникает, так как AVX — это набор инструкций x86, а оба образа имеют сборки для arm64. Если вы выбираете между этими архитектурами, различия между ARM и x86 VPS не ограничиваются ценой.

Установка UniFi Network Application с помощью Docker Compose

Docker — это путь с наименьшим количеством неожиданностей, так как он позволяет зафиксировать версию MongoDB, поддерживаемую приложением, вместо использования той, что предоставляет ваш дистрибутив. Если Docker еще не установлен, сначала установите Docker на VPS.

mkdir -p ~/unifi/config ~/unifi/db
cd ~/unifi

MongoDB требует наличия пользователя, прежде чем приложение сможет авторизоваться. Официальный образ MongoDB при первом запуске выполняет любой скрипт, найденный в /docker-entrypoint-initdb.d. Сохраните его как ~/unifi/init-mongo.sh:

#!/bin/bash
if which mongosh > /dev/null 2>&1; then
  mongo_init_bin='mongosh'
else
  mongo_init_bin='mongo'
fi
"${mongo_init_bin}" <<EOF
use ${MONGO_AUTHSOURCE}
db.auth("${MONGO_INITDB_ROOT_USERNAME}", "${MONGO_INITDB_ROOT_PASSWORD}")
db.createUser({
  user: "${MONGO_USER}",
  pwd: "${MONGO_PASS}",
  roles: [
    "clusterMonitor",
    { db: "${MONGO_DBNAME}", role: "dbOwner" },
    { db: "${MONGO_DBNAME}_stat", role: "dbOwner" },
    { db: "${MONGO_DBNAME}_audit", role: "dbOwner" },
    { db: "${MONGO_DBNAME}_restore", role: "dbOwner" }
  ]
})
EOF

Этот скрипт выполняется только тогда, когда каталог базы данных пуст. Если запустить стек один раз с неверным паролем, пользователь будет создан с неверными данными, и последующее редактирование файла compose ничего не изменит, так как скрипт больше не запустится. Симптомом является то, что контейнер приложения сообщает об ошибках аутентификации MongoDB, а веб-интерфейс не появляется. При чистой установке решение заключается в остановке стека, удалении ~/unifi/db и повторном запуске.

Затем создайте ~/unifi/compose.yaml:

services:
  unifi-db:
    image: docker.io/mongo:8.0
    container_name: unifi-db
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=change-this-root-password
      - MONGO_USER=unifi
      - MONGO_PASS=change-this-unifi-password
      - MONGO_DBNAME=unifi
      - MONGO_AUTHSOURCE=admin
    volumes:
      - ./db:/data/db
      - ./init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro
    restart: unless-stopped

  unifi-network-application:
    image: lscr.io/linuxserver/unifi-network-application:10.5.67-ls141
    container_name: unifi-network-application
    depends_on:
      - unifi-db
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - MONGO_USER=unifi
      - MONGO_PASS=change-this-unifi-password
      - MONGO_HOST=unifi-db
      - MONGO_PORT=27017
      - MONGO_DBNAME=unifi
      - MONGO_AUTHSOURCE=admin
      - MEM_LIMIT=1024
      - MEM_STARTUP=1024
    volumes:
      - ./config:/config
    ports:
      - "8080:8080"
      - "3478:3478/udp"
      - "127.0.0.1:8443:8443"
    restart: unless-stopped

Теги обоих образов зафиксированы намеренно. 10.5.67-ls141 был актуальным релизом приложения в августе 2026 года, поэтому проверьте список релизов образа и зафиксируйте версию, актуальную на момент вашей установки. Тег базы данных важнее. MongoDB не обновляет файлы данных между мажорными версиями автоматически, поэтому mongo:latest однажды загрузит новую мажорную версию, откажется открывать найденные файлы и уйдет в бесконечный цикл перезагрузки. Фиксируйте мажорную версию и обновляйте её осознанно. UniFi Network 8.1 и более поздние версии поддерживают MongoDB от 3.6 до 7.0, а в 9.0 добавлена поддержка MongoDB 8.0.

PUID и PGID должны соответствовать реальному пользователю на хосте, иначе файлы в ./config окажутся во владении идентификатора, который не сможет записывать в них данные. Выполните id, чтобы узнать свои значения. как работают PUID и PGID в образах контейнеров описывает, как выглядит несоответствие прав.

Запустите стек и наблюдайте:

docker compose up -d
docker compose ps
docker compose logs -f unifi-network-application

docker compose ps должен показать оба контейнера со статусом running. Если unifi-db завис в состоянии restarting, это либо упомянутая выше проблема с AVX, либо проблема с правами доступа к ./db. Как только вывод лога стабилизируется, проверьте два слушателя:

curl -sk -o /dev/null -w '%{http_code}\n' https://127.0.0.1:8443/
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/inform

Любой HTTP-код ответа означает, что слушатель привязан к порту и отвечает. Connection refused означает, что приложение все еще запускается (на небольшом VPS при первом запуске это занимает минуту или две) или что оно не запустилось вовсе.

Доступ к панели администратора без открытия портов наружу

Порт 8443 опубликован на 127.0.0.1 в файле выше, поэтому никто за пределами VPS не может получить доступ к панели администратора. Перенаправьте его через SSH, чтобы запустить мастер настройки:

ssh -L 8443:127.0.0.1:8443 you@vps.example.com

Оставьте этот сеанс открытым и перейдите по адресу https://127.0.0.1:8443. Сертификат является самоподписанным, поэтому браузер выдаст предупреждение. Создайте учетную запись администратора, укажите название сайта и пока пропустите добавление устройств.

SSH-туннель подходит для одного администратора. Для работы в команде назначьте VPS частный IP-адрес и привяжите интерфейс к нему. WireGuard VPN на собственном VPS и subnet router в Tailscale позволяют получить адрес, доступный только для ваших сотрудников. Измените опубликованный порт на 10.8.0.1:8443:8443 для WireGuard или на адрес, назначенный Tailscale. Важный нюанс: Docker не может опубликовать порт на адресе, который еще не существует, поэтому интерфейс туннеля должен быть поднят до запуска контейнера, иначе контейнер завершится с ошибкой привязки (bind error).

Почему удаленное устройство UniFi не проходит процедуру адаптации

Сразу после распаковки устройство UniFi находит контроллер с помощью широковещательной рассылки в локальной сети через UDP-порт 10001. Широковещательный трафик не покидает пределы локальной сети, поэтому устройство в офисе другого города не сможет обнаружить контроллер на VPS. Это называется адаптацией на уровне Layer 3, и именно здесь у большинства возникают трудности. С устройством и контроллером всё в порядке, просто устройству не сообщили, где искать контроллер.

Сначала укажите контроллеру, какой адрес передавать устройствам. В настройках контроллера, в разделе System, есть параметр inform host с опцией переопределения (override). Установите его на публичное доменное имя или IP-адрес вашего VPS. Без этого контроллер передает адрес, который видит на своем интерфейсе, а внутри Docker bridge сети это будет частный адрес, например 172.18.0.3. Устройство получает этот адрес, не может построить к нему маршрут и продолжает поиск.

Затем укажите устройству этот адрес. Подключитесь по SSH к устройству в удаленной сети. Устройство с заводскими настройками принимает имя пользователя ubnt и пароль ubnt:

ssh ubnt@192.168.1.20
set-inform http://vps.example.com:8080/inform

В новых версиях прошивки вместо командной оболочки открывается меню. Выполните ту же команду целиком:

ssh ubnt@192.168.1.20 mca-cli-op set-inform http://vps.example.com:8080/inform

Теперь устройство появится в контроллере как готовое к адаптации. Нажмите Adopt, статус изменится на Adopting. Вот момент, который удивляет всех: обычно команду set-inform нужно выполнить второй раз. Устройство перезагружается для применения настроек (provisioning) и возвращается к inform URL, сохраненному в его собственной конфигурации, которую контроллер еще не успел заменить. Повторный ввод команды, пока статус отображается как Adopting, завершает передачу управления. Введите info на устройстве, чтобы увидеть текущий inform URL и состояние.

Если устройство ранее было адаптировано к другому контроллеру, одной команды set-inform будет недостаточно, так как в нем сохранены учетные данные старого контроллера. Сначала выполните сброс до заводских настроек: кнопкой сброса или командой set-default через SSH, используя старые учетные данные.

Если устройств много, используйте DHCP. Опция 43 протокола DHCP (dynamic host configuration protocol) содержит специфическое для производителя значение, и устройства UniFi считывают inform URL из под-опции 2. Сформируйте шестнадцатеричную строку на любом Linux-сервере:

URL="http://vps.example.com:8080/inform"
HEX=$(printf '%s' "$URL" | od -An -tx1 | tr -d ' \n')
printf '02%02x%s\n' "${#URL}" "$HEX"

Для http://192.168.3.10:8080/inform, строки из 31 байта, это выведет 021f687474703a2f2f3139322e3136382e332e31303a383038302f696e666f726d. Вставьте полученный результат в поле опции 43 DHCP на вашем маршрутизаторе как шестнадцатеричное значение. Каждое устройство, загружающееся в этой сети, получит адрес контроллера из аренды (lease) без необходимости подключения по SSH. В старых руководствах указана под-опция 1, 0104, за которой следуют четыре байта IPv4-адреса в шестнадцатеричном виде; устройства до сих пор принимают этот формат.

Существует третий способ, если вы управляете DNS в этой сети. При загрузке устройство UniFi пытается разрешить имя хоста unifi. Поэтому создание A-записи для unifi, указывающей на адрес вашего VPS, позволит адаптировать устройства без настройки каждого из них по отдельности. Этот метод работает только в том случае, если вы контролируете DNS-резолвер, который фактически используют устройства.

Какие порты UniFi нужно открыть, а какие оставить закрытыми

Только два порта должны быть доступны из удаленной сети.

  • TCP 8080 — это канал связи (inform channel), к которому подключается каждое принятое устройство. Передаваемые данные шифруются по стандарту AES с использованием ключа, который контроллер передает устройству при принятии, поэтому обычный HTTP здесь является стандартной настройкой.
  • UDP 3478 — это STUN (session traversal utilities for NAT), который устройства используют для поддержания обратного пути к контроллеру.

Все остальное на VPS должно оставаться закрытым.

  • TCP 8443 — это интерфейс администратора. Он ни в коем случае не должен быть публичным. Он содержит конфигурацию для всех сайтов, которыми управляет контроллер, защищенную одним паролем.
  • UDP 10001 и UDP 1900 — это широковещательное обнаружение (broadcast discovery). Широковещательные пакеты не передаются через интернет, поэтому их открытие не дает никакого результата.
  • TCP 8880 и TCP 8843 — это редиректы гостевого портала. Открывайте их только в том случае, если вы используете гостевой портал.
  • TCP 6789 — это мобильный тест скорости, а UDP 5514 — удаленный syslog. Добавляйте их только тогда, когда они вам нужны.
  • TCP 27117 — это MongoDB. В приведенном выше файле compose база данных не публикует порты, поэтому она существует только во внутренней сети Docker. Оставьте все как есть.

Если ваши сайты имеют статические публичные адреса, разрешите доступ только для них:

sudo ufw allow OpenSSH
sudo ufw allow proto tcp from 203.0.113.4 to any port 8080
sudo ufw allow proto udp from 203.0.113.4 to any port 3478
sudo ufw enable
sudo ufw status verbose

В основах ufw для межсетевого экрана VPS рассматривается настройка политики запрета по умолчанию, на которую опираются эти правила.

Здесь есть ловушка, в которую постоянно попадают пользователи. Опубликованные порты Docker обходят ufw. Публикация порта записывает правила NAT и пересылки напрямую в iptables, и этот трафик фильтруется в собственной цепочке Docker, а не в цепочке INPUT, которой управляет ufw. Поэтому ufw deny 8443 выглядит корректно в ufw status, в то время как порт остается открытым для всего мира. Проверяйте это с другого компьютера, а не с самого VPS:

nc -vz vps.example.com 8443

Отказ в соединении или таймаут — это то, что вам нужно. Если соединение устанавливается, значит порт публично доступен, что бы ни показывал ufw. Надежное решение уже применено в файле compose: публикуйте порт на 127.0.0.1 или на адресе туннеля, чтобы Docker никогда не привязывал его к публичному интерфейсу. Правило в цепочке DOCKER-USER также работает, но привязка к адресу проще, и ошибка в порядке правил не сможет ее отменить.

Как насчет официальных установщиков Ubiquiti?

Ubiquiti публикует Debian-пакет для Network Application. Он работает, но в актуальных версиях Ubuntu возникает вопрос с MongoDB, который дистрибутив больше не решает: в Ubuntu 22.04 и 24.04 нет пакета сервера MongoDB, поэтому приходится вручную добавлять репозиторий MongoDB и подбирать версии. Контейнер, описанный выше, выполняет это соответствие в одном зафиксированном теге, поэтому здесь выбран именно этот путь.

Более новый продукт Ubiquiti для самостоятельного хостинга — это UniFi OS Server, который запускает приложения UniFi в контейнерах Podman и предоставляет ту же UniFi OS, что и их аппаратные консоли. По состоянию на август 2026 года для него требуется x86_64 Ubuntu 22.04 или 24.04, Podman 4.3.1 или новее с slirp4netns, а также минимум 2 vCPU и 4 ГБ оперативной памяти (рекомендуется 4 vCPU и 8 ГБ). Установщик доступен после авторизации под бесплатной учетной записью Ubiquiti на их странице загрузок, поэтому не существует стабильной прямой ссылки, которую можно было бы вставить в руководство. Он создает системного пользователя с именем uosserver и запускает контейнеры от его имени. Выбирайте этот вариант, если вам нужна официальная упаковка от производителя. Выбирайте стек контейнеров, если хотите самостоятельно фиксировать версии и оставить сервер свободным для других задач.

Где хранятся резервные копии UniFi и как их выгрузить с сервера

Контроллер создает резервные копии по расписанию, которое вы задаете в разделе Settings, в подразделе backup; там же указывается количество хранимых копий. Файлы сохраняются в /config/data/backup/autobackup внутри контейнера, что соответствует ~/unifi/config/data/backup/autobackup на хостовой системе, и имеют имена вида autobackup_10.5.67_20260813_1200_1755086400004.unf.

Проверьте, что файлы действительно создаются:

ls -l ~/unifi/config/data/backup/autobackup

Если через день после настройки расписания каталог остается пустым, это известная проблема при чистой установке контейнера. Приложение ожидает, что каталог autobackup уже существует, и не создает его самостоятельно, из-за чего задание по расписанию завершается без записи данных. Создайте этот каталог вручную от имени того же пользователя, под которым работает контейнер, а затем дождитесь следующего цикла выполнения:

mkdir -p ~/unifi/config/data/backup/autobackup
docker compose restart unifi-network-application

Файл .unf содержит конфигурацию сайта и учетные записи администраторов, поэтому относитесь к нему как к криптографическому ключу. Копируйте файлы на подконтрольную вам машину и обеспечьте их конфиденциальность:

rsync -av you@vps.example.com:~/unifi/config/data/backup/autobackup/ ~/unifi-backups/

Восстановление выполняется в один шаг. На первой странице мастера настройки при новой установке предлагается восстановить данные из файла резервной копии; в работающем контроллере это можно сделать на той же странице настроек. Восстановление возможно только в ту же или более новую версию приложения. Резервная копия, созданная в более новой версии приложения, чем та, в которую вы пытаетесь выполнить восстановление, будет отклонена. Именно поэтому важно записывать номер версии вместе с файлом резервной копии.

Что может сломаться при обновлении контроллера

Перед каждым обновлением создавайте резервную копию вручную и скачивайте её. Затем:

docker compose pull
docker compose up -d
docker compose logs -f unifi-network-application

База данных — это первое, что выходит из строя. Изменение тега mongo на новую мажорную версию в той же правке, что и само приложение, — самый быстрый способ получить нерабочий контроллер. MongoDB не откроет файлы данных от другой мажорной версии без поэтапного обновления. Обновляйте приложение отдельно. Переносите MongoDB отдельно, по одной мажорной версии за раз, имея под рукой свежую резервную копию.

Память — следующий критический фактор. Более крупный релиз требует большего размера кучи (heap). Если приложение запускается, работает несколько минут и завершается, увеличьте MEM_LIMIT и MEM_STARTUP до 1536 или 2048 и перезапустите сервис. Команда dmesg -T | grep -i 'killed process' на хосте подтвердит, завершает ли процесс ядро системы.

Прошивка устройств — это риск, о котором часто забывают. После обновления контроллер предлагает обновить прошивки для подключенных устройств. Не соглашайтесь на это в рамках одной сессии. Если обновление устройства и контроллера наложатся друг на друга и связь между ними прервётся, устройство может остаться в состоянии частичной настройки. Тогда вам придётся использовать set-inform по SSH на оборудовании, находящемся в другом здании.

Само окно обновления проходит спокойнее, чем кажется. Устройства продолжают передавать трафик во время перезагрузки контроллера, поэтому пользователи ничего не заметят. Перестают работать только гостевой портал и RADIUS, если контроллер их обслуживает, поэтому выбирайте время, когда ими никто не пользуется. Стоит знать, если контроллер тихо отключился в 3 часа ночи, поэтому настройте мониторинг статуса в Uptime Kuma на порт 8080, чтобы получать уведомления.

Честная альтернатива: облачная консоль Ubiquiti

Ubiquiti предлагает аналогичное решение в виде сервиса. По состоянию на август 2026 года стоимость Official UniFi Cloud Console начинается от 29 долларов в месяц. Этот сервис позволяет управлять до 500 устройств UniFi, при этом Ubiquiti берет на себя обновление ПО и создание резервных копий. Самостоятельно развернутое приложение, которое вы только что установили, является бесплатным и не требует подписки.

Выбирайте облачную консоль, если вы управляете одной площадкой и предпочитаете платить за сервис, а не заниматься его обслуживанием. Выбирайте VPS, если вы управляете несколькими площадками или хотите, чтобы контроллер находился внутри контролируемой вами сети и работал на одном сервере с другими вашими сервисами. Разница в стоимости на малых масштабах ощутима, но это не единственный фактор для принятия решения: облачная консоль означает зависимость от чужого времени безотказной работы, тогда как VPS — это ваша зона ответственности, включая ситуации, когда на диске заканчивается место. Если сервер в любом случае будет использоваться для работы, что еще можно запустить на VPS — это список, который стоит изучить следующим.

FAQ

Почему мое устройство UniFi не подключается к контроллеру на VPS?

Устройства обнаруживают контроллеры путем широковещательной рассылки по UDP-порту 10001. Широковещательный трафик не покидает пределы локальной сети, поэтому устройство в удаленном офисе не может найти контроллер в публичном интернете. Установите переопределение inform host в системных настройках контроллера на имя хоста вашего VPS, затем укажите его устройству с помощью ssh ubnt@<device-ip>, а затем set-inform http://vps.example.com:8080/inform. Если устройство зависло в состоянии Adopting, выполните set-inform повторно, пока оно находится в этом статусе. Если устройство ранее было подключено к другому контроллеру, сначала выполните сброс до заводских настроек, так как в нем сохранены учетные данные старого контроллера.

Сколько оперативной памяти нужно для self-hosted контроллера UniFi?

Двух ГБ достаточно для работы, 4 ГБ — комфортный объем. Приложение состоит из Java и MongoDB, которые распределяют память по отдельности: образ контейнера по умолчанию ограничивает Java heap до 1024 МБ, а кэш WiredTiger в MongoDB занимает половину объема RAM сверх 1 ГБ. На архитектуре x86_64 также убедитесь, что процессор поддерживает AVX с помощью grep -m1 -o avx /proc/cpuinfo, так как MongoDB 5.0 и более поздние версии не запустятся без этой инструкции, и контейнер базы данных будет постоянно перезапускаться.

Стоит ли открывать порт 8443 в интернет?

Нет. Порт 8443 — это интерфейс администратора, содержащий конфигурацию всех сайтов, которыми управляет контроллер. Опубликуйте его на 127.0.0.1 и подключайтесь через ssh -L 8443:127.0.0.1:8443 you@vps.example.com или привяжите его к адресу WireGuard или Tailscale. Только TCP 8080 и UDP 3478 должны быть доступны из ваших локаций; если у них статические IP, доступ к этим портам можно ограничить только этими адресами. Помните, что опубликованный порт Docker не фильтруется через ufw, поэтому проверяйте доступность с внешнего устройства, а не полагайтесь на ufw status.

Перестанет ли работать сеть, если контроллер на VPS отключится?

Нет. Подключенные точки доступа и коммутаторы продолжают передавать трафик, используя конфигурацию, которую контроллер уже загрузил, поэтому клиенты остаются в сети, а Wi-Fi продолжает работать. Прекращается только управление. Вы теряете доступ к панели мониторинга и сбору статистики, а также к функциям, которые предоставляет контроллер в реальном времени, например, к аутентификации на гостевом портале или RADIUS, если контроллер выступает в роли RADIUS-сервера.

Где контроллер UniFi хранит автоматические резервные копии?

В используемом здесь образе контейнера они сохраняются в /config/data/backup/autobackup, который отображается на путь к данным плюс data/backup/autobackup на хосте, в виде .unf файлов, названных по версии и метке времени. На некоторых чистых установках каталог autobackup не существует, и запланированное резервное копирование не записывает данные, не сообщая об ошибке. Проверьте содержимое этого каталога через день после настройки расписания и создайте его вручную, если он пуст. Копируйте файлы с VPS, так как .unf содержит конфигурацию сайта и учетные записи администраторов.

#unifi#ubiquiti#network-management#docker#self-hosting