bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward

Owncast на VPS: встановлення, налаштування та обслуговування

calendar_month June 16, 2026 schedule 20 хв. читання visibility 36 переглядів
person
Valebyte Team
Owncast на VPS: встановлення, налаштування та обслуговування

Owncast на VPS – це рішення для організації власного сервера потокового мовлення, яке дозволяє вам повністю контролювати трансляції, аудиторію та контент, забезпечуючи незалежну альтернативу централізованим платформам.

В епоху домінування великих платформ потокового мовлення, таких як Twitch і YouTube, багато творців контенту та спільнот шукають альтернативи, що пропонують більше свободи, приватності та контролю. Owncast – це потужне, відкрите та самохостингове (self-hosted) рішення для live-стримінгу, яке дозволяє будь-кому запустити свій власний сервер мовлення. Розміщуючи Owncast на віртуальному приватному сервері (VPS), ви отримуєте повний контроль над своєю трансляцією, від вибору кодеків до управління спільнотою та інтеграції з іншими сервісами.

Ця стаття присвячена детальному посібнику з встановлення Owncast на VPS, його налаштування, оптимізації та обслуговування. Ми розглянемо всі етапи, починаючи від вибору відповідного сервера і закінчуючи резервним копіюванням та оновленням, щоб ви могли впевнено розгорнути свою власну платформу для потокового мовлення.

Що таке Owncast і чому варто вибрати Owncast на VPS?

Owncast – це безкоштовне та відкрите програмне забезпечення, призначене для створення вашого власного сервера потокового мовлення в реальному часі. На відміну від популярних комерційних сервісів, Owncast надає повний контроль над вашим контентом, даними користувачів та спільнотою. Ви можете транслювати відео та аудіо, спілкуватися з аудиторією через вбудований чат, а також інтегрувати його з іншими сервісами, такими як Mastodon або ActivityPub, для створення децентралізованої мережі.

Вибір Owncast на VPS обумовлений кількома ключовими перевагами, які роблять його привабливим для розробників, незалежних мовників та спільнот.

Переваги Owncast self-hosted

  • Повний контроль: Коли ви використовуєте Owncast self-hosted, ви є єдиним власником даних. Це означає відсутність цензури, обмежень на контент (в рамках законодавства вашої юрисдикції) та можливість повної кастомізації під ваші потреби. Ви визначаєте правила для своєї спільноти.
  • Конфіденційність: Ваші дані та дані вашої аудиторії не передаються стороннім компаніям для аналізу чи монетизації. Це особливо важливо для тих, хто цінує приватність і не хоче, щоб їхній контент використовувався для таргетованої реклами.
  • Гнучкість та масштабованість: Розміщуючи Owncast на сервері, ви можете масштабувати ресурси відповідно до зростання вашої аудиторії. На VPS легко збільшити обсяг оперативної пам'яті, кількість ядер процесора або дисковий простір, щоб забезпечити стабільну роботу навіть при високому навантаженні.
  • Відсутність абонентської плати та комісій: На відміну від комерційних платформ, які можуть стягувати відсоток з ваших доходів або вимагати підписку за розширені функції, Owncast безкоштовний. Ваші витрати обмежуються лише вартістю оренди VPS та мережевого трафіку.
  • Інтеграція: Owncast легко інтегрується з іншими відкритими сервісами та додатками, що дозволяє створювати унікальні екосистеми для вашого контенту та спільноти.

Порівняння з централізованими платформами

Щоб краще зрозуміти цінність Owncast, розглянемо його в порівнянні з популярними централізованими платформами:

Характеристика Owncast (на VPS) Централізовані платформи (Twitch, YouTube Live)
Контроль над контентом Повний (ви самі встановлюєте правила) Обмежений (платформа диктує правила, можлива цензура, блокування)
Конфіденційність даних Повна (дані залишаються на вашому сервері) Обмежена (дані збираються та аналізуються платформою)
Монетизація Повний контроль (будь-які способи без комісій) Обмежена (комісії платформи, суворі правила)
Кастомізація Висока (від зовнішнього вигляду до функціоналу) Низька (обмежена можливостями платформи)
Масштабованість Залежить від VPS (легко наростити ресурси) Автоматична (але без контролю над інфраструктурою)
Технічна складність Вимагає навичок адміністрування сервера Низька (готове рішення "з коробки")
Вартість Оренда VPS (від $5-10/міс) Безкоштовно для користувача, але непрямі "платежі" даними та комісіями

Вибираючи Owncast на VPS, ви робите ставку на незалежність та свободу, що може бути критично важливим для певних проєктів та спільнот. Якщо вас цікавлять й інші децентралізовані відеоплатформи, рекомендуємо ознайомитися з нашою статтею про PeerTube на VPS: встановлення, налаштування та обслуговування.

Системні вимоги для Owncast на сервері: що потрібно знати?

Успішне встановлення Owncast на сервері та його стабільна робота безпосередньо залежать від адекватного підбору системних ресурсів. Owncast досить ефективний, але потокове мовлення саме по собі є ресурсоємним завданням, особливо коли йдеться про транскодування відео в реальному часі та обслуговування великої кількості глядачів. Нижче наведені рекомендації щодо мінімальних та рекомендованих конфігурацій.

Мінімальні вимоги для встановлення Owncast

Ці вимоги підходять для тестових середовищ, невеликих особистих трансляцій або стримів з дуже обмеженою кількістю глядачів (до 5-10 осіб) та низьким бітрейтом (до 720p, 2 Мбіт/с).

  • Операційна система: Ubuntu 20.04+, Debian 11+, CentOS 7+ або будь-яка інша сучасна Linux-система з підтримкою Docker.
  • Процесор (CPU): 2 vCPU з тактовою частотою від 2.0 GHz. Owncast інтенсивно використовує CPU для транскодування.
  • Оперативна пам'ять (RAM): 2 GB. Цього достатньо для роботи самого Owncast та базових системних процесів. При активному чаті або великій кількості одночасних підключень може знадобитися більше.
  • Дисковий простір: 20 GB NVMe SSD. NVMe-диски значно швидші за стандартні SSD або HDD, що важливо для швидкого запису та читання потокових даних і кешу.
  • Пропускна здатність мережі: 50-100 Мбіт/с симетричний канал. Важливо мати достатню швидкість як для вхідного потоку від стримера, так і для вихідного до глядачів.
  • Додатково: Встановлений Docker та Docker Compose.

Рекомендовані конфігурації для різних навантажень

Для стабільної роботи Owncast зі зростаючою аудиторією та вищою якістю потоку, рекомендується вибирати більш потужні конфігурації:

  • Мала аудиторія (10-30 глядачів, 720p-1080p, 3-5 Мбіт/с):
    • CPU: 4 vCPU, 2.5 GHz+
    • RAM: 4-8 GB
    • Диск: 50-100 GB NVMe SSD (більше, якщо плануєте зберігати VOD)
    • Мережа: 100-200 Мбіт/с
  • Середня аудиторія (30-100 глядачів, 1080p, 5-8 Мбіт/с):
    • CPU: 6-8 vCPU, 2.8 GHz+
    • RAM: 8-16 GB
    • Диск: 100-200 GB NVMe SSD
    • Мережа: 200-500 Мбіт/с
  • Велика аудиторія (100+ глядачів, 1080p+, 8-12 Мбіт/с):
    • CPU: 8+ vCPU, 3.0 GHz+ (можливо, виділений сервер)
    • RAM: 16-32 GB
    • Диск: 200+ GB NVMe SSD (з можливістю розширення)
    • Мережа: 500 Мбіт/с - 1 Гбіт/с

Важливі зауваження:

  • Транскодування: Якщо ви плануєте приймати один вхідний потік (наприклад, 1080p) і транскодувати його в кілька роздільних здатностей (720p, 480p, 360p) для адаптивного стримінгу, це значно збільшить навантаження на CPU. Owncast підтримує апаратне прискорення (NVENC/VAAPI), але для його використання знадобиться спеціальна конфігурація VPS з GPU або підтримка апаратного прискорення у віртуалізованому середовищі. Більшість стандартних VPS не надають GPU.
  • Бітрейт: Чим вищий бітрейт вхідного потоку та кількість транскодованих версій, тим більше знадобиться CPU та мережевої пропускної здатності.
  • Зберігання VOD: Якщо ви плануєте зберігати записи ваших трансляцій (Video On Demand), переконайтеся, що у вас достатньо дискового простору. Записи можуть займати значний обсяг.

Ретельний підбір VPS відповідно до цих вимог забезпечить стабільну та якісну роботу вашої платформи Owncast.

Шукаєте надійний сервер для ваших проєктів?

VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.

Дивитися пропозиції →

Покрокове встановлення Owncast на VPS з Docker та Docker Compose

Встановлення Owncast з використанням Docker та Docker Compose є рекомендованим способом, оскільки це забезпечує ізоляцію програми, спрощує управління залежностями та полегшує процес оновлення. Розглянемо кожен крок докладно.

Підготовка VPS до встановлення Owncast Docker

  1. Підключення до VPS по SSH:

    Використовуйте SSH-клієнт для підключення до вашого сервера. Замініть your_user на ім'я користувача вашого сервера (зазвичай root або admin), а your_vps_ip на IP-адресу вашого VPS.

    ssh your_user@your_vps_ip
  2. Оновлення системи:

    Завжди починайте з оновлення пакетного менеджера та встановлених пакетів, щоб гарантувати актуальність усіх компонентів та усунення відомих вразливостей.

    sudo apt update
    sudo apt upgrade -y
  3. Встановлення Docker:

    Docker – це платформа для контейнеризації програм. Owncast працюватиме всередині Docker-контейнера. Дотримуйтесь офіційної інструкції для встановлення Docker Engine на вашу систему. Для Ubuntu/Debian це зазвичай виглядає так:

    sudo apt install ca-certificates curl gnupg lsb-release -y
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

    Додайте вашого користувача до групи docker, щоб не використовувати sudo для кожної команди Docker (замініть your_user):

    sudo usermod -aG docker your_user
    newgrp docker

    Перевірте встановлення Docker:

    docker run hello-world
  4. Встановлення Docker Compose:

    Docker Compose дозволяє визначати та запускати багатоконтейнерні Docker-програми. Хоча Owncast складається з одного контейнера, використання Docker Compose спрощує управління конфігурацією та томами.

    З Docker Engine версії 20.10 і вище docker-compose постачається як плагін, який ми встановили на попередньому кроці (docker-compose-plugin). Тепер він доступний через команду docker compose (без дефіса).

    Перевірте встановлення Docker Compose:

    docker compose version
  5. Налаштування файрволу (UFW):

    Важливо налаштувати файрвол для захисту вашого сервера. Дозвольте SSH (порт 22), HTTP (порт 80) та HTTPS (порт 443). Owncast також використовує порт 8080 за замовчуванням для свого веб-інтерфейсу та порт 1935 для RTMP-потоку. Якщо ви не використовуєте reverse proxy, ці порти також будуть потрібні.

    sudo ufw allow OpenSSH
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw allow 8080/tcp  # Для прямого доступу до Owncast без reverse proxy
    sudo ufw allow 1935/tcp  # Для вхідного RTMP-потоку
    sudo ufw enable
    sudo ufw status

Розгортання Owncast з Docker Compose

Тепер, коли VPS підготовлений, можна розпочати розгортання Owncast за допомогою Docker Compose.

  1. Створення каталогу для Owncast:

    Створіть окремий каталог для всіх файлів Owncast. Це допоможе підтримувати порядок та спростить резервне копіювання.

    mkdir ~/owncast
    cd ~/owncast
  2. Створення файлу docker-compose.yml:

    Всередині каталогу ~/owncast створіть файл з назвою docker-compose.yml та додайте до нього наступний вміст. Цей файл визначає, як Owncast буде запущено в Docker.

    nano docker-compose.yml

    Вставте наступний код:

    version: '3.8'
    services:
      owncast:
        image: owncast/owncast:latest
        container_name: owncast
        restart: unless-stopped
        ports:
          - "8080:8080" # Веб-інтерфейс Owncast
          - "1935:1935" # RTMP для вхідного потоку
        volumes:
          - ./data:/app/data # Збереження даних Owncast (конфігурація, відео-файли, логи)
        environment:
          # Налаштування Owncast (можна налаштувати через адмін-панель після запуску)
          # - OWNCAST_WEB_PORT=8080 # Порт веб-інтерфейсу (за замовчуванням 8080)
          # - OWNCAST_RTMP_PORT=1935 # Порт RTMP (за замовчуванням 1935)
          # - OWNCAST_DATABASE_FILE=/app/data/owncast.db # Шлях до файлу бази даних
          # - OWNCAST_STREAM_KEY=your_secure_stream_key # Встановіть свій ключ потоку
          # - OWNCAST_PRIVATE_INSTANCE=true # Зробити інстанс приватним (не відображати в каталозі Owncast)
          # - OWNCAST_FEDIVERSE_ENABLED=true # Увімкнути інтеграцію з Fediverse
          # - OWNCAST_SERVER_URL=https://yourdomain.com # URL вашого сервера для коректної роботи Fediverse та посилань
        logging:
          driver: "json-file"
          options:
            max-size: "10m"
            max-file: "5"

    Пояснення до docker-compose.yml:

    • image: owncast/owncast:latest: Вказує Docker завантажити останню версію образу Owncast.
    • container_name: owncast: Присвоює контейнеру легко впізнаване ім'я.
    • restart: unless-stopped: Контейнер буде автоматично перезапускатися, якщо він зупиниться з будь-якої причини (наприклад, після перезавантаження VPS), якщо тільки ви вручну його не зупинили.
    • ports:: Мапінг портів. 8080:8080 означає, що порт 8080 на вашому VPS буде перенаправлено на порт 8080 всередині контейнера. Аналогічно для RTMP порту 1935.
    • volumes:: Це критично важлива частина. ./data:/app/data монтує локальний каталог data (який буде створено в ~/owncast/data) в каталог /app/data всередині контейнера. Тут Owncast зберігатиме свою конфігурацію, базу даних, кеш і, можливо, записи відео. Це гарантує, що ваші дані збережуться, навіть якщо контейнер буде видалено або оновлено.
    • environment:: Тут можна задати змінні оточення Owncast. Деякі з них, як OWNCAST_STREAM_KEY або OWNCAST_SERVER_URL, краще задати тут, щоб вони зберігалися при перестворенні контейнера. Більшість налаштувань можна буде змінити через веб-адмінку після першого запуску.

    Збережіть файл (Ctrl+X, Y, Enter).

  3. Запуск Owncast:

    Тепер запустіть Owncast за допомогою Docker Compose. Команда -d запускає контейнер у фоновому режимі (detached mode).

    docker compose up -d

    Процес може зайняти деякий час, оскільки Docker завантажуватиме образ Owncast. Після завершення ви можете перевірити статус контейнера:

    docker compose ps

    Ви повинні побачити, що контейнер owncast знаходиться в статусі "Up".

  4. Перший доступ до Owncast:

    Відкрийте веб-браузер і перейдіть за адресою http://your_vps_ip:8080. Ви повинні побачити сторінку привітання Owncast. На цьому етапі ви зможете налаштувати адміністратора, задати назву каналу та інші базові параметри. В адмін-панелі ви знайдете ваш ключ потоку (Stream Key), який знадобиться для налаштування OBS або іншого стримінгового ПЗ.

    Вітаємо, встановлення Owncast завершено! Тепер перейдемо до налаштування зворотного проксі та HTTPS.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Налаштування Reverse Proxy та HTTPS для Owncast: Nginx та Caddy

Прямий доступ до Owncast за IP-адресою та портом 8080 не є оптимальним рішенням для продакшн-середовища. Використання зворотного проксі (reverse proxy), такого як Nginx або Caddy, дозволяє:

  • Прив'язати Owncast до доменного імені (наприклад, stream.yourdomain.com).
  • Забезпечити безпечне з'єднання за допомогою HTTPS (SSL/TLS-сертифікати).
  • Запускати кілька веб-сервісів на одному VPS на стандартних портах 80/443.
  • Приховати внутрішні порти програми від зовнішнього світу.

Вам знадобиться доменне ім'я, що вказує на IP-адресу вашого VPS.

Налаштування Nginx як Reverse Proxy

Nginx – це високопродуктивний веб-сервер, який часто використовується як зворотний проксі. Якщо у вас ще не встановлено Nginx, встановіть його:

sudo apt install nginx -y

Далі створіть конфігураційний файл для вашого домену. Замініть yourdomain.com на ваш реальний домен.

sudo nano /etc/nginx/sites-available/owncast.conf

Вставте наступний вміст:

server {
    listen 80;
    listen [::]:80;
    server_name stream.yourdomain.com; # Замініть на ваш домен

    # Перенаправлення HTTP на HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name stream.yourdomain.com; # Замініть на ваш домен

    # Налаштування SSL (будуть оновлені Certbot)
    ssl_certificate /etc/letsencrypt/live/stream.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/stream.yourdomain.com/privkey.pem;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
    ssl_stapling on;
    ssl_stapling_verify on;
    add_header Strict-Transport-Security "max-age=63072000" always;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";

    # Максимальний розмір тіла запиту (для завантаження файлів, аватарів тощо)
    client_max_body_size 100M;

    location / {
        proxy_pass http://localhost:8080; # Порт Owncast всередині контейнера
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off; # Важливо для потокового мовлення
        proxy_cache off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400s; # Збільшуємо таймаут для тривалих з'єднань
    }

    # Спеціальний location для RTMP (якщо ви хочете проксіювати RTMP через Nginx)
    # Це вимагатиме встановлення Nginx з модулем rtmp та додаткового налаштування
    # Для Owncast простіше проксіювати лише HTTP/HTTPS та направляти RTMP безпосередньо на порт 1935
    # Якщо ви хочете проксіювати RTMP через 443 порт, знадобиться складніше налаштування.
    # У цьому прикладі RTMP-потік йтиме безпосередньо на порт 1935.
}

Збережіть файл. Потім створіть символічне посилання на sites-enabled та перевірте конфігурацію Nginx:

sudo ln -s /etc/nginx/sites-available/owncast.conf /etc/nginx/sites-enabled/
sudo nginx -t

Якщо помилок немає, перезапустіть Nginx:

sudo systemctl restart nginx

Тепер встановіть Certbot для отримання безкоштовних SSL-сертифікатів Let's Encrypt:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d stream.yourdomain.com

Certbot автоматично налаштує Nginx для використання HTTPS. Після цього знову перезапустіть Nginx:

sudo systemctl restart nginx

Тепер ваш Owncast буде доступний за адресою https://stream.yourdomain.com.

Налаштування Caddy як Reverse Proxy

Caddy – це сучасний веб-сервер, відомий своєю простотою налаштування та автоматичною видачею HTTPS-сертифікатів. Якщо ви віддаєте перевагу Caddy, спочатку встановіть його. Дотримуйтесь офіційної інструкції; для Debian/Ubuntu це зазвичай:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

Створіть файл Caddyfile:

sudo nano /etc/caddy/Caddyfile

Видаліть існуючий вміст та вставте наступне:

stream.yourdomain.com { # Замініть на ваш домен
    reverse_proxy localhost:8080 {
        header_up Host {host}
        header_up X-Real-IP {remote_ip}
        header_up X-Forwarded-For {remote_ip}
        header_up X-Forwarded-Proto {scheme}
        # Збільшуємо таймаут для потокового мовлення
        transport http {
            read_timeout 86400s
            write_timeout 86400s
            idle_timeout 86400s
        }
    }

    # Збільшення ліміту на розмір завантажуваних файлів, якщо необхідно
    # max_upload 100MB

    # Вхідний RTMP-потік (якщо ви хочете, щоб Caddy проксіював RTMP)
    # Для Owncast простіше залишити RTMP безпосередньо на 1935.
    # Якщо ви хочете проксіювати RTMP через Caddy, знадобиться плагін.
    # У цьому прикладі RTMP-потік йтиме безпосередньо на порт 1935.
}

Caddy автоматично отримає та оновить SSL-сертифікати для stream.yourdomain.com. Збережіть файл та перезапустіть Caddy:

sudo systemctl reload caddy

Тепер ваш Owncast буде доступний за адресою https://stream.yourdomain.com. Переконайтеся, що порти 80 та 443 відкриті у вашому файрволі (ми вже зробили це на етапі підготовки).

Обслуговування Owncast: резервне копіювання, оновлення та моніторинг

Регулярне обслуговування є ключем до стабільної та безпечної роботи будь-якого самохостингового сервісу. Для Owncast це включає стратегії резервного копіювання, процедури оновлення та моніторинг продуктивності.

Стратегії резервного копіювання Owncast

Резервне копіювання – це ваш страховий поліс. У випадку з Owncast, найбільш важливими даними є база даних (owncast.db), конфігураційні файли та, можливо, завантажені медіафайли або записи трансляцій.

  1. Що потрібно бекапити:
    • Каталог ~/owncast/data: Він містить усі критичні дані Owncast, включаючи базу даних SQLite (owncast.db), конфігураційні файли, завантажені аватари, логотипи та, якщо ви використовуєте вбудоване сховище, записи ваших трансляцій (VODs).
  2. Зупинка Owncast перед бекапом (рекомендується):

    Для забезпечення цілісності даних, особливо бази даних SQLite, рекомендується зупиняти контейнер Owncast перед створенням бекапу.

    cd ~/owncast
    docker compose stop
  3. Створення архіву даних:

    Після зупинки контейнера можна створити стислий архів каталогу data:

    tar -czvf owncast_backup_$(date +%Y%m%d%H%M%S).tar.gz ~/owncast/data

    Ця команда створить файл owncast_backup_YYYYMMDDHHMMSS.tar.gz у вашій домашній директорії.

  4. Перезапуск Owncast:

    Після створення архіву Owncast можна знову запустити:

    docker compose start
  5. Автоматизація бекапів:

    Для регулярного резервного копіювання рекомендується використовувати cron. Створіть скрипт backup_owncast.sh:

    nano ~/backup_owncast.sh

    Вміст скрипта:

    #!/bin/bash
    OWNCAST_DIR="/root/owncast" # Вкажіть шлях до вашого каталогу Owncast
    BACKUP_DIR="/var/backups/owncast" # Каталог для зберігання бекапів
    
    mkdir -p $BACKUP_DIR
    
    echo "Stopping Owncast..."
    docker compose -f $OWNCAST_DIR/docker-compose.yml stop
    
    echo "Creating backup..."
    tar -czvf $BACKUP_DIR/owncast_data_$(date +%Y%m%d%H%M%S).tar.gz $OWNCAST_DIR/data
    
    echo "Starting Owncast..."
    docker compose -f $OWNCAST_DIR/docker-compose.yml start
    
    echo "Backup complete."

    Зробіть скрипт виконуваним:

    chmod +x ~/backup_owncast.sh

    Додайте завдання до crontab (наприклад, для щоденного бекапу о 3 годині ночі):

    crontab -e

    Додайте рядок:

    0 3 * * * /bin/bash /root/backup_owncast.sh >> /var/log/owncast_backup.log 2>&1
  6. Зовнішнє зберігання бекапів:

    Вкрай важливо зберігати бекапи не тільки на тому ж VPS, але й на зовнішніх сховищах (S3-сумісні сховища, Google Drive, Dropbox або інший сервер). Для цього можна використовувати такі інструменти, як Restic на VPS, який забезпечує дедупліковане та зашифроване резервне копіювання.

Процес оновлення Owncast Docker

Оновлювати Owncast дуже просто завдяки Docker Compose:

  1. Перейдіть до каталогу Owncast:
    cd ~/owncast
  2. Зупиніть поточний контейнер:
    docker compose stop
  3. Завантажте нову версію образу:
    docker compose pull

    Ця команда завантажить останню версію образу owncast/owncast:latest.

  4. Запустіть Owncast з новим образом:
    docker compose up -d

    Docker Compose перестворить контейнер з новим образом, зберігаючи при цьому всі ваші дані завдяки примонтованому тому ./data.

  5. Перевірте логи:

    Після оновлення перевірте логи, щоб переконатися, що все запустилося без помилок:

    docker compose logs -f

Моніторинг продуктивності

Моніторинг ресурсів вашого VPS допоможе вам своєчасно виявляти проблеми та оптимізувати налаштування.

  • Використання системних утиліт:
    • htop: Показує поточне завантаження CPU, RAM та запущені процеси.
    • iftop: Моніторинг мережевої активності (корисно для відстеження трафіку стримінгу).
    • df -h: Перевірка зайнятого дискового простору.
    • docker stats: Показує використання ресурсів (CPU, RAM, мережа, диск) для всіх запущених Docker-контейнерів.
    docker stats owncast
  • Системи моніторингу:

    Для більш просунутого моніторингу розгляньте встановлення спеціалізованих систем, таких як Netdata на VPS. Netdata надає детальні графіки за всіма аспектами продуктивності системи в реальному часі, що критично важливо для високонавантажених програм, таких як потокове мовлення.

  • Логи Owncast:

    Регулярно переглядайте логи Owncast, щоб виявляти помилки або попередження:

    docker compose logs owncast

    Для перегляду логів у реальному часі використовуйте прапорець -f:

    docker compose logs -f owncast

Вибір оптимального VPS для Owncast під реальне навантаження

Вибір правильної конфігурації VPS для Owncast є ключовим фактором для забезпечення стабільного та якісного потокового мовлення. Навантаження на сервер сильно залежить від кількості одночасних глядачів, якості трансляції (роздільної здатності, бітрейту) та використання транскодування.

Оцінка ресурсів для різних сценаріїв використання

При визначенні необхідної конфігурації VPS для Owncast, врахуйте наступні фактори:

  • Кількість глядачів: Чим більше глядачів, тим більше вихідного мережевого трафіку та процесорних ресурсів (для обслуговування HTTP-запитів та чату).
  • Бітрейт та роздільна здатність: Висока якість відео (1080p, 4K) з високим бітрейтом вимагає більшої пропускної здатності мережі та значних ресурсів CPU для транскодування.
  • Транскодування: Якщо ви плануєте приймати один високоякісний потік та автоматично створювати кілька версій з нижчою роздільною здатністю та бітрейтом (наприклад, 1080p, 720p, 480p) для адаптивного стримінгу, це сильно збільшить навантаження на CPU. Без апаратного прискорення транскодування є одним з найбільш ресурсоємних процесів.
  • Зберігання VOD: Якщо ви зберігаєте записи трансляцій (Video On Demand), вам знадобиться значний обсяг дискового простору.
  • Частота трансляцій: Постійні чи рідкісні трансляції? Для постійних потрібна більш стабільна та потужна конфігурація.

Нижче представлені рекомендації щодо конфігурацій VPS для Owncast, виходячи з різних сценаріїв навантаження. Ціни є орієнтовними та можуть варіюватися залежно від провайдера та регіону.

Таблиця порівняння VPS-конфігурацій для Owncast

Сценарій навантаження Процесор (vCPU) ОЗП (RAM) Диск (NVMe SSD) Мережа (Мбіт/с) Орієнтовна вартість (на місяць) Примітки
Тестовий / Особистий (до 10 глядачів, 720p, 2-3 Мбіт/с) 2 2-4 GB 25-50 GB 100-200 $5 - $15 Базове встановлення Owncast. Без транскодування або з мінімальним.
Малий канал (10-30 глядачів, 1080p, 3-5 Мбіт/с) 4 4-8 GB 50-100 GB 200-500 $15 - $30 Гарний варіант для стримерів-початківців. Можливість транскодування в 1-2 якості.
Середній канал (30-100 глядачів, 1080p+, 5-8 Мбіт/с) 6-8 8-16 GB 100-200 GB 500-1000 $30 - $60 Оптимально для активних спільнот. Ефективне транскодування в 2-3 якості.
Великий канал (100+ глядачів, 1080p+, 8-12 Мбіт/с) 8-12+ 16-32 GB 200-500 GB+ 1000+ $60 - $120+ Для професійних трансляцій або великих спільнот. Рекомендується виділений сервер або високопродуктивний VPS.

Додаткові міркування:

  • Тип диска: NVMe SSD критично важливий для Owncast, оскільки він забезпечує високу швидкість читання/запису, що важливо для буферизації та обробки потокових даних.
  • Пропускна здатність мережі: Це, мабуть, найважливіший ресурс для потокового мовлення. Переконайтеся, що ваш VPS-провайдер пропонує достатньо широкі канали та адекватні ліміти трафіку. Деякі провайдери можуть стягувати додаткову плату за перевищення лімітів.
  • Локація VPS: Вибирайте VPS, розташований географічно близько до вашої основної аудиторії, щоб мінімізувати затримки (latency) та забезпечити найкращу якість перегляду.
  • Ціни: Зазначені ціни є орієнтовними та сильно залежать від провайдера, регіону та конкретних акцій. Valebyte.com пропонує різні тарифні плани VPS, які можуть бути адаптовані під ваші потреби Owncast.

Ретельний аналіз ваших потреб та вибір відповідної конфігурації VPS дозволить вам створити надійну та високопродуктивну платформу для Owncast, здатну витримувати реальне навантаження.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Поширені проблеми та їх вирішення при експлуатації Owncast на VPS

Експлуатація Owncast на VPS, як і будь-якого іншого self-hosted застосунку, може стикатися з різними проблемами. Знання типових помилок та способів їх усунення допоможе швидко відновити роботу сервісу та забезпечити стабільне мовлення.

Помилки стримінгу та продуктивності

  1. Проблеми з буферизацією або лагами у глядачів:
    • Причина: Недостатня пропускна здатність мережі на VPS, перевантаження CPU сервера, занадто високий бітрейт вхідного потоку, проблеми з мережею у стримера або глядача.
    • Рішення:
      • Перевірте утилітами iftop або vnstat завантаження мережевого каналу на VPS. Якщо вона близька до максимальної, розгляньте можливість апгрейду тарифу VPS на ширший канал.
      • Перевірте завантаження CPU за допомогою htop або docker stats owncast. Якщо CPU постійно завантажений на 90-100%, це може вказувати на нестачу ядер процесора, особливо при активному транскодуванні. Розгляньте апгрейд CPU.
      • Зменшіть бітрейт вихідного потоку з вашого стримінгового ПЗ (OBS). Почніть з 3-5 Мбіт/с для 1080p, 2-3 Мбіт/с для 720p.
      • Переконайтеся, що ваш стрим-ключ коректний і не використовується кимось іншим.
      • Перевірте стабільність інтернет-з'єднання стримера.
  2. Високе завантаження CPU:
    • Причина: Активне транскодування відео (наприклад, з 1080p в кілька нижчих роздільних здатностей), велика кількість одночасних глядачів, фонові процеси.
    • Рішення:
      • Вимкніть або обмежте кількість транскодованих роздільних здатностей у налаштуваннях Owncast, якщо ваш VPS не справляється.
      • Розгляньте апгрейд VPS на тариф з більшою кількістю vCPU або більш продуктивними ядрами.
      • Перевірте, чи немає інших ресурсоємних програм, запущених на вашому VPS.
  3. "No Stream Key" або "Stream Offline" в адмін-панелі Owncast:
    • Причина: Ваше стримінгове ПЗ (наприклад, OBS) не підключено або використовує неправильний стрим-ключ/RTMP-URL.
    • Рішення:
      • Переконайтеся, що в OBS (або іншому ПЗ) вказано правильний RTMP-сервер (rtmp://your_vps_ip:1935/live або rtmp://stream.yourdomain.com:1935/live) та ваш унікальний стрим-ключ з адмін-панелі Owncast.
      • Перевірте, що порт 1935 відкритий у файрволі VPS (sudo ufw status).

Проблеми з доступом та HTTPS

  1. Не вдається отримати доступ до Owncast за доменним ім'ям:
    • Причина: Неправильні DNS-записи, некоректна конфігурація reverse proxy (Nginx/Caddy), проблеми з файрволом.
    • Рішення:
      • Переконайтеся, що A-запис для stream.yourdomain.com вказує на IP-адресу вашого VPS. Використовуйте dig stream.yourdomain.com або nslookup stream.yourdomain.com для перевірки.
      • Перевірте конфігурацію Nginx або Caddy (sudo nginx -t для Nginx, sudo caddy validate --config /etc/caddy/Caddyfile для Caddy).
      • Переконайтеся, що порти 80 та 443 відкриті у файрволі (sudo ufw status).
      • Перевірте логи Nginx/Caddy на наявність помилок: sudo tail -f /var/log/nginx/error.log або sudo journalctl -u caddy -f.
  2. Проблеми з HTTPS (сертифікатами Let's Encrypt):
    • Причина: Закінчився термін дії сертифіката, проблеми з автоматичним оновленням Certbot, помилки в конфігурації Nginx/Caddy.
    • Рішення:
      • Вручну спробуйте оновити сертифікати: sudo certbot renew --force-renewal (для Nginx) або перевірте логи Caddy (він оновлює автоматично).
      • Переконайтеся, що Certbot налаштований на автоматичне продовження (зазвичай це робиться при першому встановленні).
      • Перевірте, що Nginx/Caddy слухає на порту 80 для проходження перевірки Certbot.
  3. Контейнер Owncast не запускається або зупиняється:
    • Причина: Помилки в docker-compose.yml, нестача ресурсів (RAM/CPU), пошкоджені дані, конфлікти портів.
    • Рішення:
      • Перевірте логи контейнера: docker compose logs owncast. Це дасть інформацію про причину збою.
      • Перевірте docker compose ps, щоб переконатися, що контейнер не перезапускається постійно.
      • Переконайтеся, що на сервері достатньо вільної оперативної пам'яті (free -h).
      • Перевірте, чи не зайняті порти 8080 або 1935 іншими процесами (sudo netstat -tulpn | grep 8080).

Регулярний моніторинг та перевірка логів є найкращими практиками для своєчасного виявлення та усунення проблем. Для управління файлами конфігурації або медіа-контентом на сервері може бути корисний такий інструмент, як Syncthing на VPS, який дозволяє синхронізувати дані між різними пристроями, забезпечуючи їх доступність та резервне копіювання.

Висновки

Owncast на VPS надає потужну та гнучку платформу для власного потокового мовлення, забезпечуючи повний контроль над контентом, даними та спільнотою. Дотримуючись докладних інструкцій зі встановлення Owncast через Docker Compose, налаштування зворотного проксі з HTTPS та дотримуючись рекомендацій щодо обслуговування та вибору оптимальної конфігурації VPS, ви зможете створити надійний та масштабований сервіс.

Для стабільної роботи Owncast під будь-яким навантаженням критично важливим є вибір відповідного VPS з достатнім обсягом CPU, RAM, швидким NVMe-диском та широким мережевим каналом. Valebyte.com пропонує високопродуктивні VPS та виділені сервери, що ідеально підходять для розміщення Owncast та забезпечення безперебійного мовлення для вашої аудиторії.

Готові вибрати сервер?

VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.

Почати зараз →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.