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

Обзор развертывания 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.

Команда установки:

curl -s https://owncast.online/install.sh | 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 хранится по адресу:

/root/nginx/compose.yml

Тома 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 для конкретного домена находится по адресу:

    /data/nginx/user_conf.d/owncast<Server ID>.hostkey.in.conf
    

  • Перенаправление на бэкенд: Трафик, полученный на внешнем порте, перенаправляется на внутренний экземпляр Owncast с использованием правила:

    proxy_pass http://127.0.0.1:8080;
    

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

В процессе развертывания на хост-сервере создается следующая структура каталогов:

  • Бинарный файл приложения и данные: /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:

  • Запуск службы:

    systemctl start owncast
    

  • Остановка службы:

    systemctl stop owncast
    

  • Включение автоматического запуска при загрузке системы:

    systemctl enable owncast
    

  • Перезапуск службы:

    systemctl restart owncast
    

Стек прокси-контейнеров Docker

Контейнеры Nginx и Certbot управляются через docker compose в каталоге /root/nginx:

  • Запуск или перезапуск стека прокси:

    docker compose up -d
    

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

    docker compose down
    

  • Просмотр логов:

    docker compose logs
    

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