diff --git a/README.md b/README.md index c3d7045..9927f23 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,17 @@ sudo ./install | `F7CLOUD_TALK_URL` | URL signaling (HPB), например `https://hpb-prod.f7cloud.ru/standalone-signaling` | | `F7CLOUD_TALK_INTERNALSECRET` | internalsecret для доступа к signaling-серверу | +#### Где какой секрет брать + +| Параметр | Где взять | +|----------|-----------| +| **F7CLOUD_NEXTCLOUD_URL** | Публичный URL вашего сервера Nextcloud/F7cloud (тот же, что открывают в браузере), например `https://forbion.f7cloud.ru`. Без слэша в конце. | +| **F7CLOUD_SECRET** | **Общий секрет между Nextcloud и сервером записи.** Задаётся в двух местах и должен совпадать: (1) в конфиге записи — секции `[backend]` и `[nextcloud]`; (2) в админке Nextcloud: **Настройки → Talk → Recording backend** — поле «Secret» (или «Секрет»). Можно сгенерировать: `openssl rand -hex 32`. Используется для проверки запросов от Talk к серверу записи. | +| **F7CLOUD_TALK_URL** | **URL signaling-сервера (HPB).** Тот же URL, что указан в админке Talk для signaling (например `https://hpb-prod.f7cloud.ru/standalone-signaling`). Должен быть доступен с машины, где крутится сервер записи. | +| **F7CLOUD_TALK_INTERNALSECRET** | **Секрет между signaling (HPB) и сервером записи** — это не тот же секрет, что для Nextcloud. Берётся из конфига signaling-сервера: параметр `clients->internalsecret` в файле конфигурации HPB (часто `/etc/nextcloud-spreed-signaling/server.conf` или аналог на вашем стенде). Значение должно быть **одинаковым** в конфиге HPB и в конфиге сервера записи. Если на HPB internalsecret не задан, запросы от сервера записи будут отклоняться. | + +Кратко: **F7CLOUD_SECRET** — в админке Talk (Recording backend) и в нашем конфиге; **F7CLOUD_TALK_INTERNALSECRET** — только в конфиге HPB и в нашем конфиге (в админке Talk его нет). + Пример: ```bash diff --git a/install b/install index 97b3981..ac6a9c9 100755 --- a/install +++ b/install @@ -18,8 +18,39 @@ fi REPO_ROOT="$(cd "$(dirname "$0")" && pwd)" echo "=== 1. Зависимости (только Python 3.12, xvfb, ffmpeg — остальное в репо) ===" -apt-get update -qq -apt-get install -y python3.12 python3.12-venv xvfb ffmpeg + +NEED_PYTHON=0 +NEED_XVFB=0 +NEED_FFMPEG=0 + +if ! command -v python3.12 >/dev/null 2>&1; then + NEED_PYTHON=1 +fi +if ! command -v Xvfb >/dev/null 2>&1 && ! command -v xvfb-run >/dev/null 2>&1; then + NEED_XVFB=1 +fi +if ! command -v ffmpeg >/dev/null 2>&1; then + NEED_FFMPEG=1 +fi + +if [ "$NEED_PYTHON" -eq 0 ] && [ "$NEED_XVFB" -eq 0 ] && [ "$NEED_FFMPEG" -eq 0 ]; then + echo "Python 3.12, Xvfb и ffmpeg уже установлены — шаг apt пропущен." +else + echo "Не все зависимости найдены, будет использован apt-get (может потребоваться исправить репозитории)." + apt-get update -qq + PKGS="" + if [ "$NEED_PYTHON" -eq 1 ]; then + PKGS="$PKGS python3.12 python3.12-venv" + fi + if [ "$NEED_XVFB" -eq 1 ]; then + PKGS="$PKGS xvfb" + fi + if [ "$NEED_FFMPEG" -eq 1 ]; then + PKGS="$PKGS ffmpeg" + fi + # shellcheck disable=SC2086 + apt-get install -y $PKGS +fi echo "" echo "=== 2. Firefox ESR и GeckoDriver (копирование из репо) ==="