F7_HPB/INSTALL.md

6.5 KiB
Raw Blame History

Инструкция по установке HPB - Nextcloud Spreed Signaling Stack

Этот репозиторий содержит все необходимое для развертывания стека Nextcloud Talk на новом сервере.

Быстрая установка

Требования

  • Linux (Debian/Ubuntu рекомендуется)
  • Root доступ
  • Открытые порты:
    • 8080 (signaling HTTP, можно изменить)
    • 8188 (Janus WebSocket)
    • 4222 (NATS)
    • 3478/5349 (coTURN UDP/TCP/TLS)
    • 9991 (coTURN для signaling, можно изменить)

Автоматическая установка

# Клонируйте репозиторий
git clone https://git.f7cloud.ru/root/F7_HPB.git /tmp/f7cloud-hpb
cd /tmp/f7cloud-hpb

# Запустите скрипт установки (от root)
sudo ./install.sh

Скрипт автоматически:

  • Генерирует все необходимые секреты
  • Создает системных пользователей
  • Устанавливает бинарники в /usr/bin и /usr/sbin
  • Копирует конфиги с подстановкой секретов
  • Настраивает systemd unit файлы
  • Сохраняет секреты в /etc/f7cloud-spreed-signaling/.secrets.txt

После установки

ВАЖНО: Обязательно отредактируйте конфиги перед запуском!

  1. Signaling server (/etc/f7cloud-spreed-signaling/server.conf):

    nano /etc/f7cloud-spreed-signaling/server.conf
    
    • Укажите реальные URL бэкендов Nextcloud в секции [nextcloud-backend-0]
    • Проверьте секреты (они уже сгенерированы)
  2. coTURN (/etc/turnserver.conf):

    nano /etc/turnserver.conf
    
    • Укажите реальные IP адреса в listening-ip и relay-ip
    • Укажите realm (домен вашего сервера)
    • Укажите пути к TLS сертификатам (если используете HTTPS)
  3. Janus (/etc/janus/janus.jcfg):

    • Проверьте пути к плагинам и транспортам
    • Admin secret уже сгенерирован

Запуск сервисов

# Включить автозапуск
sudo systemctl enable signaling janus nats-server coturn

# Запустить сервисы
sudo systemctl start signaling janus nats-server coturn

# Проверить статус
sudo systemctl status signaling janus nats-server coturn

Проверка работы

# Логи signaling
sudo journalctl -u signaling -f

# Логи janus
sudo journalctl -u janus -f

# Логи NATS
sudo journalctl -u nats-server -f

# Логи coTURN
sudo journalctl -u coturn -f

Структура установки

После установки файлы будут находиться:

/usr/bin/
├── signaling          # Signaling server
├── janus              # Janus WebRTC Gateway
└── turnserver         # coTURN TURN server

/usr/sbin/
└── nats-server        # NATS Server

/usr/lib/x86_64-linux-gnu/janus/
├── plugins/           # Janus плагины
├── transports/        # Janus транспорты
├── events/            # Janus event handlers
└── loggers/           # Janus loggers

/etc/f7cloud-spreed-signaling/
├── server.conf         # Конфиг signaling (с секретами!)
└── .secrets.txt       # Сохраненные секреты

/etc/janus/            # Конфиги Janus

/etc/turnserver.conf   # Конфиг coTURN

/etc/nats-server.conf  # Конфиг NATS

/etc/systemd/system/
├── signaling.service
├── janus.service
├── nats-server.service
└── coturn.service

Секреты

Все секреты автоматически генерируются при установке и сохраняются в:

/etc/f7cloud-spreed-signaling/.secrets.txt

ВАЖНО: Сохраните этот файл в безопасном месте! Он понадобится для:

  • Настройки Nextcloud (backend secret)
  • Восстановления конфигурации
  • Синхронизации секретов между серверами

Ручная установка

Если автоматический скрипт не подходит, можно установить вручную:

  1. Скопируйте бинарники из signaling-server/ в соответствующие директории
  2. Скопируйте конфиги из config/ и systemd/
  3. Сгенерируйте секреты вручную:
    # Генерация hex секрета (64 символа)
    openssl rand -hex 32
    
    # Генерация base64 секрета
    openssl rand -base64 16
    
  4. Подставьте секреты в конфиги
  5. Создайте пользователей и настройте права доступа
  6. Установите systemd unit файлы

Обновление

Для обновления:

# Остановите сервисы
sudo systemctl stop signaling janus nats-server coturn

# Обновите бинарники из репозитория
git pull
sudo cp signaling-server/* /usr/bin/  # или соответствующие пути

# Перезапустите сервисы
sudo systemctl start signaling janus nats-server coturn

Удаление

# Остановите и отключите сервисы
sudo systemctl stop signaling janus nats-server coturn
sudo systemctl disable signaling janus nats-server coturn

# Удалите файлы
sudo rm -rf /etc/f7cloud-spreed-signaling
sudo rm -f /usr/bin/signaling /usr/bin/janus /usr/bin/turnserver
sudo rm -f /usr/sbin/nats-server
sudo rm -rf /usr/lib/x86_64-linux-gnu/janus
sudo rm -f /etc/systemd/system/{signaling,janus,nats-server,coturn}.service
sudo systemctl daemon-reload

# Удалите пользователей (опционально)
sudo userdel _signaling nats turnserver

Поддержка

При возникновении проблем проверьте:

  • Логи сервисов: journalctl -u <service-name>
  • Права доступа к файлам
  • Открыты ли необходимые порты
  • Правильность конфигурации