Обзор развертывания Owncast на сервере¶
Предварительные требования и основные условия¶
Для развертывания Owncast необходим сервер, работающий под управлением операционной системы на базе Ubuntu. Процесс установки использует менеджер пакетов apt и требует прав суперпользователя (root) для настройки системных служб и межсетевых экранов (firewall). В качестве зависимостей устанавливаются следующие программные пакеты:
-
unzip -
ffmpeg
Приложение слушает определенные порты для внутренней и внешней коммуникации, которые должны быть открыты в межсетевом экране сервера.
Конечная точка доступа¶
Приложение доступно через домен hostkey.in. Полное доменное имя (Fully Qualified Domain Name, FQDN) имеет следующий формат: owncast<Server ID>.hostkey.in:443
Замените <Server ID> на уникальный идентификатор, присвоенный конкретному экземпляру.
Процесс установки приложения¶
Owncast устанавливается с помощью официального скрипта установки, предоставленного разработчиками. Скрипт выполняется через команду curl, которая загружает установщик и передает его напрямую в оболочку bash.
Команда установки:
Этот скрипт размещает бинарный файл Owncast и файлы конфигурации по умолчанию в каталоге /root/owncast.
Управление службой приложения¶
Owncast управляется как системная служба с использованием systemd. Файл службы находится по пути /etc/systemd/system/owncast.service и настроен следующим образом:
-
Запуск от имени пользователя
root. -
Автоматический запуск при включении системы.
-
Автоматический перезапуск в случае сбоя процесса.
-
Запуск бинарного файла, расположенного по адресу
/root/owncast/owncast.
Docker-контейнеры и их развертывание¶
Для управления обратным прокси (reverse proxy) и генерации SSL-сертификатов используется отдельная конфигурация Docker Compose. Это развертывание состоит из следующего контейнера:
-
Образ:
jonasal/nginx-certbot:latest -
Имя службы:
nginx -
Политика перезапуска:
unless-stopped -
Режим сети:
host
Файл конфигурации Docker Compose хранится по адресу:
Тома Docker и окружение¶
Контейнер прокси использует следующие тома:
-
nginx_secrets(Внешний том, отображенный на/etc/letsencrypt) -
Каталог хоста
/data/nginx/user_conf.d, отображенный на путь контейнера/etc/nginx/user_conf.d
Переменные окружения загружаются из файла /data/nginx/nginx-certbot.env, а адрес электронной почты для сертификата установлен как hkadm@hostkey.com.
Прокси-серверы¶
Nginx, работающий внутри Docker-контейнера, выступает в качестве обратного прокси для Owncast. Он обрабатывает завершение SSL-соединения (SSL termination) и перенаправляет трафик на приложение Owncast.
-
Провайдер SSL: Certbot (встроен в образ
nginx-certbot) -
Конфигурация прокси: Файл пользовательской конфигурации Nginx для конкретного домена находится по адресу:
-
Перенаправление на бэкенд: Трафик, полученный на внешнем порте, перенаправляется на внутренний экземпляр Owncast с использованием правила:
Структура файлов и каталогов¶
В процессе развертывания на хост-сервере создается следующая структура каталогов:
-
Бинарный файл приложения и данные:
/root/owncast -
Конфигурация Compose Nginx:
/root/nginx/compose.yml -
Пользовательская конфигурация Nginx:
/data/nginx/user_conf.d/ -
SSL-сертификаты: Хранятся внутри Docker-тома
nginx_secrets -
Файл системной службы:
/etc/systemd/system/owncast.service
Доступные порты для подключения¶
Система использует следующие конфигурации портов для внутреннего и внешнего трафика:
| Направление | Порт | Протокол | Описание |
|---|---|---|---|
| Внутренний | 8080 | HTTP | Локальная служба Owncast |
| Внешний | 443 | HTTPS | Общедоступный доступ через Nginx-прокси |
Запуск, остановка и обновление¶
Служба Owncast¶
Приложение Owncast управляется стандартными командами systemctl:
-
Запуск службы:
-
Остановка службы:
-
Включение автоматического запуска при загрузке системы:
-
Перезапуск службы:
Стек прокси-контейнеров Docker¶
Контейнеры Nginx и Certbot управляются через docker compose в каталоге /root/nginx:
-
Запуск или перезапуск стека прокси:
-
Остановка стека прокси:
-
Просмотр логов: