Как запустить контроллер UniFi в контейнере Docker |
Основная цель UniFi — упростить ИТ-операции. Это достигается с помощью новейших технических решений в области сетевых технологий, коммуникаций, безопасности и ряда других решений, предназначенных для обеспечения интуитивно понятного взаимодействия. Это позволяет управлять развертываниями как из локальной, так и из облачной среды.
ОС UniFi — это операционная система, в которой размещен набор приложений UniFi. В пакете приложений UniFi доступно несколько продуктов. К ним относятся:
- Сеть UniFi предназначена для домашних и корпоративных сетей с коммутаторами UniFi, шлюзами и точками беспроводного доступа, которые обеспечивают высокую производительность.
- UniFi Talk: это полноценное решение для VoIP-телефонии на основе подписки, которое предпочитают малые и средние организации.
- UniFi Protect: это готовое к использованию решение для обеспечения безопасности камер, используемое для наблюдения с настраиваемой логикой обнаружения.
- UniFi IDentity (UID): это простой инструмент администрирования, который позволяет управлять ролями сотрудников, сетевыми разрешениями, доступом к дверям, рабочими процессами, иерархией отчетов, поддержкой обработки заявок и т. д.
- UniFi Access: это современная система контроля доступа с электрическими засовами/защелками, магнитными замками и напряжением 12 В (1 А) с несколькими датчиками. Его можно использовать для управления посетителями, расписаниями и политиками доступа.
UniFi® Controller — это программное решение для управления беспроводной сетью, разработанное Ubiquiti Networks™. Он позволяет управлять несколькими беспроводными сетями через веб-интерфейс. Этот инструмент идеально подходит для развертываний с высокой плотностью размещения, требующих низкой задержки и высокого времени безотказной работы.
Контроллер UniFi® можно установить в Linux, Mac OS X или Microsoft Windows 7/8, загрузив программное обеспечение UniFi Controller с веб-сайта Ubiquiti Networks. Но этот процесс требует установки нескольких зависимостей, таких как среда выполнения Java и т. д.
В этом руководстве мы узнаем, как запустить UniFi Controller в Docker-контейнере. Этот метод предпочтителен, поскольку контейнер поставляется со всеми пакетами зависимостей и позволяет легко запускать контроллер UniFi.
Другие способы установки:
- Установите UniFi Controller в Ubuntu/Debian
- Как установить сетевое приложение UniFi на macOS
Шаг 1. Установите Docker в Linux
Прежде чем мы начнем, вам необходимо установить Docker Engine в вашей системе. Для этого можно использовать приведенное ниже руководство:
- Как установить Docker CE в системах Linux
После установки убедитесь, что служба Docker запущена и работает;
sudo systemctl start docker && sudo systemctl enable docker
Добавьте вашего системного пользователя в группу Docker;
sudo usermod -aG docker $USER
newgrp docker
Шаг 2 – Настройка постоянных томов
Постоянные тома используются для хранения данных контейнера, чтобы они не терялись при перезагрузке. В этом руководстве мы создадим путь для хранения данных в /unifi_data/config.
sudo mkdir -p /unifi_data/config
Установите правильные разрешения:
sudo chmod 775 -R /unifi_data/config
Чтобы путь был доступен, нам необходимо настроить SELinux в системах на базе RHEL, как показано:
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Шаг 3. Запустите UniFi Controller в Docker-контейнере.
После установки движка Docker вы можете легко запустить контроллер UniFi из командной строки Docker.
Команда имеет несколько параметров, в том числе:
-p для нескольких портов. Эти порты используются для различных сервисов:
- 8443 – порт веб-администратора Unifi.
- 3478/udp – порт Unifi STUN
- 10001/udp – требуется для обнаружения точек доступа.
- 8843 – порт перенаправления HTTPS гостевого портала Unifi.
- 8880 – порт перенаправления HTTP гостевого портала Unifi.
- 8080 – требуется для связи с устройством.
- 1900/udp – требуется, чтобы сделать контроллер доступным для обнаружения в сети L2.
- 6789 – для проверки пропускной способности мобильных устройств.
- 5514/udp – порт удаленного системного журнала.
-e для переменных среды, таких как:
default
Теперь вы можете запустить контейнер UniFi Controller со всеми параметрами, определенными, как показано:
docker run -d \
--name=unifi-controller \
-e PUID=1000 \
-e PGID=1000 \
-e MEM_LIMIT=1024 `#optional` \
-e MEM_STARTUP=1024 `#optional` \
-p 8443:8443 \
-p 3478:3478/udp \
-p 10001:10001/udp \
-p 8080:8080 \
-p 1900:1900/udp `#optional` \
-p 8843:8843 `#optional` \
-p 8880:8880 `#optional` \
-p 6789:6789 `#optional` \
-p 5514:5514/udp `#optional` \
-v /unifi_data/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/unifi-controller:latest
Шаг 4. Запустите UniFi Controller с помощью Docker Compose (рекомендуется)
Вы также можете запустить UniFi Controller с помощью Docker Compose. Сначала убедитесь, что Docker Compose установлен в вашей системе.
- Как установить Docker Compose в Linux
После установки создайте файл docker-compose со всеми определенными параметрами:
vim docker-compose.yml
Файл будет содержать следующие строки:
---
version: "2.1"
services:
unifi-controller:
image: lscr.io/linuxserver/unifi-controller:latest
container_name: unifi-controller
environment:
- PUID=1000
- PGID=1000
- MEM_LIMIT=1024 #optional
- MEM_STARTUP=1024 #optional
volumes:
- /unifi_data/config:/config
ports:
- 8443:8443
- 3478:3478/udp
- 10001:10001/udp
- 8080:8080
- 1900:1900/udp #optional
- 8843:8843 #optional
- 8880:8880 #optional
- 6789:6789 #optional
- 5514:5514/udp #optional
restart: unless-stopped
Сохраните файл и запустите контейнер командой:
docker-compose up -d
Изображение будет извлечено, и контейнер запустится, как показано:
[+] Running 8/8
⠿ unifi-controller Pulled 16.2s
⠿ 7fe4e822761f Pull complete 4.2s
⠿ 5231b3c13f88 Pull complete 4.5s
⠿ ebfffaf4df3c Pull complete 7.4s
⠿ f302152db91c Pull complete 7.6s
⠿ 56b6cfbc09d3 Pull complete 14.4s
⠿ 05d9d46415f7 Pull complete 14.6s
⠿ 422e0f275a69 Pull complete 14.8s
[+] Running 2/2
⠿ Network ubuntu_default Created 0.2s
⠿ Container unifi-controller Started 1.5s
Теперь, каким бы способом вы ни подали в суд на запуск контроллера UniFi, проверьте, работает ли контейнер:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c77f3c6e506c lscr.io/linuxserver/unifi-controller:latest "/init" 18 seconds ago Up 17 seconds 0.0.0.0:1900->1900/udp, :::1900->1900/udp, 0.0.0.0:3478->3478/udp, :::3478->3478/udp, 0.0.0.0:6789->6789/tcp, :::6789->6789/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp, 0.0.0.0:8843->8843/tcp, :::8843->8843/tcp, 0.0.0.0:5514->5514/udp, :::5514->5514/udp, 0.0.0.0:10001->10001/udp, :::10001->10001/udp, 0.0.0.0:8880->8880/tcp, :::8880->8880/tcp unifi-controller
Шаг 5 – Доступ к веб-интерфейсу контроллера UniFi
Теперь войдите в веб-интерфейс UniFi Controller, используя URL-адрес https://IP_Address:8443.
Задайте имя приложения и перейдите к входу, используя свою учетную запись Ubiquiti.
Настройте сеть.
Устройства недоступны, поскольку приложение работает в Docker-контейнере. Так что пропустите и настройте это позже.
Это тоже можно пропустить и установить позже.
Просмотрите конфигурации.
Конфигурации будут выполнены, как показано.
После завершения вы увидите панель управления ниже.
Теперь, чтобы UniFi Controller мог использовать ваши устройства, такие как точки доступа, вам необходимо изменить информационный IP-адрес. Это можно сделать, перейдя в Настройки > Настройки системы > Другие конфигурации.
Включите сетевое обнаружение и установите флажок Переопределить информационный хост. Также укажите свой IP-адрес или имя хоста, на котором работает контейнер, как показано.
После внесения изменений примените их. Теперь адаптируйте устройства вручную с помощью команды:
ssh ubnt@$device-IP
set-inform http://$address:8080/inform
В приведенных выше командах замените:
- $device-IP с адресом вашего устройства, которое будет принято
- $address с IP-адресом вашего хоста, на котором работает контейнер UniFi Controller.
Пароль по умолчанию для пользователя ubnt — ubnt
.
Заключительные мысли
На этом заканчивается руководство о том, как запустить UniFi Controller в Docker-контейнере. Теперь вы можете управлять своими беспроводными сетями из веб-интерфейса UniFi Controller. Мы надеемся, что эта статья была для вас значимой, и благодарим вас за посещение нашего сайта.
Узнать больше:
Подключитесь к сети WPA/WPA WIFI в Linux с терминала
Настройка объединения сетевых сетевых карт в Rocky Linux 8 | AlmaLinux 8
Установите и используйте NetworkManager (NMCLI) в Ubuntu/Debian