Краткий ответ: Для запуска собственного сервера VDO.Ninja на Debian 12 используют либо официальный скрипт offline_deployment (GitHub), либо связку с медиасервером MediaMTX (бывший rtsp-simple-server). Базовые шаги: установить Node.js и npm, клонировать репозиторий VDO.Ninja, настроить Nginx/HTTPS, и запустить сервер через systemd или Docker VDO.Ninja Github Github.


🔧 Подробная инструкция по настройке VDO.Ninja на Debian 12

1. Установка зависимостей

sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl nginx
  • Node.js (рекомендуется LTS):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs npm

2. Клонирование репозитория

git clone https://github.com/steveseguin/offline_deployment.git
cd offline_deployment
npm install

Этот проект позволяет запускать VDO.Ninja локально без доступа к внешнему интернету Github.

3. Настройка сервера

  • Основной файл: server.js (Express.js).
  • Можно изменить порт (по умолчанию 8080) в конфиге.
  • Для продакшн‑сценария стоит использовать Nginx как reverse proxy с HTTPS.

Пример блока Nginx:

server {
    listen 443 ssl;
    server_name vdo.example.com;

    ssl_certificate /etc/letsencrypt/live/vdo.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/vdo.example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 3600s;
    }
}

4. Запуск сервиса

Создай systemd‑юнит /etc/systemd/system/vdoninja.service:

[Unit]
Description=VDO.Ninja Server
After=network.target

[Service]
ExecStart=/usr/bin/node /opt/offline_deployment/server.js
Restart=always
User=www-data
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
sudo systemctl enable vdoninja
sudo systemctl start vdoninja

5. Дополнительно: масштабирование

  • Для больших трансляций можно использовать MediaMTX как медиасервер, чтобы разгрузить WebRTC‑трафик VDO.Ninja.
  • MediaMTX поддерживает RTMP/RTSP/SRT и может работать как Meshcast‑аналог для VDO.Ninja.

📌 Итог

  • Минимальный запуск: Node.js + offline_deployment → доступ по http://server:8080.
  • Продакшн: Nginx + HTTPS + systemd.
  • Масштабирование: MediaMTX для трансляций на большую аудиторию.

Sources: VDO.Ninja Github Github

От alex

Обучаемый.