Все для домашнего медиа - Отзывы | Советы по покупке | Дизайн | Новости технологий

Как установить контроллер UniFi на Docker с обратным прокси (Traefik)?

4 179

В этом руководстве я покажу вам, как установить контроллер UniFi на Docker с обратным прокси-сервером Traefik. Устройства UniFi требуют программного обеспечения контроллера, которое является еще одной вещью, которую нужно перемещать и восстанавливать при переключении серверов / систем. В Docker все, что вам нужно сделать, это настроить систему хоста и запустить Docker, чтобы создать все ваши приложения с их настройками, которые могут быть запущены за несколько минут. Это руководство по Docker контроллера UniFi показывает, как легко это сделать с помощью Docker. Мало того, мы также разместим программное обеспечение контроллера за обратным прокси-сервером Traefik с автоматическими SSL-сертификатами LetsEncrypt.

Основы UniFi

Я не эксперт по UniFi или сетям, но вот некоторые основы для новичков. Типичный домашний интернет-маршрутизатор включает в себя 3 разных устройства: интернет-шлюз, коммутатор и беспроводную точку доступа. Большинство устройств корпоративного класса не работают таким образом. Они разделили их на отдельные единицы. Это позволяет улучшить контроль и масштабируемость. Например, вы можете продолжать добавлять точки беспроводного доступа вместо нового маршрутизатора, чтобы расширить сеть Wifi в новых областях. Есть еще несколько преимуществ, но их рассмотрение выходит за рамки этого поста.

Многие сетевые устройства UniFi настоятельно рекомендуются многими «Prosumers» даже для домашнего использования. Вот пример схемы, которая показывает типичный сценарий установки с UniFi. Обратите внимание, что вы можете добавить столько проводных точек доступа, сколько необходимо.

Как установить контроллер UniFi на Docker с обратным прокси (Traefik)?

Пример настройки UniFi

Вы также можете добавить точки доступа по беспроводной сети (если вы не можете использовать кабели Ethernet), которые создают сеть «Mesh». Проводные точки доступа всегда предпочтительнее «ячеистых» сетей из-за надежности и скорости. Поэтому я предпочитаю настройку UniFi над продуктами Mesh, такими как Google Wifi, Eero, Orbi и т.д. Я настоятельно рекомендую это вводное видео, описывающее продукты UniFi.

Некоторые могут считать настройку UniFi излишним для домашнего использования. Я был одним из них. С развитием умной домашней электроники я осознал необходимость большего контроля моей домашней сети с точки зрения конфиденциальности и безопасности. Например, размещение устройств «умный дом», которые звонят домой, в отдельную VLAN изолирует его от других устройств в сети, обеспечивая уровень безопасности. Кроме того, они не смогут прослушивать присутствие других устройств в вашей сети. Моя текущая настройка UniFi включает в себя:

  1. UniFi Security Gateway (USG)
  2. UniFi US-16-150W Switch
  3. Унифи AP AC Pro – 2 из них

Точки доступа UniFi могут получать питание через Ethernet (PoE). Это означает, что если у вас есть кабель CAT 6, соединяющий вашу точку доступа с коммутатором с поддержкой PoE, то вам не нужен дополнительный источник питания, где расположена точка доступа. Теперь давайте посмотрим, как установить программное обеспечение Unifi Controller на Docker и управлять своей сетью UniFi.

Программное обеспечение UniFi Controller

Устройства UniFi требуют программного обеспечения UniFi Controller для управления ими и сетью. Существует несколько способов запуска этого программного обеспечения: Windows, Mac, Ubuntu / Linux. Кроме того, вы можете приобрести облачный ключ UniFi, в который встроено программное обеспечение контроллера и который подключается непосредственно к коммутатору UniFi.

Я впервые начал с запуска программного обеспечения контроллера UniFi в Windows. Это был кошмар, и он начал чувствовать угрызения совести какого-то покупателя. Затем я установил программное обеспечение контроллера на свой домашний сервер Ubuntu. Вуаля! Это было намного более стабильно и прекрасно работало. Вот как я использовал это некоторое время. Когда вышла Ubuntu 18.04, я перешел на Home Media Server на базе Docker. Я даже добавил обратный прокси-сервер Traefik впереди для обеспечения конфиденциальности, удобства, безопасности и поддержки SSL. Я решил расширить эту настройку и решил запустить образ LinuxServer UniFi Controller на моем Docker. Это была борьба, чтобы выяснить часть обратного прокси Traefik. Но сейчас все работает отлично.

Как установить контроллер UniFi на Docker с обратным прокси (Traefik)?

Панель управления контроллера UniFi

Я знаю, что многие из вас ищут руководство по внедрению хорошего решения обратного прокси для программного обеспечения UniFi Controller. Надеемся, что это руководство по обратному прокси UniFi Docker с использованием Traefik будет полезным. Итак, начнем.

Рекомендуемые руководства:

Установите контроллер UniFi на Docker

Шаг 1: Предпосылки

Во-первых, убедитесь, что у вас есть настройки Ubuntu Server с Docker. Затем убедитесь, что обратный прокси-сервер Traefik реализован правильно, а веб-интерфейс мониторинга Traefik активен. Далее, эти два руководства абсолютно необходимы перед тем, как приступить к использованию этого руководства по док-станции контроллера UniFi.

В этом руководстве мы собираемся поместить контроллер UniFi в отдельный поддомен: unifi.example.com. Порты 3478, 10001, 8080, 8081, 8443, 8880 и 6789 должны быть свободны на сервере Ubuntu хоста. Вам также понадобится доменное имя или имя DDNS, как описано в моем руководстве по Traefik. Теперь давайте продолжим и установим UniFi Controller на Docker с поддержкой обратного прокси-сервера от Traefik.

Все это очень легко выполняется с помощью Docker Compose, на котором построен мой медиасервер Docker. Я предполагаю, что вы уже создали внешнюю сеть под названием traefik_proxy. Если нет, пожалуйста, следуйте моему учебнику Traefik и возвращайтесь сюда. Кроме того, я предполагаю, что у вас уже есть файл создания докера, и что он имеет сети, определенные следующим образом:

networks: traefik_proxy: external: name: traefik_proxy default: driver: bridge

Это должно быть у вас, если вы выполнили все требования, перечисленные ранее.

Шаг 2: Настройте контроллер UniFi с помощью Docker Compose

Чтобы прокси-контроллер UniFi стоял за Traefik, вот код, который нужно добавить (copy-paste) в файл docker-compose (обратите внимание на пробелы в начале каждой строки):

unifi: hostname: unifi image: linuxserver/unifi:latest restart: always container_name: "unifi" volumes: - ${USERDIR}/docker/unifi:/config - ${USERDIR}/docker/shared:/shared ports: - target: 3478 published: 3478 protocol: udp mode: host - target: 10001 published: 10001 protocol: udp mode: host - target: 8080 published: 8080 protocol: tcp mode: host - target: 8081 published: 8081 protocol: tcp mode: host - target: 8443 published: XXXX protocol: tcp mode: host - target: 8880 published: 8880 protocol: tcp mode: host - target: 6789 published: 6789 protocol: tcp mode: host networks: - traefik_proxy environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.tags=frontend" - "traefik.frontend.passHostHeader=true" - "traefik.admin.backend=unifi" - "traefik.admin.frontend.rule=Host:unifi.${DOMAINNAME}" - "traefik.admin.port=8443" - "traefik.admin.protocol=https" - "traefik.frontend.headers.SSLRedirect=true" - "traefik.frontend.headers.STSSeconds=315360000" - "traefik.frontend.headers.browserXSSFilter=true" - "traefik.frontend.headers.contentTypeNosniff=true" - "traefik.frontend.headers.forceSTSHeader=true" - "traefik.frontend.headers.SSLHost=example.com" - "traefik.frontend.headers.STSIncludeSubdomains=true" - "traefik.frontend.headers.STSPreload=true" - "traefik.frontend.headers.frameDeny=true"

Заменить / Настроить:

  1. XXXX– Это порт, по которому ваш контроллер UniFi будет доступен при использовании веб-браузера. Это может быть тот же порт, что и контейнер: 8443 (должен быть свободен). Этот параметр не является обязательным. Просмотрите другие ключевые моменты, перечисленные здесь.
  2. Если вы не хотите использовать обратный прокси-сервер Traefik, вы можете удалить блок «сети» и блок «метки» или просто установить для traefik.enableметки значение false.
  3. USERDIR, DOMAINNAME, PUID, PGID, И TZэкологические переменные, которые установлены, как описано в моем Traefik руководстве
  4. ${USERDIR}/docker/unifi расположение данных программного обеспечения контроллера UniFi
  5. {USERDIR}/docker/sharedнеобязательно. Здесь я храню некоторые файлы, общие для нескольких контейнеров.

Сохраните docker-compose.ymlи выйдите.

Шаг 3: Дополнительные шаги по настройке Traefik

Для работы обратного прокси-сервера Unifi Docker пришлось внести еще одно изменение. Мне пришлось добавить следующую строку в мой traefik.toml:

InsecureSkipVerify = true

Это объясняется в моем уроке Traefik, связанном ранее.

Шаг 4: Запустите Docker, создайте и проверьте

Затем запустите ваш файл docker compose и проверьте журналы на наличие ошибок:

docker-compose -f ${USERDIR}/docker/docker-compose.yml up -d ; docker-compose logs -tf --tail="50" unifi

Если вы не видите сообщений об ошибках, нажмите Ctrl C для выхода. UniFi WebUI должен быть доступен по адресу https://unifi.example.com.

Рекомендуемые руководства:

Импорт предыдущих настроек и устранение неполадок

Мне удалось успешно импортировать мои предыдущие настройки. Тем не менее, мои точки доступа вошли в «цикл принятия». Другими словами, они никогда не заканчивали принятие. Вот что я должен был сделать, чтобы исправить цикл усыновления.

Мне нужно было в настройках UniFI -> Controller, включить Override информировать хост с помощью имени хоста / IP контроллера и предоставить IP-адрес локальной сети хост-системы, на которой запущен контроллер UniFi в Docker, как показано на скриншоте ниже.

Как установить контроллер UniFi на Docker с обратным прокси (Traefik)?

Переопределить Inform Hostname / IP

Я воссоздал док-контейнер UniFi и вернулся в бизнес. Мой полный файл композиции Docker для UniFi Controller доступен на моей странице GitHub.

Руководство по докеру контроллера UniFi – Заключительные замечания

Установка и запуск Unifi Controller с помощью Docker значительно упрощает процесс настройки программного обеспечения контроллера UniFi. Чтобы повысить безопасность, вы можете добавить дополнительный уровень аутентификации HTTP, используя traefik.frontend.auth.basicметку Traefik. Моя установка работает без проблем в течение 3 месяцев. А процесс обновления Docker контроллера UniFi происходит автоматически, если вы настраиваете Сторожевую башню, как описано в моем руководстве по обратному прокси-серверу Traefik для Docker. Я постепенно становлюсь большим поклонником продуктов UniFi. Получить и запустить программное обеспечение контроллера UniFi было непросто, но с Docker это стало легкой прогулкой. Итак, продолжайте, установите контроллер UniFi на Docker и проверьте его.

Источник записи: https://www.smarthomebeginner.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее