Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Docker-образ для запуска Unifi Controller 4.8.15 на Synology, UniFi Network
 
Всем привет! Мне тут очень помогали эти форумы, и я рад попытаться вернуть долг, поделившись тем, что может помочь другим! Я только что опубликовал на Docker Hub контейнер, который позволяет легко запускать Unifi Controller на Synology. Сделать это было непросто из-за того, что jar-файл в debian-пакете автоматически запускает внутренний экземпляр mongod и не предлагает способ отключить его или указать внешний mongodb replica set.

Я написал об этом пост с инструкциями для тех, кто хочет попробовать. Буду рад отзывам, идеям по улучшению и pull-реквестам. 😀

https://medium.com/@ctindel/running-unifi-controller-in-docker-on-synology-263491f2b803#.v9yizdfkd

Кстати, если среди вас есть сотрудники Unifi, буду благодарен, если скажете, готовы ли вы переписать debian init-скрипты так, чтобы они не зависели от пакета mongodb и Java-код не запускал локальный mongod автоматически. Это позволило бы нам разнести компоненты и направлять ПО Unifi на внешний контейнер или replica set. Даже если это дело отложится до пятой версии, я очень хочу иметь что-то подобное в доступе!
 
Похоже, что обновление прошивки вместе с переходом на host based решило проблему. Огромное спасибо за всю вашу помощь. Очень хочу поскорее разобраться с техникой Ubiquiti!
 
Твои устройства UniFi всё ещё подключены к контроллеру на Windows? Тогда сначала отключи их.
 
Если в вашей сети все используют один и тот же DNS-сервер, зайдите в командную строку и выполните ping unifi. Какой IP-адрес вернется? Если это IP вашего старого контроллера, лучше сначала это исправить. Хотя, с другой стороны, может и не стоит заморачиваться. Просто зайдите по ssh на вашу точку доступа (логин и пароль по умолчанию — ubnt) и наберите help — там найдите синтаксис команды set-inform. Выполните её с IP вашего Synology и не закрывайте ssh-сессию! Первая команда set-inform заставит точку доступа появиться в контроллере. Как только вы нажмёте Adopt, если процесс подключения не завершится, нужно будет повторно выполнить set-inform в той же ssh-сессии. После этого ваша точка доступа должна успешно подключиться.

В будущем не нужно сбрасывать всё к заводским настройкам. Просто сделайте резервную копию на контроллере, который собираетесь отключить, а при настройке нового контроллера на первом же экране, где предлагают создать новый или восстановить из бэкапа, укажите этот бэкап!
 
ctindel: Я новичок в Unifi, сегодня купил своё первое оборудование: 1 коммутатор с PoE на 60 Вт, 1 AP AC LR и 1 AP AC Lite. Когда установил программное обеспечение контроллера Unifi на Windows, всё работало отлично. Я смог пройти весь процесс настройки, все устройства находились в мастере настройки.

Через несколько часов подумал: а не лучше ли запустить контроллер на моём NAS? У меня современный Synology с четырёхъядерным процессором и 8 ГБ оперативной памяти.

Я удалил контроллер с Windows и сделал сброс настроек на всех трёх устройствах Unifi.

Теперь я установил Docker на NAS и образ с контроллером (пробовал 4 разных). Контейнер работает нормально, я могу к нему подключиться по локальному адресу. Мастер настройки запускается, предлагает выбрать страну и город — и вот тут начинаются проблемы. Дальше он пытается найти все устройства, но ничего не находит. Мой NAS находится в той же сети, что и точки доступа, фаерволл не включён. Я также подключался по SSH к точке доступа и пинговал NAS — пинг проходит.

Версия контроллера в Docker — 5.8.28, а на точках доступа стоит версия 3.9.42.9152.

Я весь день пытался разобраться, но понять, в чём проблема, не могу.
 
Мне не нужно заново настраивать или переустанавливать что-либо после установки нового контейнера. Ты уверен, что сохраняешь данные на Synology и монтируешь том в контейнер?
 
@ctindel и другие, кто запускает контроллер Unifi в Docker на Synology... Это нормально, что каждый раз после обновления Docker-контейнера до последней версии Unifi мне нужно вручную переадоптировать все мои устройства Ubiquity с помощью команды set-inform?
 
Нашёл проблему — подключиться к двум контроллерам одновременно нельзя. Сделал резервную копию и загрузил её в контроллер Syno. В Synology / Панель управления / Безопасность / Брандмауэр / редактируем правила профиля брандмауэра. Редактируем mgmt-правила / включаем встроенные порты приложений Docker. Потом:

1. Подключаемся по SSH к AP с учётными данными прежнего контроллера  
2. В контроллере забываем AP  
3. Сбрасываем настройки командой 'syswrapper.sh restor-default'  
4. Подключение прервётся  
5. Подключаемся по SSH к AP с логином ubnt/ubnt  
6. Запускаем mca-cli shell  
7. Выполняем set-inform https://x.x.x.x:8080/inform, где x.x.x.x — IP нового контроллера UniFi  
8. В контроллере принимаем AP  
9. При необходимости повторяем шаг 7 после принятия, чтобы AP начал настройку  
10. AP перезагрузится и пройдет provision (автоматическую настройку)
 
Привет, у кого-нибудь ещё была такая проблема? Я установил docker-образ CTINDEL, могу войти в систему, но не вижу никаких устройств. А когда устанавливаю программу на ноутбук, у меня видны все устройства.
 
Думаю, другим людям приходилось явно использовать сетевое подключение на основе хоста для контейнера или что-то в этом роде.
 
Конечно... хочешь взять все мои изменения?
 
@dsully

Есть возможность сделать pull request в мою ветку? Очень бы хотелось её влить.
 
О, классно. Я даже не знал, что это добавили в версии 5.3. Интересно, добавили ли это и в unifi-video...
 
Только что добавил файл docker-compose.yml. https://hub.docker.com/r/dsully/unifi-controller/
 
Похоже, меня это привело к этой бета-версии: 4.3.60.5012138. Но я всё ещё не могу увидеть USG с моего NAS. При подключении через SSH к USG я вижу, что есть файл конфигурации управления и в нём есть URL-адреса к разным вещам, включая ПК, на котором сейчас запущено ПО. Я пытался заменить его на адрес моего NAS, но тогда вся сеть выдала ошибку.
 
Попробую. Для справки, версия прошивки, которая сейчас установлена на USG — 4.3.49.5001150.
 
Если у вас на USG не стоит последняя бета-версия прошивки, то, честно говоря, я не удивлён, что у вас проблемы с подключением к контроллеру. За последние 9 месяцев в прошивке USG появилось просто море исправлений. Подписаться на бета-доступ очень просто, если вы ещё этого не сделали: https://help.ubnt.com/hc/en-us/articles/204908664-How-To-Sign-Up-for-Beta-Access. И если бета всё же окажется хуже (сомневаюсь, но никогда не говори «никогда», да?), откатиться назад — задача простая. Только обязательно сделайте резервную копию вашего контроллера. Ещё лучше — просто клонируйте всю папку Unifi, если у вас хватает места. Если бета по каким-то причинам не подойдёт, просто удалите обновлённую папку unifi, скопируйте и переименуйте резервную копию, и буквально за пару минут будете работать на своей текущей версии.
 
Привет, ребята — я здесь новичок в Ubiquiti. Только что установил docker-образ на свой NAS, но не могу заставить его обнаружить мой Ubiquiti Security Gateway. Изначально я ставил софт на локальный ПК, всё настроил и запустил, а потом перенёс на NAS. Пробовал чистую установку — устройство не определялось, также пытался сделать бэкап и импортировать настройки в docker-образ — тоже без толку. Сеть настроена как «Bridge», у NAS статический IP в сети. Есть идеи? Все перенаправления портов для других функций вроде работают нормально.
 
По какой-то причине docker-compose создает странные имена вроде root_mongo_1 для контейнеров. Мне пришлось переименовать их в ожидаемые имена, чтобы unifi-controller смог найти mongodb.  
$ docker rename root_unifi-controller_1 unifi-controller  
$ docker rename root_mongo_1 mongo  
Я также создал новую сеть с названием, которое мне нравится, хотя это и не обязательно — просто нужно заново добавить контейнеры в кастомную сеть. Не понимаю, почему графический интерфейс Synology не показывает новое имя даже после перезагрузки, но, похоже, после перезагрузки всё работает.
 
@dsully

Я попробовал твой файл docker-compose.yml, и у меня сначала не получилось, потому что я не создал /volume1/docker/{mongo,unifi}, но потом всё заработало. Хотя после перезагрузки по какой-то причине у контейнеров изменилась сеть на стандартный bridge. После того как я поправил это в графическом интерфейсе, настройка сохранилась после перезагрузки. Но контроллер теперь не работает — при подключении на порт 8080 сразу сбрасывает соединение. В netstat вижу, что все порты открыты. В логах контейнера никаких записей нет, поэтому даже не знаю, где искать проблему.
Страницы: 1 2 След.
Читают тему (гостей: 1)