- Создан скрипт deploy.sh для автоматического развертывания на новом сервере - Добавлена автоматическая загрузка Firefox ESR и Geckodriver в install.sh - Добавлена поддержка переменных окружения для секретов - Обновлена документация (DEPLOY.md, README.md) - Скрипт deploy.sh поддерживает интерактивный ввод секретов
174 lines
5.3 KiB
Markdown
174 lines
5.3 KiB
Markdown
# Развертывание F7cloud Talk Recording Server
|
||
|
||
## Быстрое развертывание на новом сервере
|
||
|
||
### Автоматическое развертывание (рекомендуется)
|
||
|
||
Самый простой способ - использовать скрипт автоматического развертывания:
|
||
|
||
```bash
|
||
curl -fsSL https://git.f7cloud.ru/root/F7_recording/raw/branch/main/deploy.sh | bash
|
||
```
|
||
|
||
или
|
||
|
||
```bash
|
||
wget -qO- https://git.f7cloud.ru/root/F7_recording/raw/branch/main/deploy.sh | bash
|
||
```
|
||
|
||
Скрипт выполнит:
|
||
1. Клонирование репозитория
|
||
2. Интерактивный ввод необходимых параметров (HPB URL, секреты)
|
||
3. Автоматическую установку всех зависимостей
|
||
4. Настройку конфигурации
|
||
5. Создание systemd service
|
||
|
||
### Ручное развертывание
|
||
|
||
#### 1. Клонирование репозитория
|
||
|
||
```bash
|
||
cd /opt
|
||
git clone https://git.f7cloud.ru/root/F7_recording.git f7cloud-talk-recording
|
||
cd f7cloud-talk-recording
|
||
```
|
||
|
||
#### 2. Запуск установки с параметрами
|
||
|
||
```bash
|
||
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. Запуск сервиса
|
||
|
||
```bash
|
||
sudo systemctl start f7cloud-talk-recording
|
||
sudo systemctl enable f7cloud-talk-recording
|
||
```
|
||
|
||
## Получение секретов
|
||
|
||
### HPB Secret (internalsecret)
|
||
|
||
Секрет для подключения к HPB находится в конфигурации signaling сервера:
|
||
|
||
```bash
|
||
# На сервере signaling сервера
|
||
cat /etc/nextcloud-spreed-signaling/server.conf | grep internalsecret
|
||
```
|
||
|
||
Или в секции `[clients]` файла `/etc/nextcloud-spreed-signaling/server.conf`:
|
||
|
||
```ini
|
||
[clients]
|
||
internalsecret = your-hpb-secret-here
|
||
```
|
||
|
||
### F7cloud Secret
|
||
|
||
Секрет для подключения к F7cloud настраивается в админ-панели F7cloud:
|
||
|
||
1. Войдите в F7cloud как администратор
|
||
2. Перейдите в **Настройки** → **Talk**
|
||
3. Найдите раздел **Recording backend**
|
||
4. Скопируйте секрет из поля **Secret**
|
||
|
||
## Автоматическая загрузка зависимостей
|
||
|
||
Скрипт `install.sh` автоматически загружает зависимости, если они отсутствуют:
|
||
|
||
- **Firefox ESR** - скачивается с официального сайта Mozilla
|
||
- **Geckodriver** - скачивается с GitHub releases
|
||
|
||
Зависимости определяются автоматически по архитектуре системы (x86_64 или aarch64).
|
||
|
||
## Переменные окружения
|
||
|
||
Вы также можете использовать переменные окружения вместо интерактивного ввода:
|
||
|
||
```bash
|
||
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"
|
||
```
|
||
|
||
## Проверка установки
|
||
|
||
После установки проверьте:
|
||
|
||
```bash
|
||
# Статус сервиса
|
||
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
|
||
```
|
||
|
||
## Обновление
|
||
|
||
Для обновления на существующем сервере:
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
## Устранение неполадок
|
||
|
||
### Проблемы с загрузкой зависимостей
|
||
|
||
Если автоматическая загрузка не работает, установите зависимости вручную:
|
||
|
||
```bash
|
||
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` имеет права:
|
||
|
||
```bash
|
||
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`
|