Поиск по сайту:

Как запустить контроллер 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 для переменных среды, таких как:

    • PUID и PGID, которые определяют разрешения пользователя и группы, чтобы избежать ошибок, возникающих между ОС хоста и контейнером. из-за постоянных томов/путей
    • MEM_LIMIT и MEM_STARTUP используются для настройки памяти Java, которую вы можете установить по умолчанию, используя значение default
  • -v определяет том для хранения данных контейнера.

Теперь вы можете запустить контейнер 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.

Пароль по умолчанию для пользователя ubntubnt.

Заключительные мысли

На этом заканчивается руководство о том, как запустить UniFi Controller в Docker-контейнере. Теперь вы можете управлять своими беспроводными сетями из веб-интерфейса UniFi Controller. Мы надеемся, что эта статья была для вас значимой, и благодарим вас за посещение нашего сайта.

Узнать больше:

Подключитесь к сети WPA/WPA WIFI в Linux с терминала

Настройка объединения сетевых сетевых карт в Rocky Linux 8 | AlmaLinux 8

Установите и используйте NetworkManager (NMCLI) в Ubuntu/Debian

Статьи по данной тематике: