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

Отримати VPS arrow_forward

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

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

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

Що таке PeerTube і навіщо він потрібен?

PeerTube — це інноваційна децентралізована відеоплатформа з відкритим вихідним кодом, розроблена французькою некомерційною організацією Framasoft. На відміну від централізованих гігантів на кшталт YouTube або Vimeo, PeerTube не зберігає всі відео на одному сервері. Замість цього він використовує федеративну модель (Fediverse), де безліч незалежних серверів (інстансів) обмінюються контентом, дозволяючи користувачам переглядати відео з будь-якого інстансу, до якого вони підключені.

Децентралізована відеоплатформа та її переваги

Основна відмінність PeerTube полягає в його архітектурі. Кожен інстанс PeerTube працює незалежно, але може бути федеративним з іншими інстансами. Це означає, що відео, опубліковане на одному сервері, може бути виявлене та переглянуте користувачами інших серверів, якщо вони об'єднані у федерацію. Така система забезпечує кілька ключових переваг:

  • Стійкість до цензури: Відсутність єдиної точки контролю робить платформу більш стійкою до блокувань та цензури. Якщо один інстанс блокується, інші продовжують працювати.
  • Контроль над даними: Власники інстансів повністю контролюють свої дані та контент, не залежать від правил корпорацій.
  • Технологія Peer-to-Peer (P2P): PeerTube використовує технологію WebTorrent для розповсюдження відео. Це означає, що під час перегляду відео користувачі можуть одночасно виступати в ролі сідів, роздаючи частини відео іншим глядачам. Це значно знижує навантаження на сервер, особливо при великій кількості одночасних переглядів, і дозволяє ефективно використовувати ресурси мережі.
  • Відсутність реклами та трекерів: Більшість інстансів PeerTube вільні від нав'язливої реклами та механізмів відстеження користувачів, що забезпечує кращу приватність.
  • Гнучкість та кастомізація: Відкритий вихідний код дозволяє налаштовувати та модифікувати платформу під конкретні потреби, додавати теми, плагіни та функції.

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

Чому PeerTube self-hosted на VPS?

Розгортання PeerTube self-hosted на VPS (Virtual Private Server) — це оптимальне рішення для багатьох сценаріїв. По-перше, воно надає повний контроль над оточенням, дозволяючи вибрати операційну систему, налаштувати параметри безпеки та оптимізувати продуктивність під ваші завдання. По-друге, VPS забезпечує стабільність та виділені ресурси, що критично важливо для хостингу відео, особливо якщо ви плануєте обслуговувати активну спільноту або завантажувати багато контенту.

Маючи peertube self-hosted на власному сервері, ви можете:

  • Створити нішеву відеоплатформу для своєї спільноти або проєкту.
  • Розмістити освітній контент без обмежень.
  • Забезпечити приватний відеохостинг для корпоративних потреб.
  • Використовувати PeerTube як альтернативу централізованим платформам, підтримуючи децентралізований інтернет.

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

Системні вимоги PeerTube: який VPS вибрати?

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

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

Для базового встановлення PeerTube та невеликого інстансу, призначеного для особистого використання або дуже маленької спільноти (до 5-10 активних користувачів, кілька десятків відео), мінімальні вимоги будуть такими:

  • Процесор: 1-2 vCPU (віртуальних ядра). PeerTube використовує Node.js для бекенду та FFmpeg для транскодування відео, що може бути ресурсоємним.
  • Оперативна пам'ять (RAM): 2 GB. Цього вистачить для роботи Node.js, PostgreSQL та Redis. Якщо планується транскодування, знадобиться більше.
  • Дисковий простір: 50-100 GB NVMe/SSD. NVMe значно швидше і краще для баз даних та частого доступу до відеофайлів. Обсяг залежить від кількості та якості відео, які ви плануєте зберігати.
  • Пропускна здатність мережі: 100-200 Mbps. Для невеликого інстансу цього буде достатньо, але P2P-технологія допоможе знизити навантаження на вихідний трафік.
  • Операційна система: Ubuntu 22.04 LTS (рекомендується), Debian 11/12 або CentOS 8/9.

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

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

Для інстансу PeerTube, який обслуговуватиме середню спільноту (50-100 активних користувачів, сотні відео, регулярні завантаження) або використовуватиметься для освітніх/корпоративних цілей, рекомендуються такі конфігурації VPS:

  • Процесор: 4 vCPU. Це забезпечить достатню потужність для паралельного транскодування, обробки запитів Node.js та роботи бази даних.
  • Оперативна пам'ять (RAM): 4-8 GB. Більше RAM дозволить кешувати дані, прискорити роботу бази даних та транскодування.
  • Дисковий простір: 200-500 GB NVMe/SSD. Обсяг диска — це найкритичніший ресурс для відеохостингу. Для зберігання великих обсягів відеоматеріалів варто розглянути можливість масштабування дискового простору або підключення зовнішніх сховищ.
  • Пропускна здатність мережі: 500 Mbps - 1 Gbps. Висока швидкість мережі важлива для швидкого завантаження відео та забезпечення комфортного перегляду для всіх користувачів.
  • Операційна система: Ubuntu 22.04 LTS.

Якщо ви плануєте створити великий інстанс з тисячами відео та сотнями активних користувачів, то вам знадобиться виділений сервер або кластерна архітектура з розподіленою базою даних та сховищем об'єктів (наприклад, S3-сумісне сховище) для відеофайлів. У такому випадку, peertube на сервері вимагатиме складнішої архітектури.

Таблиця порівняння VPS-тарифів Valebyte.com для PeerTube

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

Тариф Valebyte.com vCPU RAM Диск (NVMe) Трафік Ціна (прибл.) Рекомендація для PeerTube
Entry-Level 2 4 GB 100 GB 1 TB від $15/міс Особисте використання, невеликі проєкти (до 20 відео, 10-20 користувачів)
Standard 4 8 GB 250 GB 2 TB від $30/міс Середній інстанс, активна спільнота (до 100 відео, 50-100 користувачів)
Pro 6 16 GB 500 GB 4 TB від $60/міс Великий інстанс, багато контенту та користувачів (сотні відео, 100+ користувачів)
Enterprise (Dedicated) 8+ 32+ GB 1 TB+ 10 TB+ від $120/міс Високонавантажений інстанс, публічна платформа, критично важливі проєкти

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

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

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

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

Підготовка VPS до встановлення PeerTube через Docker

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

Вибір операційної системи та початкове налаштування

Для PeerTube рекомендується використовувати дистрибутиви Linux з довгостроковою підтримкою (LTS). Найбільш популярними та добре підтримуваними є Ubuntu Server 22.04 LTS або Debian 11/12. У цьому посібнику ми будемо використовувати Ubuntu 22.04 LTS.

Після розгортання VPS та першого входу по SSH (зазвичай під користувачем root), виконайте наступні кроки для початкового налаштування:

  1. Оновлення системи: Завжди починайте з оновлення всіх пакетів до актуальних версій.
    sudo apt update && sudo apt upgrade -y
  2. Створення нового користувача з sudo-правами (необов'язково, але рекомендується): Робота під root небезпечна. Створіть звичайного користувача та додайте його до групи sudo.
    sudo adduser peertubeuser
    sudo usermod -aG sudo peertubeuser
    Потім вийдіть з root та увійдіть під новим користувачем.
  3. Налаштування файрволу (UFW): Увімкніть файрвол та дозвольте необхідні порти. Для PeerTube знадобляться порти SSH (22), HTTP (80) та HTTPS (443).
    sudo ufw allow OpenSSH
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw enable
    Переконайтеся, що SSH дозволено, перш ніж вмикати UFW, інакше ви можете втратити доступ до сервера.

Встановлення Docker та Docker Compose

PeerTube офіційно рекомендує peertube docker розгортання, оскільки це значно спрощує управління залежностями та забезпечує ізольоване оточення. Встановимо Docker Engine та Docker Compose.

  1. Встановлення Docker Engine:

    Видаліть старі версії Docker (якщо є):

    for pkg in docker.io docker-doc docker-compose docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras; do sudo apt remove $pkg; done

    Встановіть необхідні пакети:

    sudo apt install ca-certificates curl gnupg lsb-release -y

    Додайте офіційний GPG ключ Docker:

    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

    Додайте репозиторій Docker:

    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

    Оновіть список пакетів та встановіть Docker Engine:

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  2. Додавання користувача до групи Docker:

    Щоб не використовувати sudo щоразу при роботі з Docker, додайте вашого користувача до групи docker:

    sudo usermod -aG docker ${USER}

    Застосуйте зміни, вийшовши з SSH та увійшовши знову, або перезавантаживши систему.

  3. Перевірка встановлення Docker:
    docker run hello-world

    Якщо ви бачите повідомлення "Hello from Docker!", значить Docker встановлений та працює коректно.

Тепер ваш VPS готовий до розгортання PeerTube. Для тих, хто цікавиться іншими рішеннями для управління проєктами на VPS, ознайомтеся з встановленням Docmost на VPS.

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

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

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

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

Покрокове встановлення PeerTube Docker: від образу до запуску

Найпростіший та рекомендований спосіб встановлення PeerTube — це використання Docker Compose. Цей метод дозволяє розгорнути всі компоненти PeerTube (додаток, базу даних PostgreSQL, Redis) в ізольованих контейнерах, значно спрощуючи управління та оновлення.

Створення директорій та конфігураційних файлів

Для початку створіть робочу директорію для PeerTube та піддиректорії для зберігання даних, що важливо для персистентності (дані не будуть видалятися при перестворенні контейнерів).

mkdir -p ~/peertube
cd ~/peertube
mkdir -p data/postgresql data/redis data/videos data/streaming-playlists data/avatars data/tmp

Тепер створимо основний конфігураційний файл PeerTube. Скопіюйте приклад файлу конфігурації з репозиторію PeerTube. Переконайтеся, що ви використовуєте актуальну версію PeerTube. У цьому прикладі візьмемо версію 6.1.1 (актуальна на момент написання статті, перевірте на офіційному GitHub).

wget https://github.com/Chocobozzz/PeerTube/releases/download/v6.1.1/config/production.yaml.example -O config/production.yaml

Відредагуйте файл config/production.yaml. Це найважливіший крок налаштування. Відкрийте його будь-яким текстовим редактором (наприклад, nano):

nano config/production.yaml

У цьому файлі вам необхідно змінити наступні параметри:

  • webserver.hostname: Вкажіть доменне ім'я вашого інстансу PeerTube (наприклад, my.peertube.example.com).
  • webserver.port: Залиште 80 (або 443, якщо Nginx/Caddy не використовуються для SSL).
  • database.hostname: Вкажіть peertube-postgres (ім'я сервісу Docker).
  • database.password: Вкажіть надійний пароль для користувача PostgreSQL.
  • redis.hostname: Вкажіть peertube-redis (ім'я сервісу Docker).
  • secrets.secret: Згенеруйте довгий випадковий рядок (наприклад, за допомогою openssl rand -base64 32) та вставте його сюди.
  • smtp: Налаштуйте параметри SMTP-сервера, якщо ви хочете, щоб PeerTube надсилав пошту (наприклад, для реєстрації користувачів, скидання паролів).
  • storage: Перевірте шляхи до директорій, вони повинні відповідати тим, які ми створили.

Збережіть зміни та закрийте файл (Ctrl+X, Y, Enter для nano).

Налаштування docker-compose.yml для PeerTube

Тепер створимо файл docker-compose.yml, який визначить усі сервіси PeerTube.

nano docker-compose.yml

Вставте наступний вміст. Переконайтеся, що версія образу PeerTube (image: chopeur/peertube:6.1.1) відповідає версії, для якої ви завантажили production.yaml.

version: "3.7"

services:
  peertube:
    image: chopeur/peertube:6.1.1 # Перевірте актуальну версію на Docker Hub або GitHub
    container_name: peertube
    restart: always
    environment:
      - NODE_ENV=production
      - PEERTUBE_DB_HOSTNAME=peertube-postgres
      - PEERTUBE_DB_USERNAME=peertube
      - PEERTUBE_DB_PASSWORD=${PEERTUBE_DB_PASSWORD} # Буде взято з .env
      - PEERTUBE_REDIS_HOSTNAME=peertube-redis
    volumes:
      - ./config:/app/config
      - ./data/videos:/app/data/videos
      - ./data/streaming-playlists:/app/data/streaming-playlists
      - ./data/avatars:/app/data/avatars
      - ./data/tmp:/app/data/tmp
    ports:
      - "127.0.0.1:9000:9000" # PeerTube слухає на порту 9000 всередині контейнера
    depends_on:
      - peertube-postgres
      - peertube-redis

  peertube-postgres:
    image: postgres:15-alpine
    container_name: peertube-postgres
    restart: always
    environment:
      - POSTGRES_USER=peertube
      - POSTGRES_PASSWORD=${PEERTUBE_DB_PASSWORD} # Буде взято з .env
      - POSTGRES_DB=peertube
    volumes:
      - ./data/postgresql:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U peertube"]
      interval: 10s
      timeout: 5s
      retries: 5

  peertube-redis:
    image: redis:7-alpine
    container_name: peertube-redis
    restart: always
    volumes:
      - ./data/redis:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

Зверніть увагу на PEERTUBE_DB_PASSWORD. Для безпеки, створіть файл .env у тій же директорії, де знаходиться docker-compose.yml, та вкажіть там пароль:

nano .env
PEERTUBE_DB_PASSWORD=ваш_дуже_складний_пароль_для_бд

Збережіть та закрийте .env. Переконайтеся, що цей пароль збігається з database.password у production.yaml.

Ініціалізація бази даних та запуск PeerTube

Після налаштування всіх файлів можна запускати PeerTube. Спочатку ініціалізуємо базу даних. Це потрібно зробити лише один раз при першому встановленні.

docker compose run --rm peertube yarn cli peertube:database:migrate

Потім створіть першого адміністратора. Обов'язково використовуйте надійний пароль.

docker compose run --rm peertube yarn cli peertube:user:create --username root --password 'ваш_складний_пароль_адміністратора' --email [email protected] --role admin

Тепер запустіть усі сервіси PeerTube у фоновому режимі:

docker compose up -d

Перевірте статус контейнерів:

docker compose ps

Усі контейнери повинні бути у статусі Up. PeerTube тепер працює на вашому VPS, але доступний лише локально на порту 9000 (127.0.0.1:9000). Для доступу ззовні та забезпечення безпеки потрібно буде налаштувати reverse proxy з HTTPS.

Налаштування Reverse Proxy (Nginx/Caddy) та HTTPS для PeerTube

Для забезпечення безпечного та зручного доступу до вашого інстансу PeerTube з інтернету, а також для автоматичної обробки SSL-сертифікатів, вкрай рекомендується використовувати reverse proxy. Ми розглянемо налаштування Nginx та Caddy, двох популярних варіантів.

Чому потрібен Reverse Proxy?

Reverse proxy виконує кілька ключових функцій:

  • Безпека: Він приховує реальну IP-адресу та порт вашого PeerTube-сервера, виступаючи як посередник.
  • SSL/TLS-шифрування (HTTPS): Reverse proxy може обробляти SSL-сертифікати (наприклад, від Let's Encrypt), забезпечуючи безпечне шифроване з'єднання між користувачами та PeerTube.
  • Балансування навантаження: У складніших сценаріях reverse proxy може розподіляти запити між кількома бекенд-серверами PeerTube.
  • Кешування: Може кешувати статичний контент, зменшуючи навантаження на PeerTube.

Перед налаштуванням переконайтеся, що ваш домен (наприклад, my.peertube.example.com) вказує на IP-адресу вашого VPS.

Конфігурація Nginx для PeerTube

Якщо Nginx ще не встановлений, встановіть його:

sudo apt install nginx -y

Створіть новий файл конфігурації Nginx для вашого домену:

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

Вставте наступний вміст, замінивши my.peertube.example.com на ваш домен:

server {
    listen 80;
    listen [::]:80;
    server_name my.peertube.example.com;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name my.peertube.example.com;

    ssl_certificate /etc/letsencrypt/live/my.peertube.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my.peertube.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/my.peertube.example.com/chain.pem;

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=63072000" always;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Frame-Options DENY;

    location / {
        proxy_pass http://127.0.0.1:9000;
        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_redirect off;

        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Створіть символічне посилання на sites-enabled та видаліть дефолтний конфіг:

sudo ln -s /etc/nginx/sites-available/peertube.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Перевірте конфігурацію Nginx та перезавантажте його:

sudo nginx -t
sudo systemctl restart nginx

Тепер ваш PeerTube доступний через Nginx, але поки без HTTPS. Ми налаштуємо його в розділі про Let's Encrypt.

Конфігурація Caddy для PeerTube

Caddy — це сучасний веб-сервер, який автоматично керує SSL-сертифікатами Let's Encrypt. Це робить його дуже зручним для розгортання. Якщо ви ще не встановили Caddy, зробіть це:

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-stable-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

Створіть або відредагуйте файл /etc/caddy/Caddyfile:

sudo nano /etc/caddy/Caddyfile

Видаліть весь вміст та вставте наступне, замінивши my.peertube.example.com на ваш домен:

my.peertube.example.com {
    reverse_proxy 127.0.0.1:9000 {
        # WebSocket support
        header_up Upgrade {http.request.header.Upgrade}
        header_up Connection {http.request.header.Connection}
    }
}

Збережіть та закрийте файл. Перевірте конфігурацію Caddy та перезапустіть його:

sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy

Caddy автоматично отримає та налаштує SSL-сертифікати для вашого домену. Для тих, хто використовує VPS для інших веб-додатків, таких як Wiki.js на VPS, налаштування reverse proxy також є стандартною практикою.

Отримання та автоматичне оновлення SSL-сертифікатів Let's Encrypt

Якщо ви використовуєте Nginx, вам знадобиться Certbot для отримання та управління SSL-сертифікатами Let's Encrypt. Caddy робить це автоматично.

Для Nginx:

  1. Встановлення Certbot:
    sudo apt install certbot python3-certbot-nginx -y
  2. Отримання сертифіката:
    sudo certbot --nginx -d my.peertube.example.com

    Дотримуйтесь інструкцій на екрані. Certbot автоматично налаштує Nginx для HTTPS та додасть правило для автоматичного оновлення сертифікатів у Cron.

  3. Перевірка автоматичного оновлення:
    sudo systemctl status certbot.timer

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

Тепер ваш PeerTube повинен бути доступний по HTTPS через ваш домен.

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

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

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

Резервне копіювання — це ваша страховка від втрати даних. Для PeerTube необхідно бекапити кілька ключових компонентів:

  1. База даних PostgreSQL: Містить всю інформацію про користувачів, відео, коментарі, налаштування інстансу.
  2. Файли конфігурації PeerTube: Файл config/production.yaml та інші налаштування.
  3. Відеофайли: Директорії data/videos, data/streaming-playlists, data/avatars. Це найоб'ємніші дані.

Рекомендована стратегія бекапу:

Крок 1: Зупинка PeerTube (для консистентності даних)

cd ~/peertube
docker compose stop peertube

Крок 2: Створення дампу бази даних PostgreSQL

docker compose exec -T peertube-postgres pg_dumpall -U peertube > ~/peertube_backup/peertube_db_$(date +%F).sql

Крок 3: Архівація конфігурації та медіафайлів

tar -czvf ~/peertube_backup/peertube_config_$(date +%F).tar.gz ~/peertube/config
tar -czvf ~/peertube_backup/peertube_media_$(date +%F).tar.gz ~/peertube/data/videos ~/peertube/data/streaming-playlists ~/peertube/data/avatars

Крок 4: Запуск PeerTube

cd ~/peertube
docker compose start peertube

Крок 5: Переміщення бекапів у віддалене сховище

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

Налаштуйте скрипт бекапу та додайте його до Cron для щоденного або щотижневого виконання.

Процес оновлення PeerTube та Docker-образів

Оновлення PeerTube включає оновлення Docker-образів та виконання міграцій бази даних. Завжди перевіряйте офіційну документацію PeerTube на GitHub перед оновленням, оскільки процес може змінюватися.

Загальний процес оновлення:

  1. Зупинка PeerTube:
    cd ~/peertube
    docker compose stop
  2. Створення бекапу: Завжди робіть повний бекап перед оновленням!
  3. Оновлення Docker-образів: Відредагуйте docker-compose.yml та змініть версію образу PeerTube (наприклад, з 6.1.1 на 6.2.0). Потім завантажте нові образи:
    docker compose pull
  4. Виконання міграцій бази даних:
    docker compose run --rm peertube yarn cli peertube:database:migrate
  5. Запуск PeerTube:
    docker compose up -d
  6. Очищення старих образів (необов'язково):
    docker image prune

Також не забувайте оновлювати саму операційну систему та пакети:

sudo apt update && sudo apt upgrade -y

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

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

  • Використання CPU: Високе завантаження CPU може вказувати на активне транскодування, велику кількість запитів або проблеми в додатку.
  • Використання RAM: Нестача оперативної пам'яті призведе до використання свопу, що сильно уповільнить роботу сервера.
  • Використання диска: Переконайтеся, що у вас достатньо вільного місця, особливо для відеофайлів. Моніторинг I/O операцій на диску також важливий.
  • Мережевий трафік: Моніторинг вхідного та вихідного трафіку допоможе зрозуміти навантаження на мережу та ефективність P2P роздачі.
  • Доступність сервісів: Переконайтеся, що контейнери PeerTube, PostgreSQL та Redis завжди працюють.

Для моніторингу можна використовувати такі інструменти, як:

  • htop, glances: Для інтерактивного моніторингу ресурсів у реальному часі.
  • Prometheus + Grafana: Для комплексного збору та візуалізації метрик.
  • Netdata на VPS: Легковажний, але потужний інструмент для моніторингу в реальному часі зі зручним веб-інтерфейсом.

Регулярно перевіряйте логи контейнерів PeerTube, PostgreSQL та Nginx/Caddy на наявність помилок або попереджень:

docker compose logs -f peertube

Це допоможе оперативно реагувати на будь-які проблеми, що виникають.

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

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

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

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

Оптимізація PeerTube на сервері та масштабування

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

Налаштування транскодування та зберігання відео

Транскодування відео — один з найбільш ресурсоємних процесів у PeerTube. При завантаженні відео PeerTube створює кілька версій файлу в різних роздільних здатностях та форматах для сумісності з різними пристроями та швидкостями мережі.

  • Використання GPU для транскодування: Якщо ваш VPS підтримує GPU passthrough або ви використовуєте виділений сервер з GPU, можна налаштувати FFmpeg для використання апаратного прискорення транскодування. Це значно знизить навантаження на CPU та прискорить обробку відео. Однак, це вимагає складнішого налаштування Docker та драйверів.
  • Обмеження кількості одночасних транскодувань: У файлі config/production.yaml ви можете налаштувати параметри транскодування, включаючи кількість одночасних завдань. Зменшення цього числа знизить пікове навантаження на CPU, але збільшить час очікування для відео, що завантажуються.
  • Налаштування якості транскодування: Ви можете визначити, які роздільні здатності та бітрейти будуть генеруватися. Якщо ви не потребуєте 4K-відео, можна відключити ці опції для економії місця та ресурсів.
  • Зовнішнє сховище об'єктів (Object Storage): Для масштабованого зберігання відеофайлів рекомендується використовувати S3-сумісні сховища об'єктів (наприклад, Amazon S3, DigitalOcean Spaces, MinIO). PeerTube підтримує таку інтеграцію, що дозволяє зберігати медіафайли окремо від основного сервера, значно економлячи дисковий простір VPS та спрощуючи резервне копіювання.

Приклад налаштування object_storage у config/production.yaml:

object_storage:
  enabled: true
  endpoint: 's3.eu-central-1.amazonaws.com' # або ваш endpoint
  bucket_name: 'peertube-videos'
  access_key_id: 'YOUR_ACCESS_KEY_ID'
  secret_access_key: 'YOUR_SECRET_ACCESS_KEY'
  # ... інші налаштування, наприклад, region, force_path_style, etc.

Не забудьте також налаштувати відповідні змінні оточення в docker-compose.yml для PeerTube, щоб він міг отримати доступ до ваших ключів S3.

Розширення дискового простору та мережі

У міру зростання відеоколекції, дисковий простір стане основним вузьким місцем. Якщо ви не використовуєте зовнішнє сховище об'єктів, вам знадобиться:

  • Масштабування VPS: Оновіть ваш тарифний план VPS на Valebyte.com до більш ємного, який пропонує більше NVMe-диска.
  • Підключення додаткових дисків: Деякі провайдери дозволяють підключати додаткові диски (Block Storage) до існуючого VPS. Ви можете змонтувати їх у директорії data/videos.

Мережева пропускна здатність також критична. Хоча PeerTube використовує P2P для роздачі, сервер все одно оброблятиме значний обсяг трафіку, особливо для першого глядача або якщо P2P-мережа недостатньо щільна. Переконайтеся, що ваш тариф VPS пропонує достатню пропускну здатність (мінімум 500 Mbps, в ідеалі 1 Gbps) та достатній щомісячний обсяг трафіку.

Використання CDN та інших рішень для масштабування

Для глобального розповсюдження контенту та зниження навантаження на ваш сервер розгляньте використання CDN (Content Delivery Network). CDN кешує ваш контент (наприклад, відеофайли) на серверах, розташованих ближче до користувачів, що прискорює завантаження та зменшує затримки.

PeerTube можна налаштувати для роботи з CDN, перенаправляючи запити на медіафайли через CDN-провайдера. Це особливо корисно, якщо ваша аудиторія розподілена географічно.

У випадку дуже високого навантаження та необхідності максимальної відмовостійкості, можна розглянути складніші архітектури:

  • Кластер Docker Swarm або Kubernetes: Для оркестрації контейнерів та горизонтального масштабування PeerTube.
  • Виділені сервери: Для максимальної продуктивності та контролю над апаратними ресурсами.

Однак для більшості користувачів та спільнот, добре налаштований peertube vps з достатніми ресурсами та зовнішньою об'єктною системою зберігання буде більш ніж достатнім.

Висновки

Встановлення PeerTube на VPS з використанням Docker Compose — це надійний та гнучкий спосіб розгорнути власну децентралізовану відеоплатформу. Вибір відповідного VPS-тарифу з NVMe-дисками та достатнім обсягом RAM, а також грамотне налаштування reverse proxy та HTTPS, забезпечують стабільну та безпечну роботу. Регулярні бекапи та моніторинг гарантують довговічність вашого інстансу, а оптимізація транскодування та використання зовнішніх сховищ дозволять масштабуватися в міру зростання вашої спільноти.

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

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.