- Создан скрипт deploy.sh для автоматического развертывания на новом сервере - Добавлена автоматическая загрузка Firefox ESR и Geckodriver в install.sh - Добавлена поддержка переменных окружения для секретов - Обновлена документация (DEPLOY.md, README.md) - Скрипт deploy.sh поддерживает интерактивный ввод секретов
5.3 KiB
5.3 KiB
Развертывание F7cloud Talk Recording Server
Быстрое развертывание на новом сервере
Автоматическое развертывание (рекомендуется)
Самый простой способ - использовать скрипт автоматического развертывания:
curl -fsSL https://git.f7cloud.ru/root/F7_recording/raw/branch/main/deploy.sh | bash
или
wget -qO- https://git.f7cloud.ru/root/F7_recording/raw/branch/main/deploy.sh | bash
Скрипт выполнит:
- Клонирование репозитория
- Интерактивный ввод необходимых параметров (HPB URL, секреты)
- Автоматическую установку всех зависимостей
- Настройку конфигурации
- Создание systemd service
Ручное развертывание
1. Клонирование репозитория
cd /opt
git clone https://git.f7cloud.ru/root/F7_recording.git f7cloud-talk-recording
cd f7cloud-talk-recording
2. Запуск установки с параметрами
sudo ./install.sh \
--hpb-url https://hpb.example.com \
--hpb-secret your-hpb-secret-here \
--f7cloud-url https://f7cloud.example.com \
--f7cloud-secret your-f7cloud-secret-here
3. Запуск сервиса
sudo systemctl start f7cloud-talk-recording
sudo systemctl enable f7cloud-talk-recording
Получение секретов
HPB Secret (internalsecret)
Секрет для подключения к HPB находится в конфигурации signaling сервера:
# На сервере signaling сервера
cat /etc/nextcloud-spreed-signaling/server.conf | grep internalsecret
Или в секции [clients] файла /etc/nextcloud-spreed-signaling/server.conf:
[clients]
internalsecret = your-hpb-secret-here
F7cloud Secret
Секрет для подключения к F7cloud настраивается в админ-панели F7cloud:
- Войдите в F7cloud как администратор
- Перейдите в Настройки → Talk
- Найдите раздел Recording backend
- Скопируйте секрет из поля Secret
Автоматическая загрузка зависимостей
Скрипт install.sh автоматически загружает зависимости, если они отсутствуют:
- Firefox ESR - скачивается с официального сайта Mozilla
- Geckodriver - скачивается с GitHub releases
Зависимости определяются автоматически по архитектуре системы (x86_64 или aarch64).
Переменные окружения
Вы также можете использовать переменные окружения вместо интерактивного ввода:
export HPB_URL="https://hpb.example.com"
export HPB_SECRET="your-hpb-secret"
export F7CLOUD_URL="https://f7cloud.example.com"
export F7CLOUD_SECRET="your-f7cloud-secret"
sudo ./install.sh \
--hpb-url "$HPB_URL" \
--hpb-secret "$HPB_SECRET" \
--f7cloud-url "$F7CLOUD_URL" \
--f7cloud-secret "$F7CLOUD_SECRET"
Проверка установки
После установки проверьте:
# Статус сервиса
sudo systemctl status f7cloud-talk-recording
# Логи
sudo journalctl -u f7cloud-talk-recording -f
# Проверка конфигурации
sudo cat /etc/f7cloud-talk-recording/server.conf
# Проверка Firefox
/usr/local/bin/firefox-esr --version
# Проверка Geckodriver
/usr/local/bin/geckodriver --version
Обновление
Для обновления на существующем сервере:
cd /opt/f7cloud-talk-recording
sudo systemctl stop f7cloud-talk-recording
git pull
source venv/bin/activate
pip install -e .
sudo systemctl start f7cloud-talk-recording
Устранение неполадок
Проблемы с загрузкой зависимостей
Если автоматическая загрузка не работает, установите зависимости вручную:
cd /opt/f7cloud-talk-recording/dependencies
# Firefox ESR
wget https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=linux64&lang=en-US -O firefox-esr.tar.bz2
tar -xjf firefox-esr.tar.bz2
mv firefox firefox-esr
# Geckodriver
wget https://github.com/mozilla/geckodriver/releases/latest/download/geckodriver-v0.34.0-linux64.tar.gz
tar -xzf geckodriver-v0.34.0-linux64.tar.gz
chmod +x geckodriver
Проблемы с правами доступа
Убедитесь, что пользователь f7cloud-talk-recording имеет права:
sudo chown -R f7cloud-talk-recording:f7cloud-talk-recording /var/lib/f7cloud-talk-recording
sudo chmod 600 /etc/f7cloud-talk-recording/server.conf
Дополнительная информация
- Подробная инструкция по установке:
INSTALL.md - Примеры использования:
INSTALL_EXAMPLE.md - Структура проекта:
PROJECT_STRUCTURE.md