Перейти к содержанию

Развертывание AzuraCast на сервере

Предварительные требования и базовые условия

Для развертывания AzuraCast на вашем сервере убедитесь в выполнении следующих условий:

  • Операционная система: Ubuntu (версия, совместимая с управлением пакетами через apt).

  • Права доступа: Доступ с правами root или учетная запись с правами sudo для установки системных пакетов и управления системными директориями.

  • Настройка домена: Валидное доменное имя или поддомен, указывающий на IP-адрес сервера. Развертывание использует зону hostkey.in.

  • Порты: Убедитесь, что на межсетевом экране сервера открыты необходимые порты для сети Docker и веб-интерфейса AzuraCast.

Полное доменное имя (FQDN) конечной панели

Полное доменное имя (FQDN) для доступа к панели управления AzuraCast формируется с использованием предоставленных переменных зоны и префикса.

  • Базовый домен: hostkey.in

  • Префикс: azuracast

  • Формат: azuracast<Server ID>.hostkey.in

Примечание: Заполнитель <Server ID> представляет уникальный идентификатор сервера и должен быть заменен на фактический ID, назначенный во время подготовки. Конфигурация портов по умолчанию соответствует стандартным HTTP/HTTPS, если она явно не изменена.

Структура файлов и директорий

Файлы приложения, скрипты установки и постоянные данные организованы в отдельной директории на хост-системе.

  • Корневая директория: /var/azuracast

  • Скрипт установки: /var/azuracast/docker.sh

  • Хранилище данных: Docker-томы, создаваемые скриптом установки, управляют внутренним хранилищем для медиафайлов, баз данных и файлов конфигурации. Обычно они находятся в /var/lib/docker/volumes или в пользовательском пути, определенном в конфигурации Docker.

Процесс установки приложения

Процесс развертывания использует официальный скрипт установки AzuraCast для автоматизации настройки контейнеров Docker и зависимостей.

  1. Обновите кэш пакетов системы с помощью apt.

  2. Создайте директорию приложения в /var/azuracast.

  3. Загрузите скрипт установки из официального репозитория GitHub: https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/docker.sh

  4. Поместите скрипт в /var/azuracast/docker.sh и установите права на выполнение.

  5. Выполните команду настройки релиза для переключения скрипта на ветку стабильного релиза:

    ./docker.sh setup-release
    

  6. Запустите мастер установки:

    ./docker.sh install
    
    Скрипт автоматизирует загрузку образов Docker, создание томов и инициализацию стека AzuraCast.

Контейнеры Docker и их развертывание

AzuraCast работает как набор контейнеров Docker, управляемый скриптом установки. Скрипт обрабатывает создание сети Docker, определения томов и оркестрацию контейнеров.

  • Скрипт docker.sh управляет жизненным циклом контейнеров приложения.

  • Контейнеры развертываются с использованием docker-compose или прямых команд docker run, генерируемых внутренне скриптом.

  • Развертывание включает сервисы для веб-интерфейса, базы данных (MariaDB/PostgreSQL), аудио-стриминга и механизмов кэширования.

  • Скрипт гарантирует создание и использование пользователя azuracast для запуска сервисов там, где это уместно.

Прокси-серверы и конфигурация SSL

Скрипт установки AzuraCast настраивает веб-сервер (Nginx) и SSL-сертификаты как часть стандартного потока установки.

  • Скрипт обрабатывает конфигурацию Nginx в качестве обратного прокси.

  • Сертификаты SSL/TLS управляются автоматически. Если домен предоставлен во время установки, скрипт пытается получить и продлить сертификаты через Let's Encrypt, используя Certbot.

  • Настройки кастомных доменов обрабатываются через интерактивные подсказки, предоставляемые командой install.

Права доступа и безопасность

Контроль безопасности реализован через права доступа к файлам и управление пользователями на этапе настройки.

  • Директория установки /var/azuracast установлена с правами 0755.

  • Скрипт docker.sh установлен с правами 0755 для разрешения выполнения.

  • Контейнеры Docker работают в изолированных средах с ограниченным доступом к хосту.

  • Доступ к веб-интерфейсу AzuraCast ограничен авторизованными пользователями через систему аутентификации веб-приложения.

  • Система полагается на межсетевой экран хоста для ограничения доступа к определенным портам.

Базы данных

Компонент базы данных размещен внутри контейнера Docker как часть стека AzuraCast.

  • Сервер базы данных управляется внутренне конфигурацией Docker.

  • Сохранение данных обеспечивается Docker-томами, что гарантирует хранение файлов базы данных отдельно от образа контейнера.

  • Параметры соединения конфигурируются автоматически в процессе установки.

Доступные порты для подключения

Развертывание AzuraCast использует несколько портов для различных сервисов. Хотя конкретное картирование портов может варьироваться в зависимости от выбранных параметров интерактивной установки, стандартная конфигурация включает:

  • Порт 80: HTTP-трафик для веб-интерфейса и валидации Let's Encrypt.

  • Порт 443: HTTPS-трафик для безопасного веб-доступа.

  • Порты стриминга: Дополнительные порты открываются динамически для Icecast, Shoutcast или других протоколов стриминга, требуемых настроенными станциями.

  • Управление Docker: Демон Docker доступен для локальных команд управления.

Запуск, остановка и обновление

Управление сервисами осуществляется через скрипт docker.sh, предоставленный в директории установки.

  • Запуск сервисов:

    /var/azuracast/docker.sh start
    

  • Остановка сервисов:

    /var/azuracast/docker.sh stop
    

  • Перезапуск сервисов:

    /var/azuracast/docker.sh restart
    

  • Обновление до последней версии:

    /var/azuracast/docker.sh update
    

Эти команды взаимодействуют с движком Docker для управления состоянием контейнеров AzuraCast.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×