- Переименовано Nextcloud на F7cloud - Добавлены зависимости Firefox ESR и Geckodriver - Создан скрипт установки с поддержкой параметров HPB - Добавлена документация и инструкции по установке Co-authored-by: Cursor <cursoragent@cursor.com>
8.7 KiB
Инструкция по установке F7cloud Talk Recording Server
Описание
F7cloud Talk Recording Server - это сервер записи для F7cloud Talk, который позволяет записывать видеозвонки.
Системные требования
- Linux (рекомендуется Debian/Ubuntu)
- Python 3.8 или выше
- Системные зависимости (см. ниже)
Зависимости
Системные пакеты
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install -y \
python3 \
python3-pip \
python3-venv \
pulseaudio \
xvfb \
ffmpeg \
libpulse0 \
libpulse-dev \
libx11-dev \
libxext-dev \
libxrender-dev \
libxtst6 \
libxi6 \
libgconf-2-4 \
libasound2-dev
Firefox ESR и Geckodriver
Firefox ESR и Geckodriver уже включены в репозиторий в папке dependencies/:
dependencies/firefox-esr/- Firefox ESRdependencies/geckodriver- Geckodriver
Эти зависимости будут установлены автоматически скриптом установки.
Установка
Автоматическая установка
Используйте скрипт установки с обязательными параметрами для HPB:
sudo ./install.sh --hpb-url https://hpb.example.com --hpb-secret your-hpb-secret-here
Обязательные параметры:
--hpb-url- URL сервера HPB (signaling server)--hpb-secret- Секрет для подключения к HPB (internalsecret)
Опциональные параметры:
--f7cloud-url- URL сервера F7cloud--f7cloud-secret- Секрет для подключения к F7cloud--listen- Адрес и порт для прослушивания (по умолчанию:127.0.0.1:8000)
Пример полной установки:
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 \
--listen 127.0.0.1:8000
Просмотр справки:
sudo ./install.sh --help
Скрипт выполнит:
- Установку системных зависимостей
- Установку Firefox ESR и Geckodriver
- Создание виртуального окружения Python
- Установку Python-зависимостей
- Создание пользователя для запуска сервера
- Автоматическую настройку конфигурационного файла с указанными параметрами
Ручная установка
1. Установка системных зависимостей
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv pulseaudio xvfb ffmpeg \
libpulse0 libpulse-dev libx11-dev libxext-dev libxrender-dev libxtst6 \
libxi6 libgconf-2-4 libasound2-dev
2. Установка Firefox ESR
sudo cp -r dependencies/firefox-esr /opt/firefox-esr
sudo ln -sf /opt/firefox-esr/firefox /usr/local/bin/firefox-esr
3. Установка Geckodriver
sudo cp dependencies/geckodriver /usr/local/bin/geckodriver
sudo chmod +x /usr/local/bin/geckodriver
4. Создание виртуального окружения Python
cd /opt/f7cloud-talk-recording
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -e .
5. Создание пользователя
sudo useradd -r -s /bin/false -d /var/lib/f7cloud-talk-recording f7cloud-talk-recording
sudo mkdir -p /var/lib/f7cloud-talk-recording
sudo chown f7cloud-talk-recording:f7cloud-talk-recording /var/lib/f7cloud-talk-recording
6. Настройка конфигурации
sudo mkdir -p /etc/f7cloud-talk-recording
sudo cp server.conf.in /etc/f7cloud-talk-recording/server.conf
sudo chown f7cloud-talk-recording:f7cloud-talk-recording /etc/f7cloud-talk-recording/server.conf
sudo chmod 600 /etc/f7cloud-talk-recording/server.conf
Отредактируйте /etc/f7cloud-talk-recording/server.conf согласно вашим настройкам.
Примечание: При использовании скрипта install.sh с параметрами --hpb-url и --hpb-secret, конфигурация будет настроена автоматически. Вам нужно будет только добавить секцию для F7cloud backend, если она не была указана при установке.
Конфигурация
Основной конфигурационный файл находится в /etc/f7cloud-talk-recording/server.conf.
Основные параметры
[http] listen- IP и порт для прослушивания HTTP-запросов (по умолчанию:127.0.0.1:8000)[backend]- настройки бэкенда[signaling]- настройки signaling сервера[recording]- настройки записи (браузер, пути к драйверам)
Пример конфигурации
[http]
listen = 127.0.0.1:8000
[backend]
backends = my-backend
secret = your-shared-secret-here
[my-backend]
url = https://your-f7cloud-instance.com
secret = your-shared-secret-here
[recording]
browser = firefox
driverPath = /usr/local/bin/geckodriver
browserPath = /usr/local/bin/firefox-esr
Запуск
Ручной запуск
source venv/bin/activate
f7cloud-talk-recording --config /etc/f7cloud-talk-recording/server.conf
Запуск как служба systemd
Создайте файл /etc/systemd/system/f7cloud-talk-recording.service:
[Unit]
Description=F7cloud Talk Recording Server
After=network.target
[Service]
Type=simple
User=f7cloud-talk-recording
Group=f7cloud-talk-recording
WorkingDirectory=/opt/f7cloud-talk-recording
Environment="PATH=/opt/f7cloud-talk-recording/venv/bin:/usr/local/bin:/usr/bin:/bin"
ExecStart=/opt/f7cloud-talk-recording/venv/bin/f7cloud-talk-recording --config /etc/f7cloud-talk-recording/server.conf
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Затем:
sudo systemctl daemon-reload
sudo systemctl enable f7cloud-talk-recording
sudo systemctl start f7cloud-talk-recording
Проверка работы
Проверьте статус службы:
sudo systemctl status f7cloud-talk-recording
Проверьте логи:
sudo journalctl -u f7cloud-talk-recording -f
Структура проекта
f7cloud-talk-recording/
├── src/
│ └── f7cloud/
│ └── talk/
│ └── recording/
│ ├── __init__.py
│ ├── __main__.py
│ ├── Server.py
│ ├── Service.py
│ ├── Config.py
│ ├── Participant.py
│ ├── BackendNotifier.py
│ ├── RecorderArgumentsBuilder.py
│ └── Benchmark.py
├── dependencies/
│ ├── firefox-esr/ # Firefox ESR
│ └── geckodriver # Geckodriver
├── tests/ # Тесты
├── server.conf.in # Шаблон конфигурации
├── pyproject.toml # Конфигурация Python проекта
├── install.sh # Скрипт установки
├── INSTALL.md # Данная инструкция
└── README.md # Основная документация
Устранение неполадок
Проблемы с PulseAudio
Если возникают проблемы с PulseAudio:
pulseaudio --start --exit-idle-time=120
Проблемы с правами доступа
Убедитесь, что пользователь f7cloud-talk-recording имеет права на:
/var/lib/f7cloud-talk-recording- для временных файлов записи/etc/f7cloud-talk-recording/server.conf- для чтения конфигурации
Проблемы с Firefox/Geckodriver
Проверьте пути в конфигурации:
which firefox-esr
which geckodriver
Убедитесь, что пути указаны правильно в server.conf.
Дополнительная информация
Для получения дополнительной информации см. README.md.