Развертывание 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 и зависимостей.
-
Обновите кэш пакетов системы с помощью
apt. -
Создайте директорию приложения в
/var/azuracast. -
Загрузите скрипт установки из официального репозитория GitHub:
https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/docker.sh -
Поместите скрипт в
/var/azuracast/docker.shи установите права на выполнение. -
Выполните команду настройки релиза для переключения скрипта на ветку стабильного релиза:
-
Запустите мастер установки:
Скрипт автоматизирует загрузку образов 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, предоставленный в директории установки.
-
Запуск сервисов:
-
Остановка сервисов:
-
Перезапуск сервисов:
-
Обновление до последней версии:
Эти команды взаимодействуют с движком Docker для управления состоянием контейнеров AzuraCast.